Tanks! Project Proposal

This document was submitted as the original project proposal. Since then the project has undergone many design changes, and as a result many elements described here are not present in the game, and vice versa.

The task at hand is the demonstration of skill in Computer Science, particularly in arrays, loops, functions, and object-oriented programming. Skill will be shown through the creation of an application made to entertain the user in the form of a video game. This application will be successful when it is entertaining for the user and does its functions efficiently.

The game in question will be an adventure game in which the player can explore a pre-generated world and do activities as they please. These are the elements that will make the application interesting and worthwhile. The GameMaker: Studio IDE is ideal for this project, which features object-oriented coding.


This project is motivating for me because I, as a user, enjoy games where the user has many options in their gameplay (items to collect, places to explore etc). In turn, making a game with these elements will be rewarding to complete. I am eager to demonstrate my ability with GameMaker: Studio using the skills I have learned during the past few weeks.


The player's objective will be to collect a certain number of items for the game to be complete. The game is centered around a world that the player can traverse through and collect objects on the way, that will be kept by the player (via some sort of inventory system) to come into use later. Views will be two-dimensional and from a top-down perspective. The world will be made up of many rooms connected to each other, with various enemies, items, and environments in each. However, it will be up to the player to decide what route to take through the world.


The game will have an urban or wartime setting, and the player will operate a tank. The world will be made up of metal (indestructible) and brick (destructible) walls, among other environment objects like bushes and perhaps others. Enemies will be mostly quite simple. There will be consumable items that the player can obtain to advance their play. Other items may include upgrades to the tank. Some form of extra dungeons or small worlds may be connected to the main world if there is time. The user will have completed the game when they have collected all of a certain object, somehow relating to the background story of the game. Inventory systems will be simulated with arrays, and the game will attempt to be as effective as possible with scripts. Some graphical effects may even be implemented using surfaces and particle effects.


Overall, using GameMaker: Studio I will create a game that puts into practice my knowledge of arrays, loops, functions, as well as general programming. This efficient application will entertain the user with an explorable world and an array of items to utilize.