Programming and Probability
Project Description
Programming and Probability was a project that revolved around studying probability and using what we learned in order to create a game on a website called StarLogo Nova. This meant that we had a to learn quite a bit about probability in order to understand how it works and we also had to take some quick classes on how to program. Overall the goal was to learn the fundamentals of probability and how they relate to our lives.
Project Overview
When we first began this project I wasn’t very sure of what I wanted to do and how I could incorporate probability into my game. The first task for me was to learn how to code, and so we had some classes in which the focus was to practice and improve at coding different things. I thought that it would be much more complicated, but I soon caught onto what I had to do and began to feel confident about that part of the project. The first benchmark that we had was to find or choose the game that we wanted to make on the website and to figure out if we wanted to work individually or in a partnership. I decide that I would work on a partnership because for our final presentations, I knew that I wouldn’t be there, so it would be best to have someone to rely on and to be able to present it to the public. The second benchmark that we had during this project was to officially state our idea of what we wanted to do and how we planned on making it a game that incorporated probability. I decide that I wanted to make my game based off of the idea of another one called Tank Trouble. This was something I wanted to do because I found that game fun and thought that it would be a good game to program into StarLogo Nova. The third benchmark was to begin the process of programming in order to have a working for the night of Exhibition. This was the longest and biggest benchmark because it would mean that we would have to create the game that we had been planning and to use our programming skills. For me, this was the most successful benchmark because I felt that I was able to create something that I was proud of and had everything necessary in order for it to be a quality game. The last benchmark that we had during this project was to calculate the probabilities in our game and to test our learning for probability.
Product/Instructions
The premises for my game is to move a tank around a terrain and to have them shoot the second tank. This is possible through the programming that my partner and I did in order to be able to create two players who can shoot and move around. When the game begins, the terrain randomly creates walls that can’t be passed by the player. Although the bullets can glide through, giving an aid or a disadvantage for the player and his opponent. In order to move player one, you have to press the keys ESDF, in order to move in any direction. E will move the player forward, S will turn the player to the left, D will make the player move backwards, and F will make the player turn to the right. In order to shoot the player can press the letter Q and the red tank will shoot. For the second player to move, their corresponding keys are UP, DOWN, LEFT, RIGHT, M. As the names would suggest the keys move the player in that direction and the letter M lets the player shoot. These are the directions for the players and the main goal of the game is to shoot one another. Although this game is a remake of tank trouble, it does have a few differences, mainly the fact that the bullets can’t bounce on walls within our version. But the concept and controls are very similar, with just a few tweaks due to the limitations that we would have because of the website that we were using.
Reflection
Overall throughout the entirety of this project I had a lot of successes and moments in which I wasn’t sure of how to do things. I believe that I had a lot of positives throughout the process and had a partner who was always there to help me. One of the main successes that we had I would say, was to complete the game and to have been properly prepared for the day of our exhibition. This was a big deal for us because we had completed our main objective and wouldn’t have to stress about not being ready or not being sure about the success of our project. We began with a goal and a solid idea, and we were quick to bring that visualization to life by creating what we envisioned. One challenge that we encountered throughout this project might have been when we were programming because sometimes the website would be a little difficult and not allow us to do certain blocks or to create certain directions. Nonetheless we continued pushing forward and figured out alternative ways to get what we wanted done. We would conjecture and test whenever we weren’t sure about what happened when somethings were programmed and we stayed organized with our blocks so that we could quickly find solutions to our bugs or problems. In the end we achieved what we wanted to, and were able to create a game that we felt was an accurate representation of our work.