game engine question

Started by
13 comments, last by SimonForsman 10 years, 8 months ago

Is there anything wrong with using them?

I'm trying to learn programing, my next class will be an intro to C++...but I'm doubting I would be able to make a full 3-d game, and I also know it's normally a job done by more then 1.

Advertisement

Nope, there's absolutely nothing wrong with using an existing engine. See this article.

Absolutely not, there's nothing wrong with using an existing engine.

Unless you want to build an engine for the sake of building an engine (or if there isn't one out there that suits your needs) then there's no sense re-inventing the wheel.

Well, I've read that you can make a game without using an engine, just the engine just takes care of like...half the coding for you or something.

Like, I think the indie game Don't Strave and Limbo were all build without an engine

Engines typically include a collection of commonly used functions and systems wrapped together for your convenience, such as physics managers and easy-to-use audio and graphics systems. A good engine can save you a lot of work, but sometimes you just want lower-level control so you can do something weird. Either way is fine.

You're probably best off learning C++, then picking up a common engine such as SDL and using that to get used to the design patterns used in game programming. If you start to feel like the engine you're using is holding you back, that's just a signal to start learning the lower level systems. That's not to say that you're switching from one to another. It just means that you're adding more tools to your toolkit. Even if you understand how to do everything without an engine, an engine can still save you a lot of time and effort, provided it's capable of doing what you need.

Another advantage of using a widely distributed code-base is that thousands of other people have been using it, so obvious bugs are more likely to have been dealt with already. If you roll your own then you end up having to do your own debugging.

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 was already looking into UDK for my 3-d based game...but the wiki page lists a lot of engines

Guess, it's about reseach and seeing what engine does fit the sytle i"m looking in for a game project

There is nothing "wrong" with using a game engine, especially if the goal is to make the best game possible.

However, a lot of engine designers basically assume that the developer is familiar with the concepts of writing their own video game (i.e. their own engine) and if you don't have experience doing it without the engine, using some engines might be confusing, or downright unfathomable.

Of course this will vary depending on which engine it is and who its target audience is.

If the goal is to understand the concepts of video game operation, then using an engine may "muddy the water" somewhat by hiding some details from you and obfuscating others with its own terminology.

If your about to take an intro to c++ class I would suggest backing off from 3d - forget the "engine" portion just try and make a basic 2d game with some nice graphics and go from there. You will find that somehow you need to get the items to the screen, somehow you need to play sounds, somehow you need to detect collisions - then once you understand what you need find an "engine", or basically a set of classes/functions, that will do those things for you and use it.

Then from there you can try to make your own classes/functions that draw sprites to the screen using opengl or directx, your own functions/classes that take care of playing sounds, your own classes/functions that take care of collisions and you will have your own engine.

Or you can just always use already made frameworks to do this stuff for you since there are a lot of them out there and most have been performance tested pretty thoroughly, but if your like me you will want to re-invent the wheel just to understand how it works.

Bottom line - focus on a very basic, limited scope 2d graphics game before you go 3d - at least that is my suggestion for ya!

Just wondering if you've checked out Project Anarchy at all? The engine is C++ based and it ships with a lot of documentation. Developers can get up and running quite quickly and there are many samples you can read and modify to help with learning before having to understand everything that's going on in the background.

While some of the others aren't wrong here in that you can learn a lot by building something from scratch, that can also be quite daunting. There's a fair amount to consider when putting an engine together and with an existing engine, the ability to read a demo, make some changes and see the effect that has in your game quite quickly, often provides you with with impetus needed to keep you moving forward to completing your own project.

This topic is closed to new replies.

Advertisement