Technical Design Document
Please Note this is not a complete document, and will constantly be a work in progress, but I hope it helps give you an idea about what we are setting out to accomplish.
Adventure Amazon offers a unique mix of tower defense and real time decision making, with the player protecting their ship while trying to escape the dangers of the amazon. The player will be able to upgrade every aspect in the game, including the number of equipped weapons, the abilities and stats of the weapons, and the ship itself.
General Development Guidelines
- Use Prefabs for any object that will be spawned or duplicated more than once.
- Comment each function, so its easy for anyone to jump and understand the code.
- Keep the TDD and GDD up to date
- Member variables names will start with a capital letter and each additional word in the name will begin with a capital letter.
- Local variables will begin with a lowercase name, and each additional word will begin with a capital letter.
- Function names will begin with a capital letter.
- All code will be written with C#.
- Class names will begin with a capital letter and each new word will begin with a capital letter.
- Apple IOS 4.0+ ( Ipad, Iphone, and Ipod )
- Android 2.0.1+
- Amazon Kindle, Amazon Kindle HD
This will be a paid game, with the potential for in-app purchases later on with an update. In-app purchases will not be crucial to playing the game and will instead be more focused on larger additions to the game as well as cosmetics. There will already be an in game currency used for unlocking and purchasing new weapons and upgrades, so if demand is high enough we could switch the game to use a free to play model.
Major Gameplay Systems
- Unlock/Upgrade System
- Stationary Enemy AI
- Underwater Enemy AI
- Flying Enemy AI
- Turret AI
- UI System
- Gameplay Camera
- Enemy Spawn system
- Save/Load System
- In-app purchasing?
- Mod system for turret loadouts
- Touch controls
3rd Party Technology
- Unity3D Version 3.6
- NGUI for all User Interfaces
- Test Flight for build distribution
- SVN for source control
One of the major issues with developing for mobile platforms is performance. The goal will be to minimize the use of alpha, and also maintaining a total draw call count of 20 – 30, which will require batching assets. We have done some tests for foliage already, and plan to do the same with projectiles as well. In short we want the best possible graphics we can put on a mobile device.
As with any project there are many risks that need to be mitigated as much as possible. Here are the main risk items and how we hope to limit the effect they have on the project.
- Losing Focus on development since this is a part time project. The goal is to work on small bite size chunks, so we constantly have a focus on what our goals are. We have also committed to a weekly update to our blogs and forums to hold accountability for progress.
- Framerate/Performance, one issue is always going to be performance, and its going to need to be monitored very closely. I plan to setup weekly builds once we get a pass on the first level in, where I profile and monitor our current performance.
- Devices, one issue with developing for mobile is how to test on all the devices out there, especially Android. I plan to utilize simulators to do as much of this as possible. I will pay close attention to users and fix issues that come up immediately.
Luckily we work at a small game studio, that is actually part of a much larger company, so we plan to utilize our coworkers and colleagues to do a lot of focus testing, and bug testing. We will send out copies of the build, with surveys asking for their type of device, bugs, and gameplay feedback. Also we will use the community’s feedback during development as well as after shipping to quickly fix any major issues that are found.