120 likes | 253 Views
Urban Towers Technical. By Agents of the BSoD. Agents of the BSoD. Kyle Sweeney-Leader Peter Cowal - Art, Code, Music August Lindgrenberg -Ruby- Music, Art Thane Meyer- Music, Documentation Taylor Sutton-Code Liam Mahoney-Art Yestin Harrison-Art Sam Strba - Art. Java.
E N D
Urban Towers Technical By Agents of the BSoD
Agents of the BSoD • Kyle Sweeney-Leader • Peter Cowal- Art, Code, Music • August Lindgrenberg-Ruby- Music, Art • Thane Meyer- Music, Documentation • Taylor Sutton-Code • Liam Mahoney-Art • Yestin Harrison-Art • Sam Strba- Art
Java • Object Oriented Design • Easy Deployment across multiple platforms • Windows • Linux • OS X • GNU GPL v3
Sweeney Game Development Environment • Home Grown SDK • Made by Kyle Sweeney • Summer Project after taking AP Compsci • Intended for easy development for Java programmers • GNU GPL v3
Object Oriented • Natural for Games • Two Approaches • ID Based Objects • Child Based Classes • Easier Readability
Game Organization • Master Grid • Smaller Arrays of Active tiles and Roads • Faster- don’t update/draw what you don’t need to • Master Array for Enemies and Bullets • Different screens have different classes
State Vs. Event driven • Framework takes Events and translates to State • Both are sometimes needed • Compensation: Booleans
Enemy Pathfinding Really Quick and Really Dirty
How It Works • Enemies parse the roads into an integer array • The array values: • 0 if the tile is a road • 9001 if the tile is not • As the enemies move, they add a mark to their current cell • They then make decisions based on the number of marks in the adjacent squares
Flow Chart Spawn Move straight forwards No Move to cell that’s been marked the least Mark Cell Yes No Have I marked this cell a couple of times? Am I at a 4-way intersection? Can I exit the grid? No Yes Yes Exit Grid
Google Code • Remote code repository • Allows for easy management of the code • 340+ revisions • Subversion through NetBeans
NetBeans • Wonderful IDE • Easy debugging capabilities • File Management system built in as well • Compiles and creates code and Java Doc