Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Development History Sticky

A topic by M-Tee created Jan 19, 2019 Views: 656 Replies: 9
Viewing posts 1 to 10
Developer (2 edits)

For lack of repetition , I've often left the subject off of the sentences in the following posts. Generally speaking, the subject can be inferred to be We (as in Łukasz and I), for coding-based tasks, Łukasz , and for art-based tasks, I (as in myself). In no way would I want to take credit for work I haven't done. :)  

Nov. 14, 2017: Łukasz messages, informing me that he is working on a sequel for Gruniożerca, a game he had made for charity. He has basically entire game concept planned already:

Łukasz :
"I have fully flesh out the idea, but the basic premise is to have it a one screen platformer. Grunio will be able to collect special items. Once collected, he can materialize the bricks (Solid MetaTiles) so he can jump on them. In each level he must get a key and head to door. Each level also hold a carrot as bonus item. Collect a carrot in each level to get a special password at end game. Other objects would include something like a chair that Grunio can push and jump on."

Łukasz states that he intends to use open source background graphics but requests that I make the player animation.

Nov. 16th: Łukasz puts together the following mockup using this art from OpenGameArt:

I start work on player animations, palettes, and theme (chew toys instead of bricks, etc.).

Nov. 17—18th: We add hammer item to the game plan, create and implement nearly all items, blocks, etc.

Nov. 19th: Grunio animations started. I struggle a bit differentiating him from a hamster or a dog. Eventually decide to embrace cartoon aspect of character in lieu of biological accuracy (for instance, moving Grunio's distinctive facial fur pattern to surround his eyes, allowing eyes to be visible in sprite).

Developer (1 edit)

Nov. 20—21st: Most gameplay animations have been made and included. 

Nov. 24th: Dialog before every stage is added via quote screens.

Nov. 26th: Quote screen designed. A lot of features worked on / implemented. Stool pushing in place.


Nov. 27th: Title screen designed. Movement mechanics and collision improved. New background graphics designed so as to use all original graphics. setting is changed from dungeon-esque cellar to something more modern, like a cute Resident Evil or Silent Hill.  Lighting style heavily influenced by Jussi Simpanen's pixel art.

Developer (2 edits)

Nov. 28th
Levers added.
New BG metatiles constructed and first three rooms reskinned with new BG graphics.
HUD improved with sprite overlays. 

Nov. 29th
Two tracks from Shiru, Lone Fighter and Spring Thing,  added (originally as placeholders). 
Additional layer of room data organized in editor. (for customizable visuals to be revealed behind chewtoy metatiles once destroyed).
Archon and Łukasz' siblings provide first wave of play tests.  Some bugs fixed. Most notable feedback was for need to restart room.
Łukasz designs an additional room.

Nov. 30th
Spot illustration made and label design started.
Decision to allow wider, free jumps and climbing is made. (Previous design plan would have  Grunio shake his head and refuse to jump if unable to land on a block with equal x value.  Would have greatly reduced platforming aspect of game.) fb page posts a preview image
Teetering, tumbling, and falling transition animations added.
Teetering and stool present a challenge with unexpected interactions, prove to be a major dilemma. 

Dec. 1st
Cart label designed. 

Mock-up carts photographed:

Image source:'s facebook page

After considering removing either stool or teetering, conflict finally solved.

Łukasz :
"There are two detection points in front of Grunio. One is at one pixel ahead and second is 8 pixels ahead. These detect for the stool. This doesn't cover the full possible distance between a ledge and stool, yes. So if piggie starts teetering on ledge (stool is too far for piggie to walk onto it), hitbox for stool gravity collision will be resized down. This way we allow player to walk on a stool that's offset a little from the ledge and, when it becomes visually unplausible for piggie to cross over, we start teetering code."

Łukasz designs fifth stage.
Trying to maintain Game Jam momentum begins to take its toll physically.

Dec 2nd—4th
Gramytatywnie event held.
Cart auctions in progress.
Teleport feature added.
Łukasz adds parallax scrolling to credits screen.
Emunes splash screen designed:

This screen was used exclusively for the auction carts, as the extent of emunes's involvement was their physical production. Removal of it was also essential for trimming the ROM size down to 64K for NESDev Coding Competition requirements.

Developer (2 edits)

Dec. 5th uploads a game trailer to Youtube.
New explosion graphics created, replacing the final component of OpenGameArt that had been in the game.

Explosion graphics revised to better compliment visual style of game.

Łukasz and I both seem to have been independently working on the ideas of disappearing blocks. He proposes something switch-based. I inform him I had already been working on graphics for something timer based. We decide to use the sliding shelves graphics I had made and set them up to A/B switches. Where shelves A start protruded and B retracted, activating lever toggles that.

Sliding shelves initially planned  as metatile swaps. Change is made to CHR-RAM updates instead.
Łukasz expresses difficulty in establishing new room designs. I agree to handle remaining maps.  Immediately consider implementing a type of metatile that player cannot place toys on. Have difficulty coming up with a visual theme for such a block.

Dec. 6th—7th
Horizontal and vertical flips added to explosion animation, based on direction of explosion chain.

Łukasz creates and implements sound effects for game.

Dec. 8th
Decide upon barred internal windows as metatiles that can't support chew toys. 

This then implies justification for toy placement as being affixed to the wall (hence why they don't fall), but the bars not providing enough surface area for adhesion.
New problem arises with teetering. Proves to be quite a pain.
I have created my first room design, as shown below (This room would later undergo a number of revisions before final game.)

Note the temporary graphics used for level design. Edges are not automated, so all designs were first made with these temp graphics and playtested before being skinned with final graphics.


Dec. 9—10th
Łukasz proposed rooms with multiple keys. I create graphics for a mult-lock door, where additional locks would explode so that new door-opening animation wouldn't need to be made. Łukasz agrees to code in variable homing positions for keys based on number of locks remaining.

I believe we later decided to re-order locks.
New rooms created are being labeled A,B,C, etc. so as not to be confusing when reordered for final game. Aside from Łukasz' first 6 rooms, up to room F has been created. Łukasz  has provided room concepts which will later be used for three more rooms.
Collision bug which allows Grunio to climb into a wall discovered. Additional problems with stool-pushing arise.
Ability to jump from teetering added.

Dec. 11th
Decision to have explosions also update surrounding area for correct lighting and shadows as terrain changes is made. Problem arises that too many simulataneous metatile updates would crash game. To save further development time, decision is made to just run additional explosions to update these areas. Logically an issue, but looks cool because of more explosions.
Pausing during Cavyvision crashes game. Uh-oh!
I have become obsessed with the design of a single room, temporarily dubbed "hammer maze" (would later become Hammer Time in release version of game.) My goals for such a room were:

* the correct path provides exactly how many hammers the player needs.
*at least 2-3 choices where the player can choose incorrect paths (and run out of hammers)
* some bonus for the carrot (maybe a shortcut gives one hammer extra, or a seeming risk leads to something)

Pause menu edited to move text into overscan-safe zone.

Dec. 12th—14th
Explosion graphics optimized. Previously, two frames of the animation had used 8 tiles each, with 4 tiles per scanline. After , every frame is 4 tiles only with only 2 tiles per scanline.
More stool and teetering issues arise and are taken care of.
Collision refined for better symmetry.
Password glitch discovered and fixed.
Nineteen rooms have been designed.

Dec. 15th—16th
Stool is fixed.
Multi-lock code for doors is added.
CHR data opened up by nudging freeing up tiles in Grunio's body that could be dupes of others at offsets.
It is decided that the best way to release the game would be by entering it into the NESDev Coding Competition.
Data is reorganized to allow a 64KB build to adhere to competition guidelines.
Random explosion instance isolated and corrected.
First instance of black-screen-of-death crashes occurs.
Only three rooms left to design.
The slowing of music while in Cavyvision is added.
Additional sound effects created and added.

Developer (2 edits)

Dec. 17th
Actively acknowledge game is not reflex-based, and use that to inform decisions of what to cut and what to leave, in terms of features. Ultimately resulting in a game with essentially no timing-based mechanics, only planning and and execution.
A crash-causing glitch exclusive to NTSC hardware arises late (as former testing had been done on a PAL machine), and corrected.
Added a push-back effect for placing a chew toy in an area only partially obstructed by Grunio.

Dec. 18th
A lot stages get revised.
There is some pressure to finish game from outside sources for Christmas. Eventually decide that a polished game after Christmas is better than a rushed one before.
Increased freedom of which player-modes when player can perform actions from.
Teetering unexpectedly pauses explosions.

Dec. 19th—23rd

Room order decided.
New room designed to replace a subpar one.
Ending animation created.
Google Drive creates major troubles with its handling of conflict copies.

Dec. 26th—30th
My wife completes a full playthrough of the game. Stated intent to kill me at a couple of the difficulty spikes. 
Further room revisions.
Room titles and game dialog revised. Łukasz finishes translating game text into Polish.

Dec. 31st
Initial track listing proposed, all from Shiru.

Title & Ending: Spring Thing (Same as we [were] using [before])
Rooms 01-06 (Mustard): Lost in Hyperspace  Lone FIghter
Rooms 07-12 (Brown): Lone Fighter Encounter
Rooms 03-18 (Teal): Through Sewers
Rooms 19-24 (Pink): Intruder Alert

(Strikethrough text denotes initial contemplation. These tracks will be used for Gramytatywnie release.  Alterations will be made later to fit into competition size restrictions.)

Jan. 1st
Final in-game credits made. Some additional text characters added to chr file.
Google Drive's method renaming of conflict duplicates proves to continue to be an issue. Seems less and less likely maintaining current workflow will be viable with it.
Heavy bugs from BGM arise (music sometimes playing at wrong tempo, buzzing sound instead of tracks starting sometimes, etc.)
BGM issues fixed.

hm, by debugger, it seems music change gets interrupted by vblank. So while driver is making preparations for starting the music, it gets interrupted by nmi code-which also makes changes to famitracker RAM. Makes sense it would randomly and rarely glitch out. Luckily, there's an easy fix.
Developer (2 edits)

Jan. 2nd—5th
Łukasz adds even more sound effects, including squeaky sound for hammer. ^^
Archon provides voice sample used for Gramytatywnie version of game.
Discovered and fixed that starting a new game after viewing ending will crash the game.
Briefly consider going a kickstarter route for an extended version of game. Eventually decide not to, and let game stand alone as it is.
Bug discovered and fixed: passwords causing crashes. A side-effect of a recent bugfix.

Jan. 6th
Gramytatywnie auction winners' custom ROMs are sent to Emunes.PL.
Decision to enter NESDev competition is finalized. Work continues on branched-off version to get game back into 64KB restriction of competition.  These include: removing voice sample, removing one music track, Through the Sewers, Łukasz trims remaining tracks, additional 
Discussion begins on a MGS:VR Missions-inspired level editor based on game engine.

Jan. 25th
Box art for auction carts sent for production. 

Jan. 31st
Competition version submitted for NESDev Coding Competition.


Feb. 7th, 9th, and 13th
Problems arise during production of auction carts. Crises averted. Working carts constructed and shipped to auction winners.

Feb. 16th
I am interviewed for The Assembly Line podcast regarding the development of Gruniożerca 2.

Developer (4 edits)

Mar. 8th
Revision  1  officially released.

  • Improved transitions…
    • when an object is destroyed under teetering.Grunio.
    • when entering Cavyvision..
    • when exiting a stage.while pushing a stool.
    • while falling from a portal.
    • when a block is placed in front of teetering Grunio (Try it!).
  • Improved Input freedom…
    • allowing Cavyvision to be entered while falling.
    • allowing switches to be triggered while sitting.
  • Corrected occasional crashes caused by BGM changes.
  • Revised SFX code.
  • Revised design for room 9.
  • Removed unused code and data.

Mar. 15th
NESDev Coding Competition results are posted. We barely managed first place with a score of 44.612, edging out the excellent Project Blue's 43.716.

Developer (1 edit)

Oct. 7th
During development of Gruniożerca 3: The Great Cavy Clean-up!,  the decision is made to retroactively add the subtitle , The Great Cavy Rescue! to Gruniożerca 2

Feb. 6th, 2019
Gruniożerca 2The Great Cavy Rescue! is released on