Sign in to follow this  
Razis

Help for beginner in creating games but experienced in programming

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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 [i]every[/i] 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 [b]a lot[/b] 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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

You can search forever to find what the best approach is.  I spent quite a while trying to figure out where to get started.  Really what I did that worked and it might work for you, is to forget about the language.  Take that thought, wrap a rope around it and toss it off a cliff, you can refer to it much later.  What you might find more useful is if you asked yourself, "What is game programming", or more specifically, "What is 3D game programming" (or even 2D).  Learn the concepts, which can be taught through prototyping with an SDK, you can use Unity, UDK, CryEngine, Leadwerks, Impact, they are all using various types of languages, but they all share similar concepts.  I wouldnt rush myself into modeling, thats a hefty task on its own, you need to gradually get into those things.  Start with the CORE of what you love to do which (I hope) is programming, from there maybe learn about 3D graphics, different shading techniques, etc, and then venture further.  If you have an interest in FPS's, then once you learn the basics there are a set of methodologies that you will come across thats specific to FPS.  

Share this post


Link to post
Share on other sites


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. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this