{"author_link":"\/users\/ironcutter","author_name":"ironcutter","author_uid":"ironcutter","comments":[],"epoch":1666199825,"event":"LD51","format":"md","ldjam_node_id":310578,"likes":8,"metadata":{"p_key":"169448","p_author":"ironcutter","p_authorkey":"1254730","p_urlkey":"397214","p_title":"Postmortem","p_cat":"LDJam ","p_event":"LD51","p_time":"1666199825","p_likes":"8","p_comments":"0","p_status":"WAYBACK","us_key":"1254730","us_name":"ironcutter","us_username":"ironcutter","event_start":"1664496000","event_key":"114","event_name":"Ludum Dare 51"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD51","removed_author":false},"_superparent":296586,"_trust":2,"author":254730,"body":"Well, this is my first postmortem, but seems like a great habit to have, so here we are!  \nWish me luck!  \n  \n**Theme and first hours**  \nThe theme here in Italy is announced at Friday midnight, so I brainstormed for 1\/2 hours before going to bed.  \nI started by writing down on Milanote whatever came to mind, then I got a list of the main game genres from Wikipedia and tried to apply the theme to any of them.  \nI ended up with quite a lot of stuff, and came back on first day (late) morning to trim my list and elaborate on the ideas that did pick my interest.  \n  \n## First day\nAfter a little trim, this is what I had by the start of the first day:    \n  \n![Screenshot_1.png](\/\/\/raw\/a03\/e3\/z\/53416.png)\n  \n**Chosing an idea**  \nHere is a list of some concepts worth mentioning and the reasons that led me to discard them:  \n1. **Teleport**  \nUnderstanding some past events through environmental storytelling while being teleported around every 10 secs  \n-> _Out of skillset and resource budget_  \n2. **\"change world layer\"**  \nSidescroller platformer with objects on multiple layers that are switched between every 10 secs  \n-> _Was meant to work something like Hue, so I discarded it for the lack of originality. Thinking of it now it could have led to totally different puzzles through the 10 secs limitation, who knows..._  \n3. **Vision**  \nBeing able to see every 10 secs  \n-> _Couldn't really think of a fun way to wait in front of a black screen for 10 secs, but I came across some great entries that used this approach_  \n4. **State swap**  \nSwap character or team every 10 secs  \n-> _This actually seemed like a lot of fun, but I wanted to keep it singleplayer and not having to write a decent AI in a rush. I'll probably try to extend more on this one concept._  \n  \nI'm pretty happy with what I made, but I can't help but think many ideas I discarded could have led to a more interesting gameplay. Probably not as polished though.  \n  \n**First prototypes**  \nAt the beginning I thought to make the arena harder to navigate using physics based zero-g controls, and the main character had to be an astronaut wearing a jetpack.  \nAfter making a first prototype it was too frustrating to move around and avoid stuff, so I decided to stick with simpler, snappier controls and increase bullets number, speed and pattern variety instead.  \n  \n**Graphics and concept**  \nWhile scouting the Web for assets and graphic ideas I came across these cool trees and knight asset packs that ended un in the final game. I then started making the arena and implementing the leaf particles when trees get hit (Yeah, I'm one of those bad guys that waste a lot of time on trivial stuff before they even have a playable demo).  \n  \nHaving a knight in a forest I thought the attackers would be druids, mages or something on this line, so I made some generic magic bullet shader and a flash of light of the same colour to announce the shot.\n  \nThis is what it looked like by the end of the first day:  \n  \n![Day one progress.png](\/\/\/raw\/a03\/e3\/z\/5341d.png)\n  \n## Second day\nOn day two I took it a little slower: the previous day I realized I couldn't submit the game as a compo because I used third party graphics, so I had one more day to finish.  \n  \n**Core mechanics and level editor**  \nI abandoned the idea of having bullet spawners inside the arena because I couldn't think of a coherent look for them. It just seemed cooler to have some unseen foe hidden in the forest.\n    \nSo I worked on the bullet variants and the spawning system (Before I only had a fixed source bound to an object) and did set up two splines that define the possible spawn points.  \n  \nThen I wrote a draft of the level editing system. It uses Unity ScriptableObjects to store lists of bullet types associated with the seconds to wait before launch. Spawn position is a randomized point on the previously mentioned splines.  \n  \n**Music**  \nTo take a break from development I programmed a drum loop in Ableton Live and recorded guitar and bass for the soundtrack. The final version is pretty much unchanged except for a little editing and mastering done the next day.  \n  \n## Third day\nOn day three the core game was finished, more or less.  \n  \n**The Horse part**  \nI found a vector graphics horse I didn't notice before in one of the asset packs I was using, and I wanted to turn it into an NPC, so I made a the little dialogue system you can see in the game.  \nThe plan was to make both the horse an in-game character and the knight present in the dialogue, so that they could answer each other and react to the dialogue in the world, but I had to cut this for the lack of time.  \nAnyway I had time to make two little intro and ending scenes. \n  \n**Health system and general polishing**  \nI dedicated some time to animating the character and making win and death screens.\nThen I decided to add a few lives to make the game less frustrating and made a new HUD to match the style of the dialogue panels. I also made sure hit feedback was as clear as possible (Flash on character sprite, camera shake, sound fx).\n  \n**Bullets graphics update**  \nI wasn't satisfied with the graphics of the bullets (Variants were just different sized color swapped versions) and with the intro gag the game had took a humoristic turn enough to think of some new bullets to reinforce that aspect.  \nThe first idea was to throw completely random stuff, then I kept it fruit-only for consistency.  \n  \nAt this point it made no sense to keep the flashy light before launch, and it got replaced by a more cartoonish speech bubble. Actually I wanted them to preview the type of bullet, but hadn't that much time and they would have probably been too small to give any significant help, so I kept the danger sign.  \n  \n**Level design and jam end**  \nMy last jam hours have been spent making levels and testing them, until I got ten working levels and was happy and tired enough to call it a day and upload.  \n  \nSome features that didn't make it into the final game:  \nSpeech bubble bullet preview, banana boomerang trajectory, dialogue featuring both characters, in-game Horse NPC.\n  \nAnd here is the final version that you can play on my itch.io:\n  \n![Gameplay_1.png](\/\/\/raw\/a03\/e3\/z\/53463.png)\n  \nYou might argue that blue bullets had better contrast with the environment, and I would agree with you, but having bullets of multiple solid colors in the scene (to differentiate between types) didn't look that great.  \n  \n## Conclusion  \nLudum Dare is a great place to try new stuff, see cool ideas and get constructive feedback, and once again it has been a great pleasure to be part of this amazing community.  \n  \nThank you for making it this far in this long post, I hope this was useful to you in some way.  \nTake care and I hope to see you again in a few months for LD52!  \n  \n![HorseAndKnight.png](\/\/\/raw\/a03\/e3\/z\/53461.png)","comments":0,"created":"2022-10-18T23:00:47Z","files":[],"files-timestamp":0,"id":310578,"love":8,"love-timestamp":"2022-10-20T01:04:12Z","meta":[],"modified":"2022-10-20T01:04:12Z","name":"Postmortem","node-timestamp":"2022-10-19T17:17:05Z","parent":298653,"parents":[1,5,9,296586,298653],"path":"\/events\/ludum-dare\/51\/10-seconds-ambush\/postmortem","published":"2022-10-19T17:17:05Z","scope":"public","slug":"postmortem","subsubtype":"","subtype":"","type":"post","version":969084},"node_metadata":{"n_key":"310578","n_urlkey":"397214","n_parent":"298653","n_path":"\/events\/ludum-dare\/51\/10-seconds-ambush\/postmortem","n_slug":"postmortem","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"254730","n_created":"1666134047","n_modified":"1666227852","n_version":"969084","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/51\/10-seconds-ambush\/postmortem","text":"Well, this is my first postmortem, but seems like a great habit to have, so here we are!  \nWish me luck!  \n  \n**Theme and first hours**  \nThe theme here in Italy is announced at Friday midnight, so I brainstormed for 1\/2 hours before going to bed.  \nI started by writing down on Milanote whatever came to mind, then I got a list of the main game genres from Wikipedia and tried to apply the theme to any of them.  \nI ended up with quite a lot of stuff, and came back on first day (late) morning to trim my list and elaborate on the ideas that did pick my interest.  \n  \n## First day\nAfter a little trim, this is what I had by the start of the first day:    \n  \n![Screenshot_1.png](\/\/\/raw\/a03\/e3\/z\/53416.png)\n  \n**Chosing an idea**  \nHere is a list of some concepts worth mentioning and the reasons that led me to discard them:  \n1. **Teleport**  \nUnderstanding some past events through environmental storytelling while being teleported around every 10 secs  \n-> _Out of skillset and resource budget_  \n2. **\"change world layer\"**  \nSidescroller platformer with objects on multiple layers that are switched between every 10 secs  \n-> _Was meant to work something like Hue, so I discarded it for the lack of originality. Thinking of it now it could have led to totally different puzzles through the 10 secs limitation, who knows..._  \n3. **Vision**  \nBeing able to see every 10 secs  \n-> _Couldn't really think of a fun way to wait in front of a black screen for 10 secs, but I came across some great entries that used this approach_  \n4. **State swap**  \nSwap character or team every 10 secs  \n-> _This actually seemed like a lot of fun, but I wanted to keep it singleplayer and not having to write a decent AI in a rush. I'll probably try to extend more on this one concept._  \n  \nI'm pretty happy with what I made, but I can't help but think many ideas I discarded could have led to a more interesting gameplay. Probably not as polished though.  \n  \n**First prototypes**  \nAt the beginning I thought to make the arena harder to navigate using physics based zero-g controls, and the main character had to be an astronaut wearing a jetpack.  \nAfter making a first prototype it was too frustrating to move around and avoid stuff, so I decided to stick with simpler, snappier controls and increase bullets number, speed and pattern variety instead.  \n  \n**Graphics and concept**  \nWhile scouting the Web for assets and graphic ideas I came across these cool trees and knight asset packs that ended un in the final game. I then started making the arena and implementing the leaf particles when trees get hit (Yeah, I'm one of those bad guys that waste a lot of time on trivial stuff before they even have a playable demo).  \n  \nHaving a knight in a forest I thought the attackers would be druids, mages or something on this line, so I made some generic magic bullet shader and a flash of light of the same colour to announce the shot.\n  \nThis is what it looked like by the end of the first day:  \n  \n![Day one progress.png](\/\/\/raw\/a03\/e3\/z\/5341d.png)\n  \n## Second day\nOn day two I took it a little slower: the previous day I realized I couldn't submit the game as a compo because I used third party graphics, so I had one more day to finish.  \n  \n**Core mechanics and level editor**  \nI abandoned the idea of having bullet spawners inside the arena because I couldn't think of a coherent look for them. It just seemed cooler to have some unseen foe hidden in the forest.\n    \nSo I worked on the bullet variants and the spawning system (Before I only had a fixed source bound to an object) and did set up two splines that define the possible spawn points.  \n  \nThen I wrote a draft of the level editing system. It uses Unity ScriptableObjects to store lists of bullet types associated with the seconds to wait before launch. Spawn position is a randomized point on the previously mentioned splines.  \n  \n**Music**  \nTo take a break from development I programmed a drum loop in Ableton Live and recorded guitar and bass for the soundtrack. The final version is pretty much unchanged except for a little editing and mastering done the next day.  \n  \n## Third day\nOn day three the core game was finished, more or less.  \n  \n**The Horse part**  \nI found a vector graphics horse I didn't notice before in one of the asset packs I was using, and I wanted to turn it into an NPC, so I made a the little dialogue system you can see in the game.  \nThe plan was to make both the horse an in-game character and the knight present in the dialogue, so that they could answer each other and react to the dialogue in the world, but I had to cut this for the lack of time.  \nAnyway I had time to make two little intro and ending scenes. \n  \n**Health system and general polishing**  \nI dedicated some time to animating the character and making win and death screens.\nThen I decided to add a few lives to make the game less frustrating and made a new HUD to match the style of the dialogue panels. I also made sure hit feedback was as clear as possible (Flash on character sprite, camera shake, sound fx).\n  \n**Bullets graphics update**  \nI wasn't satisfied with the graphics of the bullets (Variants were just different sized color swapped versions) and with the intro gag the game had took a humoristic turn enough to think of some new bullets to reinforce that aspect.  \nThe first idea was to throw completely random stuff, then I kept it fruit-only for consistency.  \n  \nAt this point it made no sense to keep the flashy light before launch, and it got replaced by a more cartoonish speech bubble. Actually I wanted them to preview the type of bullet, but hadn't that much time and they would have probably been too small to give any significant help, so I kept the danger sign.  \n  \n**Level design and jam end**  \nMy last jam hours have been spent making levels and testing them, until I got ten working levels and was happy and tired enough to call it a day and upload.  \n  \nSome features that didn't make it into the final game:  \nSpeech bubble bullet preview, banana boomerang trajectory, dialogue featuring both characters, in-game Horse NPC.\n  \nAnd here is the final version that you can play on my itch.io:\n  \n![Gameplay_1.png](\/\/\/raw\/a03\/e3\/z\/53463.png)\n  \nYou might argue that blue bullets had better contrast with the environment, and I would agree with you, but having bullets of multiple solid colors in the scene (to differentiate between types) didn't look that great.  \n  \n## Conclusion  \nLudum Dare is a great place to try new stuff, see cool ideas and get constructive feedback, and once again it has been a great pleasure to be part of this amazing community.  \n  \nThank you for making it this far in this long post, I hope this was useful to you in some way.  \nTake care and I hope to see you again in a few months for LD52!  \n  \n![HorseAndKnight.png](\/\/\/raw\/a03\/e3\/z\/53461.png)","title":"Postmortem","wayback_source":[]}