24
Tank Battle 3D Team: Something Soft Kevin Clow & Matthew Vaughan

Kevin Clow: Artificial Intelligence Programmer Physics Programmer 3D modeler Matthew Vaughan: Project Manager GUI Programmer Audio Engineer/Programmer

Embed Size (px)

Citation preview

Tank Battle 3DTeam: Something Soft

Kevin Clow & Matthew Vaughan

Roles and ResponsibilitiesKevin Clow:• Artificial Intelligence Programmer• Physics Programmer• 3D modeler

Matthew Vaughan:• Project Manager• GUI Programmer• Audio Engineer/Programmer• 3D modeler

Gameplay Features• Dynamically generated, maze style maps• 3D, 3rd person gameplay with hovering

tanks• Multiple ammunition types at player’s

disposal• Point system for added replay value• Control tank using Xbox 360 controller or a

keyboard

Target Market

• Players who enjoy

• 3rd person shooting games

• strategy style gameplay

• maze style maps

Marketing

• Free and low-cost advertising• dedicated website for player’s to view,

comment on, and download the game• domain will be through GoDaddy.com• links to social websites on game website

• social networking websites• Facebook, Twitter, Google+, etc.• be able to reach about one billion people

Competition• Introducing our competitors

• Wii Tanks for the Nintendo Wii

• Crazy Tanks for mobile devices

• Tank Recon 3D for mobile devices

We aren’t the only ones to think of this!

Competition: Wii Tanks

Image courtesy ofmonstersandcritics.com

Competition: Wii Tanks

Similarities:• Different types of enemies• Point system

Tank Battle 3D has:• Dynamically created maze maps• Much larger maps• Pickups & Power-ups • More types of enemies• Difficulty setting

Competition: Crazy Tanks

Image courtesy ofitunes.apple.com

Competition: Crazy Tanks

Similarities:• Large maps• Pickups & Power-ups• Point system• Difficulty setting

Tank Battle 3D has:• Differing types of enemies• Dynamically created maze maps• More types of power-ups

Competition: Tank Recon 3D

Image courtesy ofitunes.apple.com

Competition: Tank Recon 3DSimilarities:

• Large maps• Pickups & Power-ups• Point system• Difficulty setting

Tank Battle 3D has:• Differing types of enemies• Dynamically created maze maps• More types of power-ups

Development Methodology• Core development is done in parallel

• Kevin works on A.I., Matthew works on menu• A.I. and menu system integrated together

• Unity game engine (free version)• C# used for script development

• Most art assets are created using Blender• some projectiles created within Unity

Development Methodology cont.• Iterative Use Case Driven Development

• 23 cases total• 2 - 3 life cycles for each case• requirements • development • testing

• Weekly Updates• Senior project instructor: Professor Duncan• Technical advisor: Professor Bahrt

Version Control• Google Code

• cloud storage

• Tortoise SVN (Subversion)• version control system

• WinMerge• manual file merging

Testing

• Testing occurred during each feature implementation

• Play testing using multiple subjects for feedback

Unity!• Compared to Unreal Engine 3, Unity gave

us:• ability to layer objects for collision

• on the fly variable changes using the Inspector

• on the fly compilation when executed in the editor

• rapid implementation of the game

Graphical User Interface• Link menu system to empty Game Object

• developed using Unity’s stock GUI system

• switch between menus using a delegate • a data type that references a method• behaves like method once assigned one

• HUD (Heads Up Display)• also uses Unity stock GUI system• textures used for health & power-up meters

and for ammo and power-up type icons

How we designed our maps

Example layout created with MS Paint

Layout of maze when generated within Unity

Artificial Intelligence

• Enemy tank

• Enemy turret

• Enemy mobile mine

• Group level behavior

Procedural Maze Generation• Given the dimensions of the space, structure

of existing rooms, the start point, and end points.

• Based on available space from unconnected Doors to edges determine all possible rooms to place

• Remove rooms from possible rooms that conflict with others

• Select room from possible rooms.• Create, and place selected room.

Lessons Learned• Developing the game using C++ and DirectX

• integration• knowledge

• Procedural Room Generation

• Explosion SFX• one reference script for each explosion

• We overcame each other’s differences

Demonstration

Q&A