In this project, the end product was to get students to create a game on Starlogo Nova that has a "chance" element. Starlogo Nova is basically a coding website for beginners. Students were expected to problem solve when something wouldn't work in their code and figure out how to get things to work. The random chance element is for the probability portion of the project. For example, let's use the coin flip. A question of probability for coin flips would be "What's the probability of getting three heads in a row?" We had to find a way to include this into our game, and then once the project was over, we had to figure out the probability of something happening in our games.
Overview - Benchmarks
Benchmark #1: Figure out what game you want to create in Starlogo Nova Benchmark #2: Create a detailed game description, including all breeds and agents that are planned on being used. Benchmark: #3: Document how your game is going to be programmed in Starlogo Nova and practice using different agents to see if they'll work in your game. Benchmark: #4: Start creating your game! Get through bugs and implement your "chance" element. Benchmark #5: Finalize your game and show it off on exhibition night. Benchmark #6: Create a detailed game description again, including all breeds and agents that you used in your game. Benchmark #7: Create a page on your DP and write a project description, go over benchmarks, describe your game, and reflect on the project.
All these benchmarks were definitely necessary during the course of the project. I think the goal of benchmarks is to make sure the student is still focused on the work at hand. You can tell if someone isn't trying hard on their work if they don't do well on the benchmarks. If you're focusing on your benchmark and doing everything you're supposed to be doing, the benchmarks are simple.
I'm sure you've heard of the game Hungry Hungry Hippos. I decided to make a version of that on Starlogo Nova. Instead of hippos, I used sharks and instead of balls, I used fish. The goal of the game is the have the sharks eat all the fish. Once all the fish are gone, you can spawn more to continue. In my take, the player controls all the sharks, and I added a little something extra. Urchins. Basically, if a shark eats an urchin, the shark dies and you control the remaining sharks. To start the game, click the "Set Up" button. This puts all the sharks in their positions. Next, click the "Spawn Fish" button. This makes all the fish and urchins spawn into the middle of the map. It also is for when you eat all the fish at the end of the round. Clicking it again after all the fish have been eaten will spawn in more fish and urchins, therefore continuing the game. The last step is clicking the "Release the Fish" button. This will get all the fish moving so your sharks can start eating. Bon appetit!
Reflection
Overall, I really enjoyed this project. I worked with my friend Lydia and we had a blast making our game. We accomplished a lot like making the fish move independently, setting the spawn amount of fish and urchin to random, and control of the sharks. I think the most challenging part was adding the urchins themselves. Sure they were the same commands as the fish, but we didn't know that at first. We were just going through and trying random commands to try and get them to work. Eventually we figured out it was an easy solution. I'm happy with our end product. I had to use a lot of the Habits of a Mathematician. To start, I used Looking for Patterns, Starting Small, and Be Systematic. I looked for patterns in previous codes I'd used to see if they'd work for the code I was making. For Starting Small, I started at the base of the code, which was to get the sharks to spawn in specific positions. Lastly, for Be Systematic, I made small changes for codes to see what would happen, and kept changing it repeatedly until I found the correct code that would work.