I need answers on making a game engine

Started by
5 comments, last by CrazyCdn 15 years, 8 months ago
I have been trying to make a fighting game and wanted to ask what does it takes to make a game engine and what is needed to make the engine? And what are the advantages and disadvantages to making one? And is it too big job for one person and I would I need other people to help make it?
Advertisement
Quote:Original post by prosandcons
I have been trying to make a fighting game and wanted to ask what does it takes to make a game engine and what is needed to make the engine?
And what are the advantages and disadvantages to making one?
And is it too big job for one person and I would I need other people to help make it?


Obviously a thorough understanding of whatever language and API you plan on using is needed... There are a lot of parts to an engine so explicitly telling you them would be redundant if you have never heard of them before. I would advise you to keep making your fighting game. If it's too hard or you are losing motivation, try to make a smaller or simpler game. A game engine can be programmed by a single person, but it would take an astronomically long time and probably not turn out how you think it will.

To sum it up, this article will help:
Write Games not Engines

If you do decide to create an engine, these articles may help:
Enginuity, Part I
__________________________________________
Eugene Alfonso
GTP | Twitter | SFML | OS-Dev
Quote:If you do decide to create an engine, these articles may help:
Enginuity, Part I


I would highly recommend not using that tutorial. It's very dated and teaches a LOT of bad practices (namely the use of singletons, which you can search the forums for as to why they're bad). It's much like NeHe, was ok (at best) at the time but is now well past it's best buy date.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Quote:Original post by Mike2343
Quote:If you do decide to create an engine, these articles may help:
Enginuity, Part I


I would highly recommend not using that tutorial. It's very dated and teaches a LOT of bad practices (namely the use of singletons, which you can search the forums for as to why they're bad). It's much like NeHe, was ok (at best) at the time but is now well past it's best buy date.


I would highly recommend that he doesn't use any of the code from that or any other tutorial to be honest. Use tutorials as a means to find out how to solve a problem, but program it in your own way. I thought the enginuity series was quite good as it went over many of the parts needed to writing an engine, though like you said the actual implementation was sub-par.
__________________________________________
Eugene Alfonso
GTP | Twitter | SFML | OS-Dev
Honestly the whole idea of an "engine" is overrated, unfortunately. I would take a more agile approach: build your game as ad hoc as you like. Just get the darn thing working. For a fighting game, first try to figure out how to draw something to the screen. Then figure out how to get it to do some animation (like a punch), and work from there incrementally.

Eventually you'll either have a game or a giant mess of code (maybe both, but if you have a game you can safely ignore the giant mess of code). If you have a giant mess of code, refactor it until it's no longer a giant mess of code. And unit testing along the way will make sure you don't break stuff.

The only way to write an elegant system is if you've already written the system on the same or another project and know what it needs to look like. So don't get too hung up on the whole idea of an engine (meaning trying to find a general purpose thing or building your own), to be reused across lots of different projects. Instead, find some basic tools you know how to use (maybe SDL for graphics, etc.) and just get something working. You can always rip out code you don't like later and make it better.

Trying to use an existing engine, especially if you don't necessarily understand what it's doing, is almost always more trouble than it's worth because it might not support some feature you need for your game, and if it's open source the support you get is generally pretty terrible.

If you're just interested in making a game, there is one exception to this rule. And like all good exceptions, it represents the other extreme. If you use one of the game makers (Game Maker, RPG Maker, Adventure Game Studio, etc.) you can accomplish a lot with little effort. Some of my favorite indie games have been done in software like that. You trade away a lot of flexibility, though, so make sure the game maker can do what you want it to do.

I don't know of a game maker for fighting games, though.
[size=2]Darwinbots - [size=2]Artificial life simulation
First get your game working. After writing a few games, you'll get a feel for what you commonly do in each of those games that you made and you can begin to understand what a game engine should do. Until you understand this concept, there is no point in building an engine.
Quote:Original post by mmakrzem
First get your game working. After writing a few games, you'll get a feel for what you commonly do in each of those games that you made and you can begin to understand what a game engine should do. Until you understand this concept, there is no point in building an engine.


Very good advice. I would recommend this also.

@phear-

Agreed fully. Should have likely said that also :)

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

This topic is closed to new replies.

Advertisement