I am planning to design an application which will provide a video of a car on a track (just like a demo of a game like RACE Pro), and depict its characteristics.
For example, if the user selects a poor handling car, then a graphical demo will be shown of that car completing a lap around a modelled track with the car's behaviour in relation to its characteristics (e.g. prone to skidding, understeer).
I know this is a fairly complex task, and I don't intend to code this straight away. What issues/topics does this requirement fall under? I have seen plenty of books on physics in programming and game engine/3d modelling and rendering engines. Are these relevant to this?
This is certainly a significant undertaking, but as a starting point you could take a look at the Racer project. It's a very detailed car racing simulation, highly customisable for different vehicle setups, and has publicly available source code for its engine (see the downloads page).
Physics and game programming books are absolutely relevant to this. Fortunately there are some great free and Open Source projects out there which could be a great help to you with this project. I've listed some below.
Physics:
Open Dynamics Engine
Tokamak
Bullet
3D graphics:
Ogre
Crystal Space
Crystal Entity Layer (CEL), which provides a game engine interface for Crystal Space.
You can tie any of the above together in whatever combination suits you.
You could also use Blender's built-in game engine, which includes the Bullet physics engine. I would recommend this as a starting point since it will give you a fully integrated interactive 3D simulation creation kit. The game engine is scriptable with Python (you can do all your script editing in Blender with its internal text editor).
In addition to the Racer project you could take a look at TORCS - The Open Racing Car Simulator, which is also Open Source as the name suggests.
Related
I am working on a technical engineering solution of connecting systems to other systems throughout a building environment. I am attempting to create a diagram that visually shows an input energy and then flow it through a series of systems, each of which will use a portion of that energy for operation. The diagram will update with different operations based on amount of energy, time of day, location, and desired output (heating or cooling).
The problem I have is that I need an extremely visual way of laying this out in a dynamic way. This all sounds super technical but to simplify, I'm basically creating a systems operation diagram (OR workflow diagram) that needs some serious power and visualization. I hope to make this a powerful tool in which, environmental data will automatically alter the diagram's configuration.
I am comfortable with learning a programming language if necessary but I'm just not sure which will be the best. I would like to start simple with one configuration and keep implementing new parameters. I was looking at Python, JavaScript, C++, C#, and VisualBasic. I almost imagine this like a game design for aesthetics but I'm not sure.
Below is a static example of the systems diagrams created for one specific case. This example is only the diagram and lacks any interactivity. Basically I would like to make a dynamic and interactive diagram that can take inputs and alter itself. But for starters, change visually with specific button presses.
Original
I have the latest Kinect SDK, XNA 4.0, and a model with a skeleton and I'm looking into working with the kinect to create some simple games. I heard that various engines, such as the DigitalRune engine provide an easy way to map the skeleton generated from the Kinect sensor to the skeleton of the model.
Which engine is the best for this task and why? I'd prefer if you could list both the best free engine and the one you have to pay for, as well as any additional suggestion, should you have them.
I really need help with this. While I did manage to find about five engines that might suit my needs (Ploobs, Engine Nine, DigitalRune, Hilva, Xen, XNA Final Engine) I have no way of telling which is better than the other, as there is very little activity in the related forums and I really don't have the time (or, more importantly, the knowledge) to test all these engines.
I think XNA is better, because it gives more transparency when it comes to game programming, there is no doubt it is the most used for game programming and as a plus point you will have tons of tutorials. xna framework will be best even you can have e-books too.
I'm starting game development, but I really want to avoid hacking together a step-by-step game. I'm thinking, what's a good system for handling all that goes on?
For example, I thought of making a menu class, that contains an array of objects for buttons in the menu, and then every game loop call update() on the menu, which in turn calls update() on all the buttons, passing user input and such along the way. Is this a good way to do it?
I'm trying to find structural techniques past the game loop, any advice would be appreciated. Thanks!
(BTW I'm using c++)
This question is not that trivial, but let me try to give you a really simple answer. You need at minimum a core architecture where you can register several engines. Take a deep look into state machines and several software patterns. There have been really greate game dev books like the Game Programming Gems. Start reading an older book from André LaMothe. Read source code ie. from Half Life 2 that could be downloaded at some places.
It sure depends on the environment, C++ is best and could be the fastest way to write games but would you like to use DirectX or OpenGL, do you need Audio and advanced input? Do you want to start with the older WinApi? Nevertheless it always starts in a single point, the main loop. There your state machine should be initialized and all resource managers need to be set up. For graphical objects you need to think about a low level init, update, draw, release and destroy cycle. UI is built up on Graphics, Input and other parts. Don't start writing your own UI or you need to spend the next 2 years with it. You need a relational game model that describes the world you want to create.
To be honest, read a lot about patterns (like mvc), state machines, gpu pipelines and framework design. Read a lot of code from very talented people that open sourced it for us:)
By the way, what is a step by step game?
I'm looking for a 3D modeling/animation software. Honestly, I don't know if this is something achievable - but what I want to have is some kind of visual representation of various ideas.
Speaking in future tense: if I were to read about of the boot process of an OS, I would visualize the various data structures building up; and I can step through the process with a sliding bar or so. If I were to think about a complex data structure, I would have a 3D representation of various links and relations between them. Another would be a Git repository at work - how commits/trees/blobs are linked in space, and how they progress as time passes. And all of these would be interactive.
The reason why I want to do this is that it'd be very easy to explain the process. Not just to others, but also to self. I can revisit my model, and it'd be a quick brush up.
I'm sure there are no ready-to-use softwares for this. What I could think of are Flash, with action scripting, or Blender 3D (Python scripting?); or Synfig. Whatever it's, I've to learn up start; and I'm looking for suggestions as to which (even if not in my list) is the right one to choose.
Thanks
I've used Blender, but it requires a large upfront investment of time, especially to learn the UI. Blender is all about the hotkeys. Once you have them memorized, it's great. But getting there takes a while.
Alice might be worth a look. It looks easy to use and supports scripting.
There are many tools available for 3D modeling. I'm a fan of 3D Studio max. But there is Blender, Maya, and truespace.
You may want to take a look at the field of visualization to help with illustrating your message.
I suspect that packages such as 3D Studio Max and Blender are too powerful, in the sense that your relatively simple requirements will force you on too long a learning path. Try Googling for Data Structure Animations to get an idea of what others have used. Also, head over to Information Aesthetics, they recently featured a tool for visualising commits and checkouts to/from repositories and similar.
My favourite is nearly the Lego Designer, very good for 3D block animations, but so far I haven't figured out how to add text to the blocks.
Along with all buzz talks about the wonderful Bumptop desktop environment, Im getting this question now. What is the relation with Physics and Bumptop techniques. Basically, I am interested in learning the techniques/algorithms followed in this desktop environment. For example,
Collision Detection -- is used when one icon is about to collide on other one.
Any other known techniques?
It probably uses a quite common rigid body dynamics simulator as used in (simple/older) computer games. If you want to play with one yourself, have a look at Open Dynamics Engine.
I'd say that it uses mechanics (the branch of physics that describes motion) to determine/calculate the outcome of object interaction.
I remember seeing a very early demo of this months ago - it looks very impressive!
Well, it looks as though it's using friction and velocity as well. The friction slows the animations down - if it didn't then things would just fly out of the way. Velocity is used to have things move at speed in certain directions.
More info here
BumpTop
Extensive use of physics effects like
bumping and tossing is applied to
documents when they interact, for a
more realistic experience.