Open world 3D game without a specific game engine

Started by
42 comments, last by Chirieac 10 years, 6 months ago

Hi,

I've decided that I want to create my own open world 3D game. I want to do this in my own free time, for my own peace of mind. Is not something that I would want to sell to make money. The project needs to be more than just a game. It needs to showcase the beauty of my country, its landscape, its architecture and lost traditions. The world needs to be big (maybe 100km x 70km) and beautiful.

At first, I was thinking to use an existing game engine, so after a long search I've found four of them that could meet my requirements:

1. Unity. Affordable, easy to use and quite powerful. But, is too general and a lot of tools needs to be written. For example, it doesn't support big worlds because of the single-precision coordinate system. Also, from what I see, right now is geared towards mobile devices, so most of the focus for the development team will be there I think. I'm interested only on PC.

2. UDK. Not so easy to use, but is very powerful. But, I don't like how all of its tools look in terms of interface. Seems too old and ugly to me and I feel no joy working with them. If sometime in the near future the UDK will be upgraded to Unreal Engine 4, than it will definitely be in the top of my list from what I saw on youtube, from the workflow/interface point of view.

3. CryEngine SDK. Well, I don't need to say how powerful it is. So beautiful outdoor scenes created in it... But, I really do not like its authentication requirement to use the editor. What would happen if my account gets banned/restricted. Would I loose all my work? I don't want to take that risk. I've saw too many complaints from users.

4. Unigine Engine. This one is definitely expensive, but I've added it to the list because of its power to handle very big environments. I think is not really a game engine, but just a 3D engine.

They all have their flaws. Some too expensive, some have other plans than mine, some are too general. So I'm thinking, wouldn't be better to just create my game without an existing game engine?

These days a lot of big companies seems to create their own game engine. A lot of marketing seems to happen around them, announcing that a certain game is using this engine, another that one. It becomes the main selling point. Even a lot of gamers seems to praise a certain game engine like it's the king, without even knowing anything about them, other than how its gets marketed or how a certain game look.

The game engines seems so cool that, every now and then, everyone wants to build a game engine just for the sake of it. I certainly have that feeling too, I admit.

Right now, if someone wants to make a game, everyone will advise to just use a certain game engine. Do we really need to depend on these small/big companies to provide us with the tools we need? To wait for them to provide us with a certain feature? To hope that they will go in the direction that we think is right?

For someone that just want to make games, lots of them, and sell them, it would make sense to use an existing game engine. But what if someone just want to build only one game and wants to have as much control of it as possible over time, to be able to improve it for the rest of its life (or at least for many years)?

The way I see it, my game needs to be a virtual museum also, so it needs to last over time, to be improved. So, I'm thinking that maybe is a better idea to just learn to program it myself, from the ground up, using as many existing libraries as possible, like PhysX for physics. The rendering engine I think I would need to write it myself because I didn't found anything that could at least get close to CryEngine quality.

My question is this:

Is it possible for an average guy to learn what it needs to learn in order to create a beautiful game without an existing game engine? A game that could look almost as beautiful as CryEngine/Unigine capabilities? Speaking just in terms of technology, not the art content that contribute to the beauty.

Is it possible with so many resources/knowledge available these days on the internet?

Advertisement

I'm not the best game developer, but even I know that make game without game engine will be to hard. Why? Game engine have made every hard lifting (graphics, camera, input and so on). You just need write your game. If you would want do game without game engine, you would need make graphics controller (how to render objects, put textures, shaders, alot of matrix calculations (yup, you would need really good math knowledges)), which is really hard to make (I developing small games for 2 years and just using 2D, because 3D is to hard for me now...). And all game engines made alot bugs, and fixed thems. You would do same bugs as them. So why to do that? Just take engine and make game. Sit and write what you really want to do: what game would be about, what features would have and so on. Then look what engine will be good for you ;) but I think most of engine will be ok. I would go for unity, because it's partly free (most of features are free). So if you would fail in making game, you won't loose any money (if you won't buy) ;)

Torque 3D MIT is free and give you all the source codes. In other words try to grab a compiler, open up the engine and see how much work ten plus years became smile.png

Here:

http://www.garagegames.com/products/torque-3d

If you like a render engine only under MIT too then Ogre3D is there also with source code access smile.png

Here:

http://www.ogre3d.org/download/source

Have fun and happy coding smile.png

"A game that could look almost as beautiful as CryEngine/Unigine capabilities?"

No not really, at least not if you want the engine to be exactly as these two engines as many, many people have worked to get to the point as it is now.

If you only want the graphic then perhaps, but if the physics, sound, AI etc. etc. has to be a part of your engine too then no. The problem is also how much time you wish to spend on it. Grab a MIT engine and make it your own by tweak or just use it for what you like :)

Edit: thought the above answer needed to be included.

"The only thing that interferes with my learning is my education"

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

"A game that could look almost as beautiful as CryEngine/Unigine capabilities?"

No not really, at least not if you want the engine to be exactly as these two engines as many, many people have worked to get to the point as it is now.

If you only want the graphic then perhaps, but if the physics, sound, AI etc. etc. has to be a part of your engine too then no. The problem is also how much time you wish to spend on it. Grab a MIT engine and make it your own by tweak or just use it for what you like smile.png

I understand, but I do not want to make a game engine, the game itself will be the game engine. A game engine is more than just graphics, physics or the low-level stuff, right? They need to be usable in a lot of games, they need to provide tools for other people to use, easy workflow and so on. That is a hard thing to do that takes time and knowledge and many years to get it right. They also need to provide innovation to sell their product. Cross-platform too.

Of course, it takes a few years to learn and get the experience you need to build a 3D game without an existing game engine, but isn't that worth it? Is not like all the knowledge accumulated is for nothing. Also, is not like everything will be build from scratch. For example a free physics engine could be used, like Bullet or PhysX, right? Maybe other components also...

Now, I know it's hard and takes time and the advice is not do it and I understand why. But, is that written in stone? I mean, there is really no reason not to do a 3D game without an existing game engine? Is the knowledge present for everyone willing to learn or you need to be really smart?

Being cautious of CryEngines authentication is admirable. It is nice to see indie developers thinking before being sold or locked into using trash.

Though Unity doesn't require a username authentication, it does still require online activation (even the free version) so is just as possible that in years to come you will be unlikely to use Unity just like CryEngine.

If you are already confident as a programmer or if you are happy with a steeper learning curve then definitely try out some of the open-source solutions like Irrlicht or Ogre3D. If you do need to use a proprietary engine, try to get a futureproof one (though without access to the source, I cant see how any engine is futureproof quite frankly) smile.png

These days a lot of big companies seems to create their own game engine. A lot of marketing seems to happen around them, announcing that a certain game is using this engine, another that one. It becomes the main selling point. Even a lot of gamers seems to praise a certain game engine like it's the king,


I feel your observation is spot on. For companies, there is a lot of money to be gained from selling products to indie developers (effectively now consumers). It is a very different situation in professional gamedev (and open-source gamedev) and frankly it seems sad to see potential developers stunted with products rather than actually learning to create a game themselves.

This is probably also why the modding community is dying. Modifying someone elses game / engine is harder than starting from scratch using a product like Unity.
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

"A game that could look almost as beautiful as CryEngine/Unigine capabilities?"

No not really, at least not if you want the engine to be exactly as these two engines as many, many people have worked to get to the point as it is now.

If you only want the graphic then perhaps, but if the physics, sound, AI etc. etc. has to be a part of your engine too then no. The problem is also how much time you wish to spend on it. Grab a MIT engine and make it your own by tweak or just use it for what you like smile.png

I understand, but I do not want to make a game engine, the game itself will be the game engine. A game engine is more than just graphics, physics or the low-level stuff, right? They need to be usable in a lot of games, they need to provide tools for other people to use, easy workflow and so on. That is a hard thing to do that takes time and knowledge and many years to get it right. They also need to provide innovation to sell their product. Cross-platform too.

Of course, it takes a few years to learn and get the experience you need to build a 3D game without an existing game engine, but isn't that worth it? Is not like all the knowledge accumulated is for nothing. Also, is not like everything will be build from scratch. For example a free physics engine could be used, like Bullet or PhysX, right? Maybe other components also...

Now, I know it's hard and takes time and the advice is not do it and I understand why. But, is that written in stone? I mean, there is really no reason not to do a 3D game without an existing game engine? Is the knowledge present for everyone willing to learn or you need to be really smart?

Gosh, man, it is no matter of being smart but a matter of amount of work. Is it possible to build a whole city all alone? without tools? Try it yourself.

Now, I know it's hard and takes time and the advice is not do it and I understand why. But, is that written in stone? I mean, there is really no reason not to do a 3D game without an existing game engine? Is the knowledge present for everyone willing to learn or you need to be really smart?

Why You want invent wheel again? If it's done - use it. Big companies spend a lot money to develop (hardware, ppl's too) for them self. But some of these engines are free or open source. So why bother to make your own engine? Yup, You will do it. Why? Game can't be without engine. You won't write whole render basics to every object different. You will make objects same (in parameters) that they could be used with same methods/functions, so if you this one method, you fix everything. That is engine! So please tell me, why you want create your own engine? Don't do mistake. Good game even with engine could take years, and without existing engine... even longer... ;) I would agree if you would be good game developer, which used alot engines and don't liked any of thems. So - create your own. Or find team and create. But now... For newbie... Just don't think that you could make job, which could be done only by big team ;)

Gosh, man, it is no matter of being smart but a matter of amount of work. Is it possible to build a whole city all alone? without tools? Try it yourself.

I didn't say it I want to do it without tools. I understand your point, but is not exactly the same. You build a city and your're done with the tools, but a game engine is the base of a game, its foundation; once you finish with it, you're not done with the tools.

Why You want invent wheel again? If it's done - use it. Big companies spend a lot money to develop (hardware, ppl's too) for them self. But some of these engines are free or open source. So why bother to make your own engine? Yup, You will do it. Why? Game can't be without engine. You won't write whole render basics to every object different. You will make objects same (in parameters) that they could be used with same methods/functions, so if you this one method, you fix everything. That is engine! So please tell me, why you want create your own engine? Don't do mistake. Good game even with engine could take years, and without existing engine... even longer... ;) I would agree if you would be good game developer, which used alot engines and don't liked any of thems. So - create your own. Or find team and create. But now... For newbie... Just don't think that you could make job, which could be done only by big team ;)

I do not know why people throws the "don't reinvent the wheel" phrase all the time. We would still use stone wheels for vehicles if the wheel wasn't invented so many times. In fact, many times is not reinventing, but just redesigning it for a certain purpose.

I was under the impression that a game engine is what gets generalized from building many games, the part that can be reused on other games. I didn't said I want to make a game engine, but just a game. Of course it needs the basic standard stuff present in all the games, but that doesn't mean that I need to build a game engine to do that. At least not entirely.

Also, I didn't said I want to make the game now, when you say I'm a newbie. I've said that I want to start learning, getting the knowledge and experience that I need to do it. I realize that in order to do that, I need to start small, building small games and continuously improving my skills.

Gosh, man, it is no matter of being smart but a matter of amount of work. Is it possible to build a whole city all alone? without tools? Try it yourself.

I didn't say it I want to do it without tools. I understand your point, but is not exactly the same. You build a city and your're done with the tools, but a game engine is the base of a game, its foundation; once you finish with it, you're not done with the tools.

Gosh II : "You build a city" ? try to build a city even if you have al vehicles and materials - you probably will do not build one house

Building a game without an engine isn't "reinventing the wheel" necessarily. If you can't find an engine that suits your requirements, you don't have to use one. Sure, it's strongly suggested, but constraints are constraints. However, in the absence of a game engine, you still want to use some kind of framework if you can. Take something like XNA, Monogame, SDL, SFML, Allegro, SharpDX, OpenTK, etc. None of them are game engines, but they will immensely help your productivity, because they abstract crufty work like setting up windows.

However, if I were to get to the crux of your closing question...

Is it possible for an average guy to learn what it needs to learn in order to create a beautiful game without an existing game engine? A game that could look almost as beautiful as CryEngine/Unigine capabilities? Speaking just in terms of technology, not the art content that contribute to the beauty.

Is it possible with so many resources/knowledge available these days on the internet?

No. It's probably not possible for a way-above-average guy to make something look almost as beautiful as CryEngine/Unigine capabilities WITH an existing game engine. It requires an immense amount of technical know-how, hundreds of thousands of man-hours, and skilled artists.

I'm not saying this to deter you necessarily, but you won't get anything that impressive on your own no matter what you do. However, there's an ocean of space in between Pong and Crysis.

This topic is closed to new replies.

Advertisement