top of page

Behind the Scene of Guerilla Ninja

Overview

Here is the behind the scenes of making Guerilla Ninja. The idea came up when playing the NES Ninja Gaiden and Contra along with a Neo-Geo arcade game, Nam 1975. The thought of making a 2D side-scrolling platformer with styles from these games' inspiration would be something interesting for a project. It wasn't until in the YouTube recommended feeds that there was a video about an old 80s movie called "American Ninja". From that point on, that's where the project begin. However, the game will be set in an alternate world of 1974 during the Vietnam War. Replace fighting against Viet Cong or Soviet forces in the jungle of Vietnam with a South Vietnamese Ranger with Ninjutsu (The Guerilla Ninja) fighting against an organized syndicate's private militia. Now, taking these ideas, it's time to plan out how the game should be. 

Concept Design

Concept Design

The concept designs for the game are all hand draw. Sketched out with a pencil and ruler to use for measurements and dimensions. First, I did the base for the characters. Then, I add in the details of the base to form a humanoid figure. Finally, I finish it off with the accessories(i.e. the uniform, ammo belt, etc.). Below is an example of a concept design of the game's protagonist, Guerilla Ninja.

The concept design for Guerilla Ninja character shows every perspective of the character including the weapons this character will use in the game. I added the colors to show the color scheme this character will have for the sprites. With the rough sketch done, I move on with making the sprites for him. Using the base maker from Sprite Creator 3 XP program, I have the base to work on creating the protagonist.

​

​

​

​

​

​

​

​

With the concept design at the ready, I draw out the designs using the base in Microsoft Paint. I also added the weapons and each of the projectiles for it respectively. By doing this, it would be easier to attach it to the character in Unity for the animation. I detailed every parts of the base sprite to make it look like what is shown in the sketch. I would also try to tweak the sprites around to make the character's other actions besides the walking from the base sprite( (i.e. running, shooting a firearm, throwing an object, jump, etc.). The camouflages for the uniform are shrunk to a smaller pixel to make it look 8-bit. 

The process

Level Design

Level Design

Like the concept design, the level designs are all hand drawn using pencil and a ruler. Roughly sketched out each of the levels. Each level are split into two parts: 1-1 and 1-2 as an example. The first part of the level is just a basic platformer stage which includes a door/portal object that lets the player progress to the second part of the level. Like the first part, the second part also is a basic platformer stage, but at the end of the stage is a boss battle. The player will fight against the boss until defeating the boss is when the player will continue on to the next level. Every level will contain different platforms and numbers of enemies/obstacles player will encounter during gameplay.

​

The game contains 4 different level. Each level will be a different environment along with the "time of day differences" (i.e. daytime, evening/sunset, and night). This give the player the feel of the game's environment. The levels also increase in difficulty as the player progresses. The higher the player progress, the more enemies and obstacles tries to take on the player. The first level will be easier since it will introduce the player about the game's mechanic and game itself. Varieties of enemy and obstacles will be put in the levels as the player progress. Enemies ranging from non-combatants and enemies whom shoots projectiles at player that comes in range giving players the ability to use the protagonist's regular attack or shoot at the enemies. Beside the enemies, there are also platforms that moves and obstacles such as traps that deal damages to the player when stepping on it. 

Level 1 Design Example

After getting the rough sketch of the levels done, it time to move on to creating the level in Unity Engine. While most people would used level design programs to make them and import them into Unity, I discovered that you can also make them inside Unity with Tilemap and Grid. Using a pre-made tiled stage assets (Special thanks and shoutout to Ansimuz for the Sunnyland Pixel Game Art assets), I went on ahead to build the level with tilemapping using palletes and layers. Using the palletes, I can put each bits for the levels and layers made to differentiate from ground and platforms that player can go be on. Rinse and repeat for the rest of the levels.

Level 1 TileMap in Unity Example

End Result

Game Design

Game Design

Now comes the fun part: GAME DESIGN!!!!! YEAH!!!!!! TIME TO MAKE THE GAME INTO REALITY!!! Although, this is just something I came up when brainstorming. A game using similar game-style and traits from the classic NES Ninja Gaiden and Contra being inspired by an 80s action movie about an American soldier who knows Ninjutsu? A game taking place during an alternate version of 1974 Vietnam War with an ARVN Ranger who used not only his military tactics but Ninjutsu? Seems like a great idea on paper for a game pitch idea, but what about actually making the game? Well, that's where I wanted to see if this project would continue. So, I plan out to create a prototype of the game with just one level and a boss battle. That's it. Not much going into details, besides getting the bare minimum amount for a prototype demo(basic player controllers such as moving and jumping over to the next platform). I've added the shooting action where the player can shoot different types of weapons the character has as their default loadout. The player can toggle around which weapon they can use and shoot at the enemy character. However, player should be choose wisely on whether they should use that weapon all the time during gameplay. Ammunitions can vary on what the lootboxes give them(maybe more shuriken, a handgun ammo, or assault rifle ammo), so it's best to either save them later on for boss battles or certain situations in the game.

 

I seem to be getting off topic as I type this, so I will stop here and get back to what the actual title meant hehe. So, game design of Guerilla Ninja. I have been using Trello to plan out what should go on the game, what other features can be added, features that are done, etc. Learning how to use Trello since my days in my college university's video game development club, it has always helped me so much during the design and development stage of the game. At first, I started off with the prototype. With the prototype complete, I send it out on video game development Discord servers (such as my university's video game development for students). I received some feedbacks taken from those who have played the game and wrote it down on a piece of paper. I added those feedbacks into the game project's workspace on Trello and continue on to develop the game further. As I continue to develop the game, new ideas and features would come up. However, with new ideas coming up makes me forget the other ideas I thought of before. So, I would add those ideas and features into my workspace's lists of new ideas. That way, any new ideas that I thought of would not get lost if I tend to forget them via memorization. 

​

Here is my complete Trello's game project workspace (Note: Some features were never added to the final stage, but will transfer that to a possible sequel of the game's continuity).

Example of project workspace's lists to design the game

YouTube Tutorials as Game Template

YouTube Tutorials as Game Template

YouTube has been a great platform for looking up resources when it comes to game development. There are many great, helpful tutorials on any game development ranging from Unity, Unreal Engine, and to many others. For this project since I'm working with Unity Engine and its in 2D, I watched Unity 2D tutorials on platformer. As I searched them up, I found so many that looks very interesting and useful, yet one playlist I discovered there is perfect the prototype/template for Guerilla. While this one playlist is the foundation of this project, more tutorials I found, such as Brackeys, GamesplusJames, etc., have become more resources to learn in developing the project with the foundation I made from that tutorial playlist.

Scripts

Scripts

Here, the magic begins. What's a game without some scripting. Yes, scripts! Code! Programming the game to be...uh...well, you get the idea. Why does a game need scripts? Scripts are important and the carbon of video games. How will player control the character they are playing or make them do actions while playing? Without scripts, all the player will be doing is just staring at the screen with just the background, stage, objects, and characters that just stands there. 

​

To get started, I needed to create the basic fundamentals of a video game control: have the player just move the character around, jump, and basic action (in this game, just attack. Shooting will come later after getting the first part done). Sounds easy, right? I wish. Some parts are easy like just getting the input system in (i.e. if "player get arrow keys down", then "character moves left or right"). Th difficult part working with the components attached to your game object. Tutorials, as mentioned above, have been a life saver. Having the basics down, I can see that is is slowly forming into the "game." Of course even when I follow these tutorials, I will come across errors or mechanics that didn't seem to work as I thought I would expect. Debugging the scripts is the key to finding where the code went wrong. In Unity, I would go to where the problem I believe it happened. If I see that it works fine, but don't know where it happen, I would add a code that prints out in the Unity Console. That way, I can see why it didn't go to that part of the code and fix it. Sometimes, I would ask help in the YouTube tutorials' comment section or in the game dev discord channels. The more help, the better I understand and learn to script better along with keep on debugging to make sure the game works.

 

As a computer science student, the biggest fear when scripting or making games in general is the scripts and game project becomes broken, lost, or didn't save. Where can I save these in case I come across a situation like that? GITHUB!!! What's Github? GitHub is a website that you can save your projects including the scripts/codes. Best thing about GitHub is that you can control the versions of your project, hence why it's call version control. Lost project? Code that have been accidentally deleted? Github can retrieve that when you "Pull" from your repositories. It's always best to save the project every hour, but I also made sure the project is in GitHub and push every changes made into the repositories. With these new changes saved in the repositories, a huge load off my shoulders knowing that I have a copy saved and can retrieve it back if the project becomes lost or broken. 

Guerilla Ninja with Player.cs script

Conclusion

Conclusion

Overall, I enjoyed making this project. Guerilla Ninja has been a great project in the making and developing. Tough at first, but I never gave up on this project. Although there are some features I wish I could have added, I realized that even with more features added that will the game be what I expected to be? Even for me playing the game after building the full game for PC and in browser, how will others think about this game? Of course, I shared my itch.io game project page for other to try out. While I received only 2-3 feedbacks for the complete project, I'm still happy, yet relieved that there are those who enjoyed this project as well. Guerilla Ninja is just the beginning for me growing as a game developer. New skills in game development I learn and will use in my game developing stage. I strive to make games enjoyable not only for me, but for my friends and family I want to share and play along with. There are a lot more I'm enthusiastically wanting to learn more. Though this project has succeeded in some way, I want to still continue making similar to this project. With feedbacks I got from this project and features I wanted to add yet couldn't, I can always add those features and use the feedbacks to support the foundations to new projects I plan on making. Now, I will add this project to my collections of "Games I made". 

The End

© 2022 by Bill Bui. Proudly created with Wix.com

bottom of page