Our group has one crucial thing in common. We all take a really... monotone course called French! During this class, we would experiment with different games to pass the time. One of those games was Go (The electronic version). The idea of surrounding pieces to capture them really captivated us, and we've been playing ever since. Infected is our take on Go.
How it works
Infected is quite simple at its core. Players take turns placing one "virus" each on the 9x6 table, and slowly accumulate more territory on the board. Players can also stack viruses on top of their own viruses (players can't stack on a square that already has someone else's virus), causing them to become unstable (Here's where it gets very interesting...) Based on where the virus is located on the board, it can "explode" after it becomes too unstable. When a piece explodes, it loses the original piece and shoots new viruses in all possible directions. If the piece is in one of the corners, it explodes as soon as a user stacks another virus on top of it. If it's on an edge, it explodes on the third stack, and finally, if it's anywhere else it explodes on the fourth stack. When a virus "explodes" the new daughter viruses take over the squares it exploded into. If that square happened to have an unstable virus, that virus explodes as part of the original explosion! This causes the viral chain to spread, so when there are many pieces on the board the explosions get big...
How we did it
Infected was coded in python, using pygame. The board was represented using a 2-D list and involves a lot of list manipulation. Many of our functions, such as the explode function, recurse on themselves when they effect surrounding viruses. We also utilized subsurfaces to make win screens. We also used a photo editor called Picfont, for images and loading screens.
We had some difficulty at 4:00 am (not the greatest time) with winning the game. After a player is eliminated, we needed to remove them from the playing rotation, which proved to be more complicated than expected. However, we persevered, and with the assistance of David, we solved it!
This was the first time we programmed a game, and also the first group project we did! We succeeded in using elements we learned in class in this as well!
What we learned
We learned that recursion depth in relation to the base case is important... That was a really hard lesson...
What's next for Infected
Add powerups and abilities for different viruses, animations, new and innovative game modes, android development and unbeatable A.I!