Background
Primarily a J2EE designer/architect. 15 years of development experience. Probably took me about 100-150 hours to learn Flash IDE, ActionScript, and how to setup a decent development environment.
Tools
Sound Design
- Free editing software – Audacity
- EQ is best used to cut frequencies – not enhance
- Consider the whole sound field
- Balancing the sounds – Sound class
- Many samples on the internet
- Think about making your own
- Use EQ, effects, and other editing to make the sound unique/avoid lawsuits
Lessons Learned
- Do not use mp3s as sound files – especially for looping
- mp3s are encoded as blocks – last block is silence filled
- Flash compresses sound on import so use raw files
- Don't do other people's jobs
- Working on physics engine just used a cheap dummy graphic that could be replaced with professional graphics later
- Spent time working on sounds that were replaced by design team. Would have been better to make a list of required sounds and a delivery date.
- Get xml property config up and running first.
- Make as much as possible in a game configurable
- Much of the tuning of a game is done by hand/feel
- Easier to tweak one aspect separately
- Allows non-tech folks to do final tweaking
- Relearn your trigonometry and basic physics
- Math actually useful
- Need to also learn "good enough" approximations of physics
- Figure out how to separate the project by developers and designers.
- Make it easy for designer to work on graphics independent of game but also allow them to test the game.
- We failed a bit here
- Externalize as much code as possible into files
- Version control more effective
- Easier to split up and merge changes
- Can use external compiler to check code – compiling in Flash IDE is slow
- Keep team small as possible
- Developers had to email fat Flash.fla file
- Only worked because we worked in shifts
- Get end-to-end setup ASAP
- We had integration issues the day of deadline
- Sticky session not turned on
- Many expected tools/libraries have to be invented or found
- Static methods are useful
- Singleton pattern
- Would consider doing a mini dependency-injection framework for AS to get away from singletons. Uber-factory.
- Separate util/framework classes from UI classes
- When in Rome...
- Prefer unit tests over static typing
- Try not to do things the Java way
**