Help for beginner in creating games but experienced in programming

Started by
3 comments, last by Tutorial Doctor 10 years, 3 months ago

Hi,

I would like to create 3D game (FPS) and I'm trying to find useful information for it. I see that there is a lot of different stuff / game engines but I also found lot of complains about them and I know that some companies prefer to create own game engine. So what is an advantage in using game engine? I understand that it is possible to create game just by clicking but isn't game engine constraining people by allowing to put in game only features that are foreseen by game engine developers? Isn't it better to just create models in for example Blender and export them and then use OpenGL with SDL library?

I'll be thankful for introduction in game development topic a specially from programmer (Java, C++, Python, PHP) perspective. I spent a lot of time on searching this topic and for me all info about game development is very messy.

Advertisement

Hi.

What a game engine provides you with is the very core functionality of a game. Such as the loop(s) that the game exists and runs in, the rendering pipeline, input handling, windowing handling, sound/gfx/model loading etc.

Wheter you decide to write this engine yourself, or use an existing one, is up to you, but there is no "not using an engine" since you will, by the very definition of it, actually build one when making a game... (unless you use an already existing one that is).

On the subject of limitations and features of a specific game engine, sure not one engine provides every feature, but there are some very competent and complete engines out there that provides you with more than enough functionality. The problem is often that one does not know how to use what the engine provides.

Wheter you should use an existing engine or write one yourself is up to you;

If you are after the experience of building an engine and learning low level graphics programming, extension handling etc, then go ahead and start learning openGL or directX but be ready to spend a lot of time before you will see anything that even resembles a game.

If you want to build a game (like AI, level design, content creation, story etc) then I would strongly suggest using an already existing engine.

Unity3d is good to start out with, it is very intuetive, there is a free option, you can script in javascript and C# and there are lots of online resources/tutorials to get you started.. It has a very fast development cycle that lets you see results quick.. Wich is why Blizzard used it for the game Hearthstone

Good luck

A word of advice, making an FPS as your first game is probably gonna be very hard to do, i suggest starting with something simpler for starter. Of course using Unity could ease the task a lot, but be ready for a lot of work.


So what is an advantage in using game engine? I understand that it is possible to create game just by clicking but isn't game engine constraining people by allowing to put in game only features that are foreseen by game engine developers?

A game engine is used to make a game. Game engines are usually programmed from scratch using things like OpenGL and other libraries. You can only use the features that are programmed into the game engine to make your game, unless the game engine allows you to expand its functionality by adding your own modifications to the Game engine itself.

I use the Maratis3D game engine. It is free and open source so it can be used as a base game engine that I can expand the functionality of. I would suggest something like this for beginners who want to understand or create a game engine, or who want to understand how one works. It also has an easy to understand API.

So, making your own game engine from scratch allows for more flexibility, and using someone else's game engine is better for getting started quickly making games. But using a game engine that is free and open source is good if you want to start in-between.

Hope that helps.

They call me the Tutorial Doctor.

This topic is closed to new replies.

Advertisement