Fine work. It's been a while but I've been giving the game a little more love recently. I've worked in some music and sound effects and am putting together a 'free play' mode where it's a little easier (more chilled) and plays random levels. Of course, the classic 'nails' version of the game will still be there.
Aim to post an update soon - maybe a beta over the weekend for those interested. Apologies for not doing the Zune 3.0 conversion myself - this was a poor effort on my part so I really appreciate you taking the trouble.
Please be assured that I am working on it - needed more tlc than I'd envisaged. Current version doesn't run on Zune - nasty bug just causes a restart - will post something asap but likely to be beta.
Here's my to do list. Stuff with priority 1 will get done this week. Note that I've added a Casual Mode (not as brutal, plays random levels), music and sound effects as well as enhancing the performance and readability of the code base. I've spent a lot of time tidying things up ahead of my second shot at a *very* faithful Pac Man homage.
[1] Alphabetise classes in GameScreenComponents (easy)
[1] Check all references to ‘layout’
[1] Review Assertions (especially Trace.Assert calls)
[1] Review ‘readonly’ properties
[1] Review all instances of ‘Service’ class names (prefer Manager) (easy)
[1] BUG: cycling caverns in Casual Mode
[1] Continue versus Resume, generally
[1] Don't deplete air in wrong modes
[1] Check RELEASE comments
[1] Randomise caverns properly in Casual Mode
[1] Allow Casual Mode to be chosen by user
[1] Check all frame rate handling code (grunt)
[1] Fix Game Over sound effect (separate whistle and splat)
[1] Fix Kong screens, including audio effects
[1] Re-check config with Andy Noble’s code and update spreadsheet (grunt)
[1] Remove debug code (e.g. moving Willy)
[1] Fix scoring on level complete
[1] Add Guide support for Zune
[1] Create Windows icon (easy)
[1] Review / tidy up all TODOs (grunt)
[1] Review / tidy up GuardianPath code (grunt)
[1] Test on Zune
[1] Test on Xbox 360
[1] *** FxCop ***
[1] Remove references to System.Diagnostics?
[1] Merge Screen and ScreenManager
[1] Add private getter CanPlayGameMusic to Music; generally test music and audio effects on Zune and Xbox 360
[1] Get Willy / Exit collision right
[1] Better focus on Willy (i.e. show more of the screen)
[2] Add ‘secret’ to final cavern
[2] Review use of ‘out’ parameters
[2] Create configuration parameter classes; avoid passing XmlNode to game object constructors
[2] Finish Skylab screen (hard)
[2] Implement IDisposable on: SpriteBase, DrawableGameComponent2, DrawableGameComponentCollection, ScreenComponentBase, SpriteBatchManager (easy)
[2] Make keys glister [and / or spin]
[2] Test on Xbox 360
[3] Allow part‑block coordinates in config
[3] Repeat in‑game music if it finishes
[3] Smooth out focusing on Willy when zooming in
[4] Play piano in Attract Mode
[4] Scrolling caption in Attract Mode
[4] Create custom exception classes (see AssertHelper)
[4] Show Guardian 'shadows' when off‑screen
[4] Enable caverns to have different time allowances (i.e. air)
Wow - that's sure a long TODO list. Looks like you're making sure to dot all the I's and cross all the T's - FxCop? Seriously? That thing spews out hundreds of errors for even the most perfect program.
Re FxCop, you're right. The Manic Miner code has been through this a couple of times. It's handy for spotting some issues but much of it I would consider to be 'noise' [I'm a software dev by profession].
Cheers.
All
Apologies for making a promise I didn't keep. Started a new job recently and this is consuming all my time. Whatever happens, I'll post the new code this weekend to gameprojects.com (by 31 Jan) and post a link here.