Open world 3D game without a specific game engine

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

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

A game engine is not just a tool for a game, that is what I'm trying to say and that's how I see it. But I guess you've just wanted to show me how hard and time consuming it is, so I understand.

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.

Yes, I know that it's also the art that makes things beautiful. I was strictly speaking from the technical side only, but I think somehow you was referring to that also when you've said that it's not possible, right?

So, if someone wants to just make a 3D game that comes close to the quality of a commercial engine, speaking only from the technical side of things, the programming side and not art or other content, he should try and use a commercial engine?

Advertisement

I am of the opinion that there is possible reason to write your own reason. I wouldn't do it myself though. I prefer to make a game using something like Gamemaker or Unity. I've also used Irrlicht in the past, and I've created a pretty simple wrapper for OpenGL as well, so I know a very small bit about it.

The best (and probably only good one) reason to make your own engine is for learning purposes. I think the point has already been made about how much work it is and time it takes to make higher quality engines. Assuming you make a simple engine, you would take lots of time, and learn something too. But if you attempt to make something of higher quality and capacity, you will likely never finish on your own. The reason is because once you finally get something done, time will have passed and you will be far behind the times. Irrlicht is a pretty good example of this. It has many good things, but then many things are behind, even now. It supports shaders, but because it never got a good flexible vertex format setup, the animated models can't use normal-map shaders, because somehow the inner code doesn't calculate what it needs for animated models. Also, it has next to no animation blending, much less a nice animation system. Niko had been working on it by himself, and that is kind of the result of it.

If your final goal is to have a game, and especially so if you want a high quality game, you are better off with a pre-built engine by far. If your goal is seriously to learn something, and you don't care about getting behind the times, or a final game as a result, then maybe you are fine creating an engine.



If you'd like this to be your life's project, and you have a lot of free time... maybe.

But why making a game without an engine? I tell you to get an open-source game engine.

By doing this, you are not as dependent on the engine itself and its flaws and weaknesses.

If you want something the engine doesn't have, you simply change it, add the feature you need, compile the engine and use it.

Don't like how the functions work? Build an interface or even rewrite them!

If your changes are really for the better, they could even be peer reviewed and added to the engine itself!

Building an engine would really be a waste of your precious time, adding years of development to your project, so you can have a similar or even worse result.

As you're telling me you'll be using your free time and expect no return from the project other than the amusement of seeing it come to life, but still don't want to waste money on and get stuck with an engine, I see no other option than this: get an open-source engine.

Increase your own chances of actually finishing the project someday.

I think it totally depends on what you want.

If you want to make a game, then use an existing engine like Unity or (if you want the source) OGRE or Torque or any number of options.

If you want to make an engine, then well, make the engine.

I think writing your own engine has merit, if you want to earn the skills necessary to work on a project like that. I mean, someone has to write these engines, and its a great skill to have. Many AAA games use their own proprietary engines for their own reasons. It's not like every game uses Unreal or whatever. However, I doubt a one-man team could compete with the likes of CryEngine or even Unity. Though you may be able to finish something, just don't think it's going to be better then projects that had dozens of pros working on it for years.

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

A game engine is not just a tool for a game, that is what I'm trying to say and that's how I see it. But I guess you've just wanted to show me how hard and time consuming it is, so I understand.

The problem "with engine" or "without engine" is secondary

because even with engine it is like you are a fellow speaking "It is impossible to build a city alone?, well, i am considering that" and of course you did not do a small booth for a dog.

So reading this (no offence) is like suffer a stupidity buzzing around your (my) head. You got small chance to make something like decent roguelike or quake 2 scale game, if you are genius but the chances are also small

Thanks for your replies!

To be honest, I didn't thought about using an open-source engine as a possibility. My main problem was actually with commercial engines that you can use, their binary version without source. Sure, their provide a plugin system, but in case that's not enough you get stuck and you depend on them to add/change what you want.

Maybe I had to be more specific in the title and in my first post.

Sorry if I've sounded like being "Superman" considering building cities. But, I admit that, as any beginner, when knowing almost nothing about what involves in programming a 3D game, I feel like I can do it or that is worth it.

But, this is why I came here asking for advice, to see what are my options, other than using a company's commercial engine, so thank you for your help with that.

Now that I'm thinking on using an open-source engine, it sounds like a very good idea, but I have 2 questions:

1. In order to be able to modify it to do what you want, you still need an understanding on how the basic stuff work under the hood, right? So, is it better for me to write small games without an existing game engine just to learn the necessary skills to use a better one in the future? Or, I could just try and use it without doing that?

2. I do not know too much of these open-source game engines, but from what I see in terms of rendering quality they are not that great. Why is that? Bad art, less powerful rendering engine, or both? Improving or rewriting a rendering engine to be more high-quality and close to its time, is still not a task for one person?

If it takes 10 people 2 years to build a new engine, It's logical to say that it will take you 20 years (assuming you have the relevant experience/knowledge). However, that's only part of the picture - existing game engines are all based on previous iterations, and have real users who provide feedback which helps focus the engine team's efforts. You'll have none of that feedback, and will end up 'flying blind'.

But are you sure an engine is what you want? An engine is a multipurpose, reusable tool that provides everything you could conceivably need. Games don't need engines - if you're creating a Tetris clone you don't need to build an engine with mega-texturing capabilities that go unused along with multi-controller input support; you just need the bare minimum code to run Tetris.

Think about what you want to achieve, and only then worry about how to achieve it.

But are you sure an engine is what you want? An engine is a multipurpose, reusable tool that provides everything you could conceivably need.

That is what I was trying to say. I didn't thought on building a game engine, at least not a multipurpose, reusable tool that everyone of them tries to be.

I just want to build a game without a game engine. Of course, that involves in building the components that every engine has, but if the base system has only what I need and is build especially for that, that makes it a game engine? If the so called game engine can't live outside of my game, because is the actual game, does it make it a game engine?

I imagine is a lot of work and needs a lot of knowledge and time/years, but it should definitely not be compared with what the big companies do, with an actual game engine, right?

I've searched around before posting this topic and from my understanding just because you've made a game from scratch, doesn't mean you have an engine. A game engine is the reusable, configurable and generalized part that can be used to make other games, right?


I do not know too much of these open-source game engines, but from what I see in terms of rendering quality they are not that great.

Ogre3D is awesome. It is a very good rendering engine. Check out the demo on the website I linked. Torque 3D is also very good looking(especially with advanced lighting on).


In order to be able to modify it to do what you want, you still need an understanding on how the basic stuff work under the hood, right? So, is it better for me to write small games without an existing game engine just to learn the necessary skills to use a better one in the future? Or, I could just try and use it without doing that?

Yes you need to know 3D math and be good at programming. You should start learning to program simple games first and then move to an Open Source engine, open up the hood read the code, play with the scripting language and level editors or what it now offers etc. etc. It is a long process even with an Open Source engine. But the journey is also fun.


I didn't thought on building a game engine, at least not a multipurpose, reusable tool that everyone of them tries to be. I just want to build a game without a game engine.

Also read this: http://scientificninja.com/blog/write-games-not-engines

Then it should make more sense smile.png

Edit: no comments below the article anymore as far as I can see :)

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

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

Open-source engines have excellent technical quality. Just think about it, a mistake on these engines would have to go through tens of contributors in order to make it in. Usually, the problem with open-source is finding one that suits you as well as Source Engine, or other commercial ones. Still, if you don't need uber-fast up to 50 player networking, advanced AI scripting, why bother? An open-source can give you the same result on the stuff you really need. Just have to pick the right one.

That is what I was trying to say. I didn't thought on building a game engine, at least not a multipurpose, reusable tool that everyone of them tries to be.

I just want to build a game without a game engine.

I see we are getting you even more confused here.

A game engine is a system designed and developed for creating games.

You can use a multimedia library like SDL, a physics engine like Box2D and ultimately a data storing, let's say sqlite, and on top of that build your own game engine. That does not mean your game's engine has to be reusable or it is not an engine, it may not be a super-reusable software framework or something fancy like that, but it'll be your game engine. Also, I would say you used 2 game engines, SDL and Box2D, to build your game's game engine.

Just that SDL addresses multimedia, input, networking [...] while Box2D addresses the physics, collisions, simulation [...] and your own game engine, using the other two, addresses everything from input to physics to loading levels.

Ideally, the time you spend writing your game's engine has to be minimal. This way, you can focus on adding content and quality to your game.

Unless you have technical requirements that force you to spend more time on the engine (see airplanes/trucks/trains simulators).

And as Dwarf King posted, Ogre3D is really good, I used it and confirm it. Still, if you want to look them up and choose one that fits you, go ahead:

http://en.wikipedia.org/wiki/List_of_game_engines

This topic is closed to new replies.

Advertisement