Sign in to follow this  
wavering

Best way to source and organise a massive Objects interaction

Recommended Posts

wavering    104

[Note: the Certificate for this site ie http://www.gamedev.net ran out yesterday - somebody might care to fix that!]

 

I am an experienced programmer using vb.net, c++, asm, asp etc but have never written a game, hence this entry in the beginners section. Actually, it is an AI application but in many ways resembles a game (not surprising if you think about it)

 

This represents the next stage of what is already a huge operational program (by my standards - 50,000 lines of code written by me)

 

This is what I want to do - my budget, if necessary, runs into hundreds of thousands of US dollars

 

1. Download all the ready made objects which are out there - maybe 10,000?

2. Download all the ready made environments (if there is such a thing)

3. Enable my users to create new objects and environments

4. Enable my users to manipulate these objects in these environments and allow them to interact

 

I need general advice on how to tackle this using vb.net

 

So:

A. The best source of objects and environments

B. The best language to use with vb.net to manipulate objects in 3D and enable them to interact

C. Any other comments eg database, whatever

 

Many thanks ....

 

 

 

Share this post


Link to post
Share on other sites
Brian Sandberg    1839

You should probably make your questions more specific, and add some more context, for anyone to be able to give you useful answers.  There's plenty of helpful and knowledgeable people around, but you have to make it easier to help you.

 

You talk about an AI application, but I get the feeling when you then talk about ready made "objects", and "environments", you mean 3D models?  Do you want to mass-download every freely available 3D model on the internet? That doesn't really have anything to do with gaming, but is a straightforward/boring exercise in googling sites, tailoring webcrawlers, and possibly coding importers or doing shellouts to convert them into the same format.

 

Enable your users to create new objects and environments? If you're talking 3D, that means creating some sort of generic 3D modeller to let them create objects, and a generic map editor to let the users place them?  That's easily going to run you past a mere 50K LOC, if you want to write it yourself.

 

Let the users manipulate these objects?  How?  Interact?  How and what?  Let the objects interact?  The users?  Are we talking about a multiplayer map editor?  A physics sim?  A /what/ simulator?

 

What do you mean "the best language to use with vb.net"?   There aren't any standard domain specific languages for manipulating 3d objects.  Do you mean framework?  Engine?

Share this post


Link to post
Share on other sites
TheChubu    9454


A. The best source of objects and environments
B. The best language to use with vb.net to manipulate objects in 3D and enable them to interact
I have no clue what you mean. At all.

 

"source of objects and enviroments" ? What? What do you mean by "objects" ? What do you mean by "enviroments" ? What do you mean by "source" ?

 

"enable them to interact" ? You need to specify exactly what kind of "interaction" are we talking here, what kind of "manipulation" you want.

Share this post


Link to post
Share on other sites
RLS0812    3043

Are you referring to a store were you can buy premade game resources ?

 

 The way you worded this post, makes no sense to me.

 The title led me to believe this post was about programming objects ...

Share this post


Link to post
Share on other sites
wavering    104

Firstly, my apologies for not making this clearer

 

You talk about an AI application, but I get the feeling when you then talk about ready made "objects", and "environments", you mean 3D models?  Do you want to mass-download every freely available 3D model on the internet?

Yes, that is exactly what I mean. So, is there a source that most people use or is it just like shopping in the real world -- wander around and buy what you fancy?
 

That doesn't really have anything to do with gaming, but is a straightforward/boring exercise in googling sites, tailoring webcrawlers, and possibly coding importers or doing shellouts to convert them into the same format.

I assumed that in many Games this is what the designer would do ie download ready made objects for the players to interact with. So, in a street scene with cars I assumed you would download some ready made 3D cars

 

So, is there a preferred format to work with?

 

Enable your users to create new objects and environments? If you're talking 3D, that means creating some sort of generic 3D modeller to let them create objects, and a generic map editor to let the users place them?  That's easily going to run you past a mere 50K LOC, if you want to write it yourself.

Yes, this is potentially a huge project and there will be a team of people working on it. Do you know of standard software that does some or most of such a job? There are muliplayer games out there that do this eg Second Life so do they write from scratch or use standard products as a base?

 

Let the users manipulate these objects?  How?  Interact?  How and what?  Let the objects interact?  The users?  Are we talking about a multiplayer map editor?  A physics sim?  A /what/ simulator?

1. The user chooses an environment (ready made or one which he can build to his spec) eg the plains of Africa or a street in New York or his kitchen or anything he can conceive of

2. Places objects in it eg lions, cars or kitchen stuff or boojums

3. Each object has Methods (ready made or deduced by the Genetic Programming algorithm in the program) which allows it to interact with the other objects

4. The user can then either just let it run to observe what happens (Simulator mode). Or it can solve problems eg "How can the man escape the Lion?"

 

This is what MOPEKS (my app) already does so this is not vapour-ware. It can solve simple problems in a generalised way (any objects in any environment). See gif below which shows our hero using the gravitational slingshot effect to reach his target - unfortunately, the original animated gif has been reduced to a single image here

 

I now need to take it to the next level where the objects instead of just being 2D circles as they are at the moment are 3D Objects with realistic look

 

There aren't any standard domain specific languages for manipulating 3d objects.

Thanks - that is what I needed to know

.

Share this post


Link to post
Share on other sites
jbadams    25713

Unfortunately for you there isn't any single standardised format preferred by the industry, although some formats are more common than others.  Many games convert assets into some final custom format that is optimized for their specific uses for release, but there are more common formats used prior to this -- I'd say the most common recently is probably FBX, but you'll also see COLLADA as well as the formats specific to popular modelling tools.  I'm about to suggest some popular sources of assets, so you might take a look through some of the assets available from them to see the formats they make available.

 

Likewise there is no single preferred source of assets.  Many games have their assets created especially for the project, whilst others are purchased as stock from sites such as the Unity asset store, Turbosquid, GameDev Market, our own marketplace here at GDNet, and many others, as well as numerous smaller sites run by individual vendors -- at any one time you'll often find at least a couple of these advertising their latest releases in our announcements forum; at the time of writing I see adverts from "3dFoin", "DEXSOFT-Games", and an individual linking to his page on the above mentioned Turbosquid.  There are also some free sources such as OpenGameArt.org.  As you can see, it's more like your "shopping in the real world" example -- there are many sources to be checked to try to find suitable assets, although just like shopping many people will have favourite stores.

 

 

Second Life allows users to create their own content, so it's not really the same thing as you're describing -- a lot of the content is created "from scratch" by users, or might be modified to suit purpose from existing stock models.

 

 

Hope that's helpful... :)

Share this post


Link to post
Share on other sites
TheChubu    9454
Yes, this is potentially a huge project and there will be a team of people working on it. Do you know of standard software that does some or most of such a job? There are muliplayer games out there that do this eg Second Life so do they write from scratch or use standard products as a base?

You'll have to go with a commercial engine probably, like Unity or Unreal Engine 4. You won't be able to use visual basic with them as far as I know though.

 

Otherwise it will go well beyond 50k lines. Take an example, Quake 3 Arena, pretty old game, released in 1999. Basic physics, no interaction with the environment, very few players per map, all there is for the player is to jump and shoot, its around 300k lines of C. Minecraft is a bit over 300k lines of Java (although unlike ID's stuff, it isn't a landmark of good videogame code). Big commercial modern engines like UE4 or Unity go beyond 1 million lines of code mark.

 

3. Each object has Methods (ready made or deduced by the Genetic Programming algorithm in the program) which allows it to interact with the other objects
4. The user can then either just let it run to observe what happens (Simulator mode). Or it can solve problems eg "How can the man escape the Lion?"

Yes but you need to pin point exactly what kind of interactions are we dealing here because you'll have to code each of them. Man escaping the lion requires a man to be animated, a lion to be animated, a man AI, a lion AI, etc.

 

If the action is "push an object" that's easier if you have a physics engine, if the action is "pick up an object" it could be as hard as having to animate the player picking up the object, rigging the object to the player, or just making the object disappear and list it on a player inventory.

 

And that's like that if you already have an animation system, physics engine, rendering engine, AI system, inventory management, textures, models, animations, loaders for all of them, and a big ass et cetera. Otherwise you'll have to code it all.

 

I assumed that in many Games this is what the designer would do ie download ready made objects for the players to interact with.
Stock objects downloaded and used as-is are pretty much frowned upon (much like direct unmodified sampling in songs). Designing the look of a game takes time, and maintaining that style pretty much demands assets to be made specifically for each project, or at least tweaking of existing assets so they don't look off. All of this doesn't just requires effort but also having people in the team with good art skills. Edited by TheChubu

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this