As I turned in my final assignment to Github (which by the way I finally memorized the commands for uploading!) I was pretty happy with how the course turned out. I learned a whole new operating system and gained familiarity with the terminal and its countless commands. I definitely learned enough to be able to hold my own in an entry-level job position.
I am especially proud of the group project that me and 3 other guys made (see the previous post for link). It is the most reviewed game on the Scholar forums and all the answers have been yes, yes, yes, yes, yes, etc. and everyone has had great things to say about it. Favorite comment: “If it was longer and you could get the copyright I’d pay to play this game!” It’s really encouraging to hear all the favorable reviews; it’s definitely inspired me to get back into the field of programming as my CPE focus and study up on it over break and perhaps expand this game or make my own!
My charge to the Unix class next spring: come to class and talk to each other!
So for our Intro to Unix final project, 3 other guys and I created a text-based adventure game based on the popular AMC TV series The Walking Dead. It was writting using Python and an expandable structure so that it can easily be added on to. It actually turned out really great; we’re all definitely proud of how it turned out. We accomplished every goal we set out to achieve in the beginning when we first met up.
Here’s the link to the GitHub repository where you can download a zip file and follow the README for starting the game:
If you have any feedback feel free to comment below!
Our final project has reached completion. Everything works, the only thing left to do is to play the game for hours on end and try to produce errors, as well as catch spelling mistakes and proper spacing. Since the last post, a great deal of thought went into considering the fighting style of the game. We ended up implementing a Pokémon style, where you take turns with the zombie hitting each other. The player has a plethora of weapons that are obtained thought their navigation of the game. Ammo will be limited and an infinite use knife will be provided at the beginning of the game. The fights also have random components like weapon accuracy and chance of running into a zombie.
It is also worth mentioning the save and load game functions. They both extensively used python’s pickle module. It is used for object serialization. It can dump and load variables to/from files. To see more about this module, you can check it out here.
In all, this project has extensively used python’s dictionaries to store all the needed data. Even our list of available actions is stored in a dictionary. Needless to say, this project has given me greater insight into dictionaries, even more so than Homework 4 did, which dealt with maintaining an inventory of parts.
In the past two weeks, I have met with my final project group twice. We have decided to create a text based adventure game for The Walking Dead. The structure of the game will be based on the Linux filesystem. Each folder will be its own room, with the different directions you can move. For instance the parent folder will go back and child folders to go left/right. Items and other actions will be additional files is the folders. Instead of having the entire game text be in the main python program, we have decided to break it up. We have come up with two ways to do this.
- The room description and items have their own text file that the python script will read from. In this case, the program would only need to know its folder location and any items picked up. This would make it easy to create a save game addition.
- Every folder has its own python script. In this case, the program would only know the folder location and to call the python script of the folder and wait. The folder python script would contain the room description as well as all actions and items. This would make saving the game be more difficult and would add complexity in keeping the inventory from room to room.
Both cases have different complexities, however, I personally think that case 1 would be the more elegant way to implement the idea.
If anyone has another idea on implementation, feel free to comment.