Creation Of A Game Engine

Hey there everyone I’m here to talk about the unthinkable. Its just a question and I don’t want people to take offense to it but how would I go about writing my own engine? What scripting language should i use. And yes i do realize that this is a pretty unreasonable goal but I have plenty of time and iv always wanted to do it. But no I don’t want a modeling/animation tool just a engine like unity.
Thank you for your responses - Blendinguser

Well, there are many different paths to follow, and which one you choose depends mostly on how much you’re willing to write yourself.

Personally, I would take the “assembly” approach; use established libraries (ogre, bullet, openal), and frame them in your own interface, specifically crafted for your purposes.

Or, you could choose to write it all yourself, and spend years on something that will probably turn out to be substandard (although, this will significantly improve your programming abilities).

In either case, your reasons matter: If you want to make something that others will actually use to create interesting games, you want to use well established libraries. If you want to simply improve your programming skills, you should try to do as much as possible on your own.

As far as scripting languages go: LUA seems to be the easiest to integrate, so that’s something to consider, but Python is probably better known, so if you want to have a healthy user base, that’s the one you should go with.

For Python, there are many “auto-wrapper” packages you can use, such as swig, but there is also Boost Python, which I’m told is better.

I’m also writing my own engine, and I have to say, it’s really helping me develop as a programmer, so I highly recommend your efforts, from that perspective.

Good Luck.

My suggestion: Start developing a web application to host your game engine development. Web application to take care of documenting your code as you go, to give a possibility to comment your code, possibility to discuss and possibility to learn of your code. Don’t write a single line to be thrown away. Make a place to post pictures, video tutorials, auxiliary code fragments, development blog, test results, brainstorming. Create a fan club. The interaction between you and your users is the most important thing. If the interaction dies, pause and ask yourself what should be done different. Write your code so that even kids can understand it, and ask the kids if they understand it and what they understand.