top of page

Space Cowboys

Software Used: Unity3D, Photoshop
Role In Project: Lead Programmer
BigLogo.png

The first iteration of this game was a prototype made as a school project within 6 days with the new Vive Focus headset, a standalone VR headset with 6 degrees of freedom. It was designed to show off what the headset could do, as well as give me my first real introduction to working in Virtual Reality. We focused on making a game that we enjoyed, which meant combining good game design along with a good joke, which gave birth to the idea of Roomba’s with cowboy hats invading a town. After further encouragement from my professor, I decided to continue developing Space Cowboys, and I have ever since.

​

Art Development

As a gameplay programmer, there is only so much I can do to improve the art. However, I did improve it through technical aspects, such as the lighting and optimization. However I have also improved the artwork with particle effects, animations, and UI that I designed and created myself. Along with that I also started looking into shaders to improve the game as well in little areas.

​

Programming Development

One of the big things that I wanted to add to the game was more AI. With the current AI there was no threat to the player. I wanted to add an enemy that not only shot the player, but evaded shots and moved around, causing the player to have to switch from being the hunter, to being the hunted. This was a major point for me because of the Vive Focuses 6 degrees of freedom on the headset, which would allow the player to dodge shots fired by the enemies. But I wanted it to be more than just simple move to areas. I programed the AI with Raycasts to detect when something was in their way, so that it would make it more realistic. You wouldn't want two enemies occupying the same spot, or an enemy traveling through a wall to get to their desired destination. Along with that I have programmed several firearms such as a shotgun which I hope to implement into the game.

AI Code

This AI was meant to go into a specific area of the game, they were meant to just fly into the hotel windows and then scale down until they are a certain size and despawn. Every time they reached their objective and despawned they would take away health from the town, and when the town would lose all it's health the game would end.

​

I wanted to make it so that I or someone else could easily change where the robots would travel to.

Advanced Enemy AI Code

This code is an upgrade from the earlier code. It still uses similar code from the earlier iteration where it goes based on objects placed in the world. However it's been improved with ray casts and shooting mechanics. This enemy's purpose was not to invade the town but to shoot the player, giving the player another objective, which was to dodge.

​

So this required a separate set of target points so it wouldn't confuse the other AI which was easy. I however wanted to be able to place these target points behind game objects for cover, however that would cause issues since the AI would attempt to go through the game object to get to the target point. The way I fixed this was with ray casts. When choosing a new target point the AI would find ones that were immediately accessible, as you can see in the demo video below.

Red Box means that the target point cannot be reached. Yellow means that the target point is reachable from the AI's current position.

bottom of page