Few months ago I have started to create open world, 2D space game with procedurally generated galaxy in Unity3D game engine. Now that the bones of game are made(AI, galaxy is generated), I am figuring out that Unity3D is not capable of handling 200+ objects(ships), with physics.
I have seen a guy to have 10 000 objects/ships on scene in real time taking battles with 50+ FPS in his custom built engine.
So I came here to ask you guys, since you have FAR more experience with this, how long it would take me to remake the bones of game I have created in Unity? So simple spaceship movement physics, generating and spawning stuff etc.
I have been mainly programming in C# and in JavaScript for several years and working only with Engines, never with Eclipse or some bare IDE.
This probably doesn't help, but I think it would take a pretty long time. Making a game using a game engine takes a pretty long time, I would imagine it would take even longer to make a game engine.
I know how to create games, I developed few of them, that is not a problem.
Problem this time is that the game I want to make, would have hard times running in Game Engine like Unity3D, because the way it handles physics, collision and other million things.
I don`t want to create game engine like Unity3d. Just want to create game from scratch, but people call it game engine.
I know how to create games
Just want to create game
Your post is a little contradictory.
:D I know how to create games in game engine like Unity3D.
But I have never worked without one. So making game in openGL and C++ would be something completely new.
That is what I am asking. How long would it take to make the game from scratch without the engine in OpenGL let`s say using C++ if I know programming, but just never worked with stuff like OpenGL, and are used to Engine`s gameObjects and collisions etc.
If you really want to make an engine, with better optimization and flexibility, it's good to learn few patterns and algorithms to boost your development time and performance especially if you want to be better off without a backbone engine. As for the a quantitative value, I cannot purely say, depending on your skill and stuff you want your programs to do and handle.
Difficult to say then. But i would definitely have a loose set of objectives to be complete after 3 months and then 6 months I reckon.
edit:
I am figuring out that Unity3D is not capable of handling 200+ objects(ships), with physics.
Actually, based on this, i'd knock up something quick and dirty ("spike it") just to see if you can actually get 200 objects moving about. It doesn't even have to be nice code or designed well. if this concept works then you know you can shelve your spike code and 'start again'. If this spike doesn't work then you wont have wasted a lot of time.
Actually, based on this, i'd knock up something quick and dirty ("spike it") just to see if you can actually get 200 objects moving about. It doesn't even have to be nice code. if this concept works then you know you can 'start again'. If this spike doesn't work then you wont have wasted a lot of time.
What do you mean?
Try to replicate in OpenGL the 200+ objects scenario or? :D
well if you spend 6 months on this designing and implementing the code beautifully but then find out that your code is not capable of getting 200+ objects to move about then you've wasted a lot of time.
i was just suggesting knocking something up very quickly to make sure your chosen technologies (openGl anc c++?) can actually achieve what you want.
Try to replicate in OpenGL the 200+ objects scenario
Game Engine Architecture, Second Edition[1]
by Jason Gregory
It is a thousand page book on the subject2, how long would it take you to study such a book and practice what you have learnt?
______________________________________________________
[1] http://www.amazon.co.uk/Game-Engine-Architecture-Second-Edition/dp/1466560010/ref=dp_ob_image_bk
[2] I have not read it but would be interested in peoples opinion of it.
well, you can try using flyweight pattern here. I suggest reading it off somewhere in the internet (just search gang of four flyweight on your fav. search engine).
and can learn things really fast.
I have never used Unity, but the Gang of Four patterns is where you might want to start learning more on how to implement system designs, more efficiently.
Will have to first learn how to even draw object on screen since I dont know how to do that yet not talking about moving one xD
Since engines do everything for us. At least I will learn what is under the hood.
@rjvc
Will certainly look into that. Thanks.
@Grey Wolf
Isn`t it some hardcore book for companies that want to create their super game engine from scratch? :D I wasn`t aiming at creating game engine explicitly, only the game, but from what I hear when you create game from scratch you can call it custom built engine right?
wrymn, We probably have a different perspective on what a Game Engine is. To me the engine is the run-time mechanics of the game...but I have never bothered with games development as of yet. From what I understand from your posts, I would call a Game development environment (obviously this would have a game engine in it).
So yes, if you build a game from scratch you will build an engine for it. I'm not sure what level the book is aimed at but it is the book that I am interested in reading.
rjvc wrote:
I have never used Unity, but the Gang of Four patterns is where you might want to start learning more on how to implement system designs, more efficiently.
Game Programming Patterns by Robert Nystrom may also be worth a look.