Sign in to follow this  
readercolin

Game engine vs. coding

Recommended Posts

readercolin    122
To give you a little bit of background, I have taken coding courses in Java and C++, but its been a few years. Recently, I had an idea that I wanted to turn into a game, but I have never designed a game before, so I started to do some research. So far I have come to this: A game engine is kind of like the operating system that the game runs off of. Game engines have tools which you can use to design things within the games. This leaves me confused. Does a game need a game engine? Can you build a game solely within the game engine, never needing to write any actual code? -Colin Edit: ... it appears that my forum fu is very low...

Share this post


Link to post
Share on other sites
beebs1    398
A game engine is a collection of reusable software components (and possibly tools), which aid in developing a game. For example, an engine might provide a rendering component, which simplifies all the drawing-related tasks for the game programmer and speeds up development. Usually an engine is designed so as to be reused in several games.

You can write an engine yourself, but if you want to spend your time on the actual game instead, there are several free engines you can use. I'm not sure what type of game you want to build, but here are several rendering libraries you might find useful:

Crystal Space 3D
Ogre
Irrlicht

Lots more here.

As I mentioned above, some engines also provide a set of tools for creating levels, file conversion, audio sequencing, scripting, etc.

Hope that's helpful.

Share this post


Link to post
Share on other sites
Captain P    1092
Quote:
Original post by readercolin
A game engine is kind of like the operating system that the game runs off of.

Game engines have tools which you can use to design things within the games.

Not really, no. Let me explain. Many games use similar functionality: things like playing sounds, rendering 2D or 3D things, handling user input, collision detection, and so on. Now, if you want to write multiple games, you're going to be smart and not rewrite things you've already written before, right?

That's more or less the idea behind game engines: they take care of various pieces of functionality. Some game engines do more than others, some are easier to use than others, some are better suited to your exact needs than others, and so on. For many people, it's a time-saver to use an existing engine, as it frees them from having to write those things from scratch. On the other hand, sometimes a game has very specific demands, so an off-the-shelf engine may not cut it (but still, it's often possible to use libraries so you don't have to write everything yourself, just the specific parts).


So no, games don't need engines. Games need certain functionality, and often engines can provide therein. And no, using an engine does not mean you don't have to write any code anymore. It just means you don't have to write certain functionality anymore. For example, I'm using Ogre 3D for my rendering, and SDL for the input and window creation, but the actual game-code needs to be done by me.

Share this post


Link to post
Share on other sites
godsenddeath    182
there are a couple of "codeless" engines, but in that situation, you are at the complete mercy of what the engine wants you to do.

your analogy of an operating system for games is close, a game engine provides facilities that you would otherwise have to code yourself at a lower level, like an OS. Think of it as a cross between an OS, and a Standard Library, it offers services, and a framework in which to use them, and connect these services.
ex. It gives you a concept of an object, and then the ability to apply physics, and other effects to this object, even though you define the object, you'd do it within the engine's constructs.

A game needs an engine like a Programming language needs a standard lib, you can do everything without it, but having a unified code base to work with maes things easier and more organized, as well as giving you code that you would have to do alot of reading to understand

Share this post


Link to post
Share on other sites
beebs1    398
Quote:
Original post by godsenddeath
there are a couple of "codeless" engines, but in that situation, you are at the complete mercy of what the engine wants you to do.


Isn't the Unreal Engine 3 somewhat like this? As far as I can tell, you can build games in UnrealEd using a visual system called Kismet. From the website:

Gives artists and level designers virtually limitless control over how a level will play without touching a single line of code.

Pity about the price... ;)

Share this post


Link to post
Share on other sites
readercolin    122
ok, I think I'm starting to understand now.

To give an idea for what I want to do, I want to create a little space simulator. The basic idea that I wanted to start trying to code would be a spacecraft (to start, most likely a box) that floated in space, could move, and could shoot other spacecraft (floating boxes) in a 3d enviornment.

I do not want to try to write an engine. I don't know nearly enough, and there seems to be little point to doing so for a single game. I'm just looking for an easier way to create this little game than brushing up on all my coding and trying to create everything from scratch. Not only do I not have the time, but I also doubt that I would have the patience. And it feels all to much like trying to re-invent the wheel...

-Colin

Share this post


Link to post
Share on other sites
godsenddeath    182
using an engine from the beginning lets you focus on learning to program game play, and that sort of thing, whereas learning using a graphics library like openGL or directX starts you off a lot smaller, building a square, then a box, then learning how to move/light the box, move the camera, load and render models, basiclly the foundations of graphics programming. I went with the 2nd option, more difficult, less immeidiate gratification, but I enjoy it.


if you want to learn to work with an engine, pick one(i now nothing about what game engines are used by most) and look online for sites that provide tutorials and such.


if you start from scratch, pick a graphics library(i'd suggest starting 2D, with SDL) and read tutorials and books.


either way it's not gonna be easy, but as you can tell from the size of this community, it can be well worth it

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