I need lots of help (especially programming wise) in creating my game. I am part of a Senior Capstone group for our Video Game Design major. I have my ideas set and some of my character models, but i dont know what i need to program in order to have a simple MOBA. Any help on where to start, concepts I need to code, etc., would be helpful.
-
Imagine the game you want to make. Think, try to get a clear image of how your game will look like when you’re done. Also, most popular MOBAs are free to play, so if you haven’t played a MOBA before, play.
-
You need a very basic map. Decide how many lanes you want, how many towers per team each lane will contain, basic base layout and such. Prepare your scene, but don’t waste time polishing, feel free to put cubes, spheres and such as “towers” for now.
-
Make a simple player-controlled character. you don’t need to bother with skills, stats etc. for now. Just make it so that your player can move and can attack vulnerable targets.
If you are going to use animated 3d models, keep it in mind that there will be an attack animation. An archer’s arrow should be instantiated after the attack animation 9is finished. This isn’t mandatory, it is purely visual, but I wrote it here since I don’t know whether it is important for your project or not.
-
You need to code towers and base buildings so that, for example, second tower in a lane becomes vulnerable after the first one is destroyed or the main building becomes vulnerable after 2 of it’s towers are destroyed. Since your player character can attack towers, test your system if your tower vulnerability logic is correct. if not, fix it!
-
Those towers aren’t for show! You need to make them target enemies who are in their range and attack them until they get out of range or die.
-
You need to spawn “creeps” (monsters not controlled by players who spawn in waves and attack enemy towers/base in a certain lane) and code a simple AI for them. (Follow path, attack enemy, chase enemy, resume path etc) Your creeps should be able to target the player, attack him, and chase him for a bit if he runs away, then succesfully return to their paths.
-
At this point, you should have a simple map with towers that attack creeps and players, creeps who spawn and follow their path, trying to destroy enemies in the way, and a player controlled character who can move and attack creeps/buildings.
Before going further, make sure your simple systems are working correctly. It isn’t a good idea to polish something which isn’t working exactly as you want.
-
Player characters need to gain XP and get stronger as they level up. You don’t need to spend much time balancing the stats now, your goal should be making a system which will work and be easy to modify in the future.
-
Decide spells/skills which will be used by your heroes and think how you will code them (OOP is your best friend). Same as above, you don’t need to balance the damage dealt by your spells etc. now. You need a working system where it is easy to add new spells/modify existing spells.
-
If all of the above is done, congratulations, you have your game mechanics working now. But it isn’t over yet. You need a victory condition. (team1 wins when team2 loses main building) You need menus (main menu, hero selection, in-game menu etc) and GUI. If you want to implement “items”, this is a good place to do it.
Then, you need to replace those spheres/cubes/capsules you used as creeps, heroes and buildings with your models (if you have any). This may not be as easy as it sounds, since you will need to make animations display correctly.
If you want to add sounds, this is a good time for that.
- You need to balance your game. (How much damage a tower should do, how often should creeps spawn, how much mana should my firemage’s fireball cost and such)
After you’ve succesfully completed the above steps, congratulations! Your game mechanics are working and you’re done polishing it. Before “closing the case”, TEST EVERYTHING.
Edit: Huge wall of text…Honestly I don’t know how to make it more readable, so please bear with me