How to make a Game Engine For Super Beginners?

Started by
26 comments, last by Buster2000 10 years ago

To be honest if you are a beginner and you want to create a game without using a third party engine then the steps to writing your engine is this.

  1. Dont't write an engine. Just start writing your game and finish it.
  2. Now you want to write another game.
  3. Hmm I can reuse bits of my previous game to write my new game
  4. GOTO 1.

Follow these steps a few times and you will soon discover that you have a library of code that you know perfectly and can adapt to suit your needs and your coding style. This is your engine.

There is the alternative way which is to try writing perfect systems upfront but you will never finish because you will read an article that differs with the way your engine works and then keep restarting and could spend the next 20 years trying to write the perfect engine. Don't forget ALL successful games engines from simple ones like cocs2d to Crytek are permenantly under development.

Hmm I see what you're trying to say. Thanks!

Advertisement

Can someone explain to me what all the fuss about 'engine' is, and why there is so much magic and mysticism around it? In my world, an engine is what you naturally create while you are making a game, not necessarily a ready made 'system' made by some other company/person.

Not an uncommon game loop (details may of course vary):


    while (!quit)
    {
        //Manage inputs from the user (joystick, keyboard, mouse, etc...)
        //Do some calculations
        //Draw your scene/graphics based on the previous steps
    }

To me, this is an engine. It arises naturally from the process of creating a game. Yes, it looks simplistic, but might not necessarily be. Please explain if I am wrong?

While OpenGL or Direct3D might be hard to learn initially, it is an important process in learning to make games, and if you can make one textured quad output to the screen, it is not hard to expand to that so you can make your own class to plot a lot of tiles to the screen either. If you want to postpone on that, you can of course use one ready made APIs to render 2D graphics, or if you are more adventurous, try to make some simple 3D graphics. How about running around in a maze? That would be a nice challenge if you are going for 3D. My point is that you have to start somewhere, and it is just to dive into it. Make something really bad, and refactor and make better as you go. Start with something that is so easy that you think you can manage to do it. (I wouldn't really recommend 3D, if you are an absolute beginner, though.)

Sorry if I am way off with my thoughts.

EDIT: I also disagree that you need to be an expert to make an engine. When you are learning, you are allowed to fail. Actually, failure is what you will learn from. Your first 'engine' need not be perfect in any way - just work. Knowledge is what you gain by doing.

That is just a while loop with some comments in it. An engine is what you create to make everything work together. You could make an engine and not have a game but having an engine will simplify making a game. Hence we advice you to rather choose a existing engine (like Unity or UDK) or library (Like XNA or SFML). With all these tools out there you do not need to know the inner workings of OpenGL or DirectX, you do not need to know how to ask a graphics card to draw a quad. There will be ready made classes for you. To draw a quad in Unity you just drag one into the scene with the mouse and voila. With XNA you just have to setup the indices/vertices and throw it in your draw class. So why botter creating the inner workings, unless of course you are really interested in that part and do not want to make games.

Most bakers do not know how to grind wheat into flower but they can make amazing things with flour.

Make Games,

Not Engines.

HyperV

Take a look at what i developed here http://www.gamedev.net/topic/655205-celestial-game-engine-fastsimplemany-powerful-tools/

If you would like to ask me specific questions related to engine development, PM me and i will get you my skype address.


Most bakers do not know how to grind wheat into flower but they can make amazing things with flour.

Great point. The analogy of cooking always helps me to place ideas. Most people buy packs of bread from the store when they need bread. Some people make it from scratch when making specialized breads, but if you don't need a special bread that can only be had by making it from scratch, there is no need to.

I think I personally get overwhelmed by the idea of making an engine because I don't know all of the key ingredients needed to do so. And I really haven't looked into making an engine, because I have an engine that can get me started in making the game I want to make, and I don't need any specialization.

But I understand when he says that you naturally make an engine when making a game, or at least you are perhaps using some skills that it takes to make an engine.

You stir when making a recipe, and you can use that skill to stir when making bread. So stirring is a useful skill in both ventures. (I made bread from scratch once, it sucked, but I will make it better next time, and the experience let me know that I can do it.)

They call me the Tutorial Doctor.

This is what beginners need to understand:

The more complex the game, then the more complex the game engine which exists as the layer between game source code and assembly/machine language. Often the game engine layer becomes exponentially more complex to meet the demands of the game coding above it.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

The rendering engine for GTA3 was licensed, the Renderware engine, apparently written by two Cambridge Biology students to study the interactions between molecules, though it was possibly modified by Rockstar.


The rendering engine for GTA3 was licensed, the Renderware engine, apparently written by two Cambridge Biology students to study the interactions between molecules, though it was possibly modified by Rockstar.

Renderware was developed by Criterion Software. Rockstar and everybody else dropped it as soon as EA aquired Criterion.

This topic is closed to new replies.

Advertisement