Johnny Basic was my capstone project for game development at JCCC. I worked as lead programmer in a group of 5, doing all gameplay and systems programming. In my team was two designers, an animator and another programmer who did all of the enemy and companion AI. the project lasted two semesters and during the second semester we brought in an additional artist who worked on the hud and environment art. We also worked with three composers from UMKC, although they did not work with us directly.
Raycast character controller
The character controller uses a raycasting system paired with kinematic movement equations to allow for collision detection and movement. This controller is used for everything that moves in the game - player, companions, enemies and even loot and platforms.
Each character has three skills that each have three upgrades, which are non-linear. The player must collect loot and trade these to upgrade their skills. This system was probably the biggest challenge of the project, with the upgrades being non-linear i couldn't use a simple integer value to determine what stage of your skill you had unlocked - except i did! My final solution to this issue was to use bit-shifting and bitwise operations, which each bit being a different upgrade. Whenever the character is loaded it would read in its data and assign the stats of its skill based on these operations. This was the first time i had actually used bitwise operations and was pretty proud to get it working.
official website and trailer
To take our project to the next level I decided to make a trailer for our game, then Lamont and I decided to make a free Wordpress site for the project. We used the site to give contact information for everybody who worked on the project as well as list all of the features of the game - whether they made the demo or not. The game is also available for free download here and on the official site, enjoy!