Writing Game Engine!

Started by
12 comments, last by Helo7777 10 years, 10 months ago

Friends I want to write C + + using the game engine. Already writing games using c + +. I believe that an adequate level. I command the C + + language. How long it takes to write the game engine? How to write C + + suitable?

Advertisement

The advice I've seen from people who have made engines (myself included) is as follows:

Don't make engines.

Instead, make a game. After that make another game, and use some of the parts from the first game. Continue this way until you have a big collection of commonly used parts. That's your engine.

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

The advice I've seen from people who have made engines (myself included) is as follows:

Don't make engines.

Instead, make a game. After that make another game, and use some of the parts from the first game. Continue this way until you have a big collection of commonly used parts. That's your engine.

That's great advice for someone who thinks they need to make an engine before they make a game. When the motivation to make an engine is just to make an engine, not so much.

The advice I've seen from people who have made engines (myself included) is as follows:

Don't make engines.

Instead, make a game. After that make another game, and use some of the parts from the first game. Continue this way until you have a big collection of commonly used parts. That's your engine.

That's great advice for someone who thinks they need to make an engine before they make a game. When the motivation to make an engine is just to make an engine, not so much.

Yet I'm convinced if zigzak had written games before, he would know where to start, or have an idea as to where to start.

It looks like he's got nothing.

@zigzag, you may want to think in subsystems. Whan have you written so far? (as in lifetime experience)

Do you know how to get rendering to work using C++, and what graphics api do you prefer?

Also, by being adequate in C++ you are by no means commanding the language.

I've been programming for 18 years, C++ for 5 years, and I often feel like I'm still just exploring it.

The advice I've seen from people who have made engines (myself included) is as follows:

Don't make engines.

Instead, make a game. After that make another game, and use some of the parts from the first game. Continue this way until you have a big collection of commonly used parts. That's your engine.

That's great advice for someone who thinks they need to make an engine before they make a game. When the motivation to make an engine is just to make an engine, not so much.

If the motivation is to just make an engine and you need to ask how to go about it then that advice still applies, engine design without experience is a recipe for a bloated unusable mess that won't actually be usable for making real games.

The only difference i would say is, if the goal is to get an engine rather than a game, keep that goal in mind as you make the games.

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

The advice I've seen from people who have made engines (myself included) is as follows:

Don't make engines.

Instead, make a game. After that make another game, and use some of the parts from the first game. Continue this way until you have a big collection of commonly used parts. That's your engine.

That's great advice for someone who thinks they need to make an engine before they make a game. When the motivation to make an engine is just to make an engine, not so much.

My goal was to make an engine. I should have just made games and derived an engine.

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

I should have just made games and derived an engine.

The two are mutually exclusive in my opinion. You either write what you need to make a specific game work or you write an engine that allows you to make several games once that engine is complete. Otherwise you'll quickly loose focus and never finish what you started.

To answer OP's question, I started writing an engine 5 years ago and I haven't finished yet. If you want to write a game then I'd suggest pick an already complete engine that suits you and focus only on creating a game. If you want to write an engine then go for it! It's fun, you learn lots, but just be aware it can take a long time.

I should have just made games and derived an engine.

The two are mutually exclusive in my opinion. You either write what you need to make a specific game work or you write an engine that allows you to make several games once that engine is complete. Otherwise you'll quickly loose focus and never finish what you started.

To answer OP's question, I started writing an engine 5 years ago and I haven't finished yet. If you want to write a game then I'd suggest pick an already complete engine that suits you and focus only on creating a game. If you want to write an engine then go for it! It's fun, you learn lots, but just be aware it can take a long time.

If you've worked 5 years on an engine without making any games with it you might have a big problem though, you got 5 years worth of work that hasn't been properly tested. Making complete games using an engine is the only sane way to test its design, performance, stability and workflow(a big problem with many hobbyist engines is that they are virtually unusable for large projects, despite shiny tech demos) issues tend to pop up quite quickly when you try to use pretty much any engine(even good engines have issues, allthough they tend to be less severe) for a real game and you want to catch the major issues as early as possible.

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

I should have just made games and derived an engine.

The two are mutually exclusive in my opinion. You either write what you need to make a specific game work or you write an engine that allows you to make several games once that engine is complete. Otherwise you'll quickly loose focus and never finish what you started.

To answer OP's question, I started writing an engine 5 years ago and I haven't finished yet. If you want to write a game then I'd suggest pick an already complete engine that suits you and focus only on creating a game. If you want to write an engine then go for it! It's fun, you learn lots, but just be aware it can take a long time.

If you've worked 5 years on an engine without making any games with it you might have a big problem though, you got 5 years worth of work that hasn't been properly tested. Making complete games using an engine is the only sane way to test its design, performance, stability and workflow(a big problem with many hobbyist engines is that they are virtually unusable for large projects, despite shiny tech demos) issues tend to pop up quite quickly when you try to use pretty much any engine(even good engines have issues, allthough they tend to be less severe) for a real game and you want to catch the major issues as early as possible.

Partly because I'm interested in your perspective, partly because I think OP could benefit from hearing more, would you, SimonForsman compile an article (or point to one)

about how to evade the pitfalls you mentioned? I've rewritten my engine several times over, but something makes it so I can never really take pleasure in working on an actual game.

I like my project, and from making smaller games earlier on, I do believe I know what I'm doing.

But what you just wrote sparks that fear, that although I do my best to create a diverse, powerful engine, it will come short once I want to apply some more abstract game to it.

I guess iterating is always good, stopping up going "Aha. GUI and Messaging system is now complete. Let's create a form-based game." Next, random landscape generator using the forms from before etc.

But I don't know for sure. I've never finished one engine. Games. But not engines. And although I'm convinced I know how the things I write now should be used,

perhaps it's not actually a good way to go about it.

This topic is closed to new replies.

Advertisement