Steps to Creating a Game

Started by
13 comments, last by Game_Coder2009 14 years ago
The whole point of using an engine is that it provides pre written code that eliminates a lot of the headache of programming. The short answer is that a 3d artist models, textures,rigs, and animates a model in a 3d application like blender, 3ds max, or maya, and then that model is exported from a 3d application, and brought into a game engine, where it can be used.



The programmer takes those 3d animations, which are stored in a 3d model as frames, and uses code, to animate them in game. Every 3D engine should have a function for loading a model and animating it.

A majority of the motions you see in games are great animations. Any 3d engine should have functions for animating a model.

The model is translated in the world via input from the player and the combination of animation along with changing a model's position that results in most of what you see in video games.

For you I recommend starting out with dark basic. Simply because it's very simple. You can get up and running. If you want it simpler than that, go with FPSCreator, it's made by the same company. There's plenty of free ones out there though.

One of the best free engines is Neoaxis engine or the lite-c engine. Both have free versions. I also recommend unity. As a matter of fact, they have a tutorial on creating an entire game called, "Lerpz Escapes" you definitely should download that.

Advertisement
Quote:Original post by Game_Coder2009
The whole point of using an engine is that it provides pre written code that eliminates a lot of the headache of programming. The short answer is that a 3d artist models, textures,rigs, and animates a model in a 3d application like blender, 3ds max, or maya, and then that model is exported from a 3d application, and brought into a game engine, where it can be used.



The programmer takes those 3d animations, which are stored in a 3d model as frames, and uses code, to animate them in game. Every 3D engine should have a function for loading a model and animating it.

A majority of the motions you see in games are great animations. Any 3d engine should have functions for animating a model.

The model is translated in the world via input from the player and the combination of animation along with changing a model's position that results in most of what you see in video games.

For you I recommend starting out with dark basic. Simply because it's very simple. You can get up and running. If you want it simpler than that, go with FPSCreator, it's made by the same company. There's plenty of free ones out there though.

One of the best free engines is Neoaxis engine or the lite-c engine. Both have free versions. I also recommend unity. As a matter of fact, they have a tutorial on creating an entire game called, "Lerpz Escapes" you definitely should download that.


An example of a game engine would then be graphic libraries like SDL, OpenGL, etc? Or am i totally off?

You suggested dark basic and I was thinking about learning SDL instead but which would you guys recommend?

After I learned dark basic or SDL, OpenGL, or whatever would I then be equipped with all the knowledge of starting a game? Or am I still missing some things?
Quote:Original post by xx6heartless6xx
An example of a game engine would then be graphic libraries like SDL, OpenGL, etc? Or am i totally off?


Clicky
OpenGL isn't a game engine, it gives programmers access to graphics hardware. Most(all?) graphics hardware supports OpenGL as an interface. OpenAL has a similar role for audio hardware.

You could use OpenGL to program a graphics engine, which would be a piece of your overall engine.

But to even use OpenGL, you need to create a Window (fullscreen or otherwise) with an OpenGL context. This can be difficult and varies depending on the OS, so it's best to use a library.

GLFW can create a window with this OpenGL context for you. It also provides cross-platform access to input hardware (which you'll need). [Note: joystick apparently doesn't work on OS X]

SFML and SDL are libraries that provide you with even more, such as sound and a general 2d graphics engine.

Okay, so how do we structure a game/engine?
There are many ways. Designing these structures can be a fun, creative aspect of programming.

I'd start small: make a simple little 2d thing. Your goal is to have something playable (not fancy or polished) in 2 weeks. Your code will be a sloppy, scary, ad hoc mess, and you'll be weeks late. But afterwards you'll have an idea of all the little needs that a program's structure must fulfill.

Dive in. Where? Hmm, pick a library above that will give you a Window. Start there. Make your Window. Get a program to compile with a Window. It's like a painter getting a canvas: good place to start.

Opengl is not a game engine, it's a graphics library. It's a set of functions written in c that communicate with your video card to display images onto the screen. It's one step below a game engine. A game engine would take opengl functions and do things like, loading models and performing scene management.

SDL is primarily a 2d game library. It has a bunch of functions for 2d. It has the ability to hook up to opengl or directx. The biggest difference between opengl and directx, is that opengl is cross platform, but then you still have the headache of learning a lot of stuff. It depends on how specialized you want to get. The flow goes like this.

Graphics api -> Game library -> Game engine.

A game library is one step above a graphics api because it has functions specific to games. Examples of this would be clan3d, sdl, and xna. They aren't really game engines, but you could take the functions out of them, provided you had the know how, and create a game engine. One of the biggest advantage of a game engine is scene management or scene graph,

Right now you're at the "I just want to put something on the screen" stage. Start with a game engine. There is bigger fish to fry than just getting something onto the screen. Implementing game logic is even more important. Dark basic is really simple. You just type lines of code and a majority of the work is done for you. If you like using c++ I would go with Irrlicht, simply because it's the easiest engine to use right away. Compiling and setting up ogre and crystalspace was a pain in the butt.

A game engine is something like, crystalspace, irrlicht, unity3d, and udk. The least complex option right now for you is unity3d. The downside to using an engine is that you have to learn to use somebody else's code. You have to learn an engine.

Basically, unity3d has taken game development a step further, because it allows you to import 3d assets, arrange them, and then write code to manipulate them in real time.

This topic is closed to new replies.

Advertisement