| Abstract | |
| Game Title: | Attack of the Drones |
| Development Team Members: | Zack Fleischman and Chang Glasgow |
| Game Genre: | 2D Strategy Game |
| Brief Description: | Two bases are positioned in the world, drones will continuously come out of your base and blindly walk forward. You must direct your drones toward the enemy base via selecting a drone and performing one of many different abilities. These abilities cost resources, which you will obtain at a steady rate. These abilities can help your drones navigate terrain, or destroy enemy soldiers. The ultimate goal is to destroy the enemy's base before they destroy your base! |
| Overview | |
| Game Story / Objective: | These drones have been feuding for years. They are sick of each other. And they have the fire-power to do something about it! Its finally down to a simple battle and all you have to do is destroy their base. The fate of the entire universe and then some is on the line. Don't screw up. |
| Game Mechanics + Controls: | Select drones with click and drag selection boxes. WASD handles camera panning, note that the world features horizontal wrapping. Droid can build bridges and ladders, dig at 45 degree angles up or down, jump, or attack via a number of means. These abilities are activated by selecting a droid and clicking the corresponding ability button at the bottom of the screen. Shortkey bindings are listed on the buttons. Watch out for friendly fire! |
| Technology: | Gameplay and hilarity are probably our significant features of choice. Don't believe me? Well, you'll just have to play it to find out. |
| Aesthetics: | Our graphics might not be hot, but watch out for that there AI - she's packing a wallop with that laser. |
| Media | |
| Screenshots: | Coming Soon! |
| (Optional) Download: | Coming Soon! |
| Development Summary | |
| CODE: | Most of the graphics code was pulled from earlier projects in the course and the skybox was a carry-over from Computer Graphics. An approximate structure tree: main (timing and globals) | +--Engine (graphics, input, and logical updates manager) | +--Map (loads and stores level maps) | +--Player[2] (team manager) | | | +--AI (AI handling functions, blue player only) | | | +--Base (base object) | | | +--Soldier Vector (droid objects with self-contained movement physics and ability implementation) | | | +--Laser[40] (laser shot objects) | | | +--Missile[20] (missile objects) | +--SB_Mesh (skybox object) | +--MD2_Mesh (MD2 object loader) | +--MDK_Anim (MD2 object animations) |
| CONTENT: | Droid models and textures (and their blasters) were downloaded from Polycount, all other graphics were created as original content. Levels are PNG images and can be edited and authored by players to suit their interests and desires. Beware of lasers on open maps. |
| Reflections | |
| Three Greatest Challenges: | AI: We chose a highly heuristic approach for on the fly performance, with separate resource budgetting for construction (advancing and obstacle avoidance) and aggressive combat (lasers, missiles, and self detonations). Physics: We chose to implement a fully discrete (and slightly limited) physics and logical updates system to save on development time. Desctructable terrain and objects: We chose to store the terrain and buildable objects in 2 dimensional arrays of short ints, which allowed us to quickly and easily modify terrain and objects in O(1) time. |
| Three things that went right: | We are fairly satisfied with overall gameplay, AI, and droid abilities - mostly because we had too much fun debugging along the way. |
| Three things that went wrong: | Graphics didn't progress as far as we'd originally hoped, due in part to time and in part to system performance as the game's complexity grew. Digging and the digging element of the AI remain somewhat buggy and imperfect. The UI could benefit from the commitment of more manhours, but only if you really want to have users. |
| Other final thoughts: | In retrospect, we could have achieved a more visually impressive game by pursuing simpler graphics or developing for other systems instead of catering exclusively to the graphics cluster machines. |