This article is for those who are interested in creating the ultimate tool for programmers. Even if you do not know any programming or programming language, but you are keen on programming or game management, then go on reading.
There are a wide variety of game engines out there. Some aim to artists with little or no programming requirement. Some are completely GUI's included that can make the program easier. And some are created for programmers only.
You can see more: how to make a game design portfolio
Part 1 - Learn to Program
1/ There are many languages:
There are many languages from which the program is performed. The language you choose is not very important, but the most important thing is that you start somewhere. There are many programming languages to choose from, but most popular is C ++ or Java and they are also very useful in game development. Once you learn a language, learning another language is a lot easier.
2/ Find a course.
In my opinion, the most effective way to learn programming / computer science is to take a class! Whether it's a classroom at your school, or outside of school does not matter.
No matter who you are, you can find a programming class that's right for you. MIT Open Course Ware has many free classes. If you look around Google, you will find some other sites that also offer free lectures and classes available.
You do not want your first game to be a complicated, important game. You want a chance to screw up and not care too much about your project. Try to create a simple game. If you learn Java, check out the Swing package. Do not worry too much about this project, they just take a few weeks’ time. Learn from your mistakes.
Part 2- Start Your Game (Engine)
1/ Think of a Game Idea.
Try to challenge yourself. That way if you don't achieve all you set out to, you'll still (probably) have a pretty good game left over. Think for a while, don't feel pressured to do this in one sitting. Sit on your idea for a while so you know it is good.
2/ Formalize your Idea.
Technical communications is important in any kind of engineering, including software engineering. You don't want to tell someone that you're making an apple and they go and make you audio for a pear. Write up a "Game Design Document". These are used in professional game development, but more importantly, they easily communicate your idea(s) to others. There are many free templates available online.
3/ Recruit Help.
You don't have to go at this alone. It's also more fun and exciting in a group.
You can't make a custom game engine and manage the project without help.
Ask your Friends first before going to strangers or advertising for help, you'd be surprised who would love to get into the game industry.
Part 3 - Get to Work
Look at what you will do before you do it. Even if you create a motor from scratch, there are still some tools that you can make your engine out. Look at "OpenGL" if you have learned C and "JOGL" if you learn Java. Can buy a textbook on OpenGL, "Redbook" is one of the most famous, but it is free online
2/ Draw Something.
Render a primitive or 2D object to get started. Make a 2D triangle, or a cube. Look into "Display Lists" so you can draw many primitive objects.
3/ Make Perspective.
There are not many games that you cannot change where you are looking. Make the point of your game (First person perspective, top-down, etc.)
4/ Move Around.
Take one step at a time! Except not actually because stepping is actually kind of complicated. Either move everything around the camera or move the camera view port, but they are the same to the processor. Be able to move in all angles, not just along the axis.
5/ Add Textures (Images).
That default color will age after a while, and not many games will be used with solid colors only. Divide them into your display list (s).
6/ Add Audio.
This makes your game much more interesting and realistic. Perhaps footsteps for when you walk.
7/ Add Lighting.
This also adds to the realism. Learn different types of lighting. Use a sphere instead of a cube to ensure that the light is working. You can place a primitive object where the light should be coming from for debugging. Just make sure the light can escape the box / sphere that you put in.
8/ Add Collision Detection.
The biggest thing people notice when you show them an incomplete game engine is the lack of proper collision detection. Make it impossible to walk through the cube. Makes it possible to move (in other directions) when you are colliding with the cube.
9/ Add Gravity.
Most games have falling things somewhere. Make a floor, and jump around on it.
Part 4 - Finish Business
1/ Finish Your Game.
Do not forget to PR it. You may want to enlist a marketer (friend) to help you. Assuming your game will be a hit so you can work that way. Have fun!
2/ Manage Other Games.
Do not be afraid, tell other developers that you have made a game engine. You are not the only one to grow with your motives. When you allow others to use it, you are entitled to a portion of the royalties, but you also receive constructive feedback and may improve your tools.
Game Engine is valuable and impressive. Have you noticed how many other engines are charging indie development? (You can be that tool!). Use your tools to get wannabe game developers into the industry!
Once you feel the game is ready for the market, however big or little, publish it. Each game-making program offers different publishing options based on the software version you’re running and whether you opted for the premium or light edition. You can always publish your game to another platform later, so don’t worry if you can only port it to one device, or only offer it only as an .EXE file. Share your creation with others and continue to build upon whatever output.