Game Summary
Crab Rangoon is a 2-D side scroller style game that was developed using Python and Pygame along with PIXILART to develop the artwork. The game is set on a beach in Guam. The main character, Arte, wakes up to find that all of his kitchen utensils have been stolen by robber crabs. The game takes you throughout the day starting at sunrise on a beach and ending on the same beach under the night sky. Arte must move through the levels defeating crabs by shooting them with balls of butter and defeating different boss crabs to retrieve his stolen kitchen utensils.
The scoring for the game is displayed in the upper left hand corner. The scoring system works by providing ten points for every crab that is defeated. Five bonus points are awarded for each bottle that is collected off the beach. The player can also lose five points by stepping in the sinkholes along the beach.
Zip Link: https://osf.io/f73k6/
Process
The art for the game was created using PIXILART. Each of the backgrounds were individually created with different wave positions to be ran chronologically to create waves crashing on the beach.This proved too challenging so it was shortened to a handful of backgrounds from different slides spliced together to be one long continually cycling image. Arte was also created using PIXILART with several different body orientations to create the visual of him running and jumping. Similar to Arte, the crabs were also created using the same process to create the appearance of them moving along the beach. The sinkholes and water bottles were also made using PIXILART. As a group of engineers, we were not familiar with Python when we began this process, so half the battle was watching tutorials and seeing what other people had done in order to make a functioning game. The structure of the code was taken from an open source creator and we were able to tweak it to make the game our own. The tweaks included mechanics such as jumping, shooting, and negative scoring. The original jumping was a bit too high and unrealistic for us so it was toned down to a reasonable height. The shooting was edited to fire butter ball at our enemies as it is more fitting to the theme than the original bullets. Lastly, the negative scoring was added by including sinkholes on the beach which, as stated above, take away score from the player. Also, to fit the narrative of recycling, we added plastic bottles which can be picked up off the beach for additional score.
Skills Learned
Throughout the process of creating this game, the group acquired new skills in several different softwares. Each member of the group acquired skills using Python and Pygame through different aspects of the game. Starting from scratch with no Python experience was a big challenge. The group learned how to install and use this language through IDEs. Once we figured out how to actually start coding with Python, it was another challenge to be able to work collaboratively. As mentioned in the final presentation, we were unsure of the best way to share code with each other after updates had been made. Initially, email was used which was just a downright terrible idea. We then moved to using BOX online and in hindsight, we could have setup a Github which functions similarly to BOX, but is made for programmers to share code specifically. Dylan Bolles also gained experience in PIXILART from creating all the art used for the game.
Bugs
The game is still in the early stages of development and still has many bugs to be fixed. For example, the crabs spawn in the same location every time instead of the desired random spawning. The scoring is also still working incorrectly. The health bar does not increase when the recycling is collected and the game does not end when the player loses all his health. These bugs are all something that could be relatively easily corrected if we had more time to develop the game and not waste so much time actually learning how to use Python. The full bug tracking document is attached at the bottom of this blog post.
Demo
Leave a Reply