Development notes After Lan Master was mostly finished and tested, there were still about three weeks before the NES Coding Competition 2011 deadline. I thought I may try to make an extra, very simple and small game - tools and code made for Lan Master allowed to speed up the process. I decided to make a more or less exact clone of certain version of classic lawn mower game I've seen on BK-0010 (made in 1986) and ZX Spectrum. The original game was single screen, with all the objects represented by 8x8 characters, and with character-based movements. There were just three levels of difficulty with increasing movement speed. Such a simple game easily could be done in very short time and fit into smallest ROM. However, thinking about it, different ideas arose, like '8x8 chars are difficult to see', 'larger chars means smaller levels', 'it is boring without music'. Then I aimed to a design similar to early NES arcades, but overdid this too. At some point I decided to go with 24K NROM, and not more, because the project was really bloated from the initial idea. Even having this limitation, the data just didn't fit into the ROM, so funny optimizations were used, like levels data in the CHR ROM, and shared instruments data for all the music. There are about 180 bytes of free room in the PRG ROM. Besides the presentation, there were changes in the gameplay, like speeding up, flowers and stones, fuel bonus only put on cut grass, etc. I think, all this adds more tactics in the game and makes the player fight not just with the timer or something, but mostly with his own accuracy and impatience. A NESASM bug finally was noticed by me in this project. It does not report ROM overflow in some cases, producing not working ROM without any warnings. If you move some data around, it starts to show an error. One major problem were very different palettes across the emulators. If one good palette is made for an emulator, it looks just bad in other emulators. It is not just shade of a colors, one color can vary from lime to clean yellow, for example. There are 4800+ lines of manually written assembly code in the project, including FamiTone, which was modified and fixed a bit in the process. The project took about three weeks of work, with week or more almost full time. I had a little time to test it properly, and few bugs including major one were fixed a day before the deadline. Luckily, I got help with testing on the actual NES (B00daW), because I have no PowerPak, and the test revealed really major problem with the scrolling, which is not happens in 7 different emulators. The problem was solved by altering design. The game does not work in Jnes (hangs after start) and in UberNES (black screen) by some reason. It was not fixed because the game works on actual console and other emulators. Software used: Graphics Gale - to sketch title screen and most of in-game graphics, it was converted and edited with NES Screen Tool afterwards Notepad++ - for all the code and text works NESASM v3.1 - to compile the code FamiTracker - to make all the music and sound effects FCEUX, Nintendulator, VirtuaNES (profiler mod) - to test everything, some others for compatibility tests Borland Turbo Explorer - to make level editor Inkscape, Blender, CutePDF Writer - to make manual and label