Jump to content
  • Advertisement
Sign in to follow this  
SW INC

Home Grown game engine

This topic is 4755 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm looking into becoming a game programmer and while i know that there are ALOT of rendering engines out there. I can't find one thats right for me. soo.... i have decided that i am going to build my own rendering/game engine from scrach and learn all of the rendering, game logic, networking and everything else as i go along. is this a horribly bad approach and couldn't possible benefit me in any way or could this be a valuable learning experence that i won't want to pass up? (please don't use this as a plug for whatever engine you like) and if anyone knows a place where i can find information on game engine and rendering engine design/archetexture. or any good books PLEASE point me in the right direction

Share this post


Link to post
Share on other sites
Advertisement
It's probably somewhere in between.

You'll likely learn a fair bit, since something of that size is useful for design practice if anything.

That said, you're mostly likely guaranteeing that the game won't be finished for years to come.

Share this post


Link to post
Share on other sites
Hey, I'm making a inhouse engine as well. Let me tell you that it is a long way. I have been (trying at) designing my engine for a few years now (amoung other projects) and I was never satisfied with my design. =( Anyways, now that I know a lot more, I think I've stumbled upon a satisifying design. (hey I was like in middle school back then) So, I may have something to show in about a year ;).

Anyways I really do think that looking at the structure of other game engines can really help you, even if it's just the class heiarchy. The more you know about interaction between classes, the more likely you are to succeed. You can also take a look at the sources of the few that are open source, they will inspire you (hopefully)

Ogre3d and CrystalSpace are two open source engines. (Note that I really don't like Ogre's design, but that's just me...[you might like it - who knows])

[edit]: yours may be alot less complex than what i intend to do because I'm making more of a game engine/general purpose engine than just a graphics engine.

Share this post


Link to post
Share on other sites
Writing your own engine is a learning experience you definitely shouldn't pass up. However, if you want to produce a game in less than a few years from now, you may want to consider middleware.

Share this post


Link to post
Share on other sites
I think it's a great idea to make your own. Granted it will take at least a year to have a good engine and it may never be as feature rich as some out there already, but it will be a great and rewarding learning experience. I've written 2 graphics engines so far that both took me about 2 years to write. I've learned a great deal through them and my design ideas keep improving.

Share this post


Link to post
Share on other sites
Quote:
Original post by Ravuya
Writing your own engine is a learning experience you definitely shouldn't pass up. However, if you want to produce a game in less than a few years from now, you may want to consider middleware.


well right now i'm starting school for basic computer classes and won't be finished with my bachelors for a few years
then i'll work on getting a real game ;)

Axiverse i have been looking at other rendering engines like you said, but they are sooooo complex that i'm somewhat dumbfounded on how to start getting a code base working, but i guess thats one of those things that i want to be learning

Share this post


Link to post
Share on other sites
So many times I see people post on here that they want to make a game so they set out to design an engine right off the bat. A game engine is meant to be a reusable library that can be the basis of several games. It shouldn't be a one-off deal. And making an engine when you really want to make a game is often setting yourself up for failure.

I think it's always a good idea to set out to make games rather than engines when you are just starting out. Learning the concepts behind engine design & architecture comes much more easily when you have knocked out 3 or 4 games. If you've never made any games, you have to rely on studying other engines to get an idea of how to architect your own - otherwise you're just guessing at what you need. And engine A will most likely do things differently than engine B, which is structured differently than engine C. Getting some games under your belt will show you the common systems between games, what's reusable, and give you some ideas on simplifications and generalizations of your own. It can also help you to understand the differences between other engines out there.

Architecting a good engine is no easy task. Your frame of mind is just as important in game programming as your knowledge. If you view the problem from the wrong angle, you'll wind up with a skewed solution. It's much simpler to think in terms of 'game' than 'engine' in the beginning.

Of course, to each his own, YMMV, yadda, yadda. Some people are gifted enough or persistent enough to pull off anything they set their minds to. Just make sure you understand the big picture before diving in head first.

Share this post


Link to post
Share on other sites
I was interested in writing a graphics engine, and so, because I had worked with irrlicht previously, that's the one I focused on. Now, if you go to the irrlicht site he's up to version 0.12 I believe, with shaders and everything.

There is no way that I'd be able to understand all the code for all of that, so, I went to sourceforge and downloaded the source for irrlicht version 0.1

The first release, and I've found that looking at that code is not incredibly complex, but it is useful enough that I just stole the class heirachy and structure, and now I have my basic design firmly imprinted in my mind, I rarely look at the code.

Moral of the story: If you see an open source engine that looks good, find its first release and look at that code.

Oh, and if you are starting from scratch, probably forget the networking and one or two other things, because, once you have a framework, or an engine (partial or completed) that you are satisfied with, you can re-design, re-write it to incorporate networking, and you'll have a much easier time with the graphics, so you'll be able to spend most of your concentration on learning the networking part.

My opinion. [smile]

Share this post


Link to post
Share on other sites
depends how good you are at c++, if youve only been doing it a couple of months id give it another year before you even start to try or you will ed up like me bald

Share this post


Link to post
Share on other sites
Why is everyone saying it takes years to develop an engine and make a game with it? That's bullcrap. If you're wanting to write a full blown engine with a bunch of bells and whistles, then yeah... but an engine for a first time game maker? Shouldn't take too long unless you're trying to write a Half-Life 2 clone. The current engine for my game is rather simple, and it is reusable. It didn't take me years to write (granted i've been working on the game for about a year, but maybe for a few hours every month... i'm very lazy, heh).

Write a simple engine that doesn't have real-time lighting, doesn't have bump mapping, etc etc etc... and you should be good to go. Start small.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!