{"author_link":"\/users\/ecmjohnson","author_name":"ecmjohnson","author_uid":"ecmjohnson","comments":[],"epoch":1546105072,"event":"LD43","format":"md","ldjam_node_id":138022,"likes":5,"metadata":{"p_key":"127431","p_author":"ecmjohnson","p_authorkey":"1074151","p_urlkey":"343553","p_title":"Making a Vlambear style game","p_cat":"LDJam ","p_event":"LD43","p_time":"1546105072","p_likes":"5","p_comments":"0","p_status":"WAYBACK","us_key":"1074151","us_name":"ecmjohnson","us_username":"ecmjohnson","event_start":"1543536000","event_key":"71","event_name":"LD 43"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD43","removed_author":false},"_superparent":120415,"_trust":1,"author":74151,"body":"In the making of AkimBear, we chose to use [this talk](https:\/\/bit.ly\/2FHhE4Y) from [Vlambeer](https:\/\/www.vlambeer.com\/)\u2018s Jan Willem Nijman, a true master of arcade action games, as our inspiration. In fact, as soon as we had the rough sketch of our idea (i.e. akimbo-wielding bear with sacrifice used in the gameplay design), we watched the talk in order to get it in our heads when we started building the game. The trailer can give you a good idea of the game we ended up with:\n\nhttps:\/\/youtu.be\/avRx-U6SNHk\n\nI highly recommend watching the talk if you have an interest in building games with strong immediate feedback. I also really like Nijman\u2019s perspective on the layers of feedback in creating interactive experiences. In the talk he takes a basic game and adds tweaks to get something that is much more appealing to play. Those points are below and I\u2019ve annotated them to show how we used them. The bold points were taken directly and the italic points were only partially implemented in AkimBear.\n\n1. **Basic animations & sound**\n2. **Lower enemy HP**\n3. **More enemies**\n4. **Bigger bullets**\n![BiggerBullets.PNG](\/\/\/raw\/7a1\/21\/z\/1fd73.png)\n5. **Muzzle flash**\n6. *Faster bullets*\n7. Less accuracy (missed this one!)\n8. **Impact effects**\n![ImpactEffects.PNG](\/\/\/raw\/7a1\/21\/z\/1fd74.png)\n9. **Hit animation (and effects)**\n![HitEffects.PNG](\/\/\/raw\/7a1\/21\/z\/1fd75.png)\n10. Enemy knockback\n11. *Permanence*\n12. **Camera lerp**\n13. **Camera position**\n14. **Screen shake**\n![screen_shake.gif](\/\/\/raw\/7a1\/21\/z\/1fd76.gif)\n15. *Player knockback*\n16. **Sleep (time slowdown)**\n17. Gun delay\n18. Gun kick\n19. Strafe\n20. *More permanence*\n![Permanence.PNG](\/\/\/raw\/7a1\/21\/z\/1fd77.png)\n21. **More bass**\n22. Super machinegun\n23. **(Random) explosions**\n![BiggerExplosions.PNG](\/\/\/raw\/7a1\/21\/z\/1fd79.png)\n24. **Faster enemies**\n25. **More enemies**\n26. **Even higher rate of fire**\n27. **Camera kick**\n28. **Bigger explosions**\n29. *Even more permanence*\n30. **Meaning**\n![meaning.gif](\/\/\/raw\/7a1\/21\/z\/1fd7b.gif)\n\nA lot of the above are obvious when you see our gameplay. I\u2019d like to talk about one of the less obvious points that we used when designing AkimBear: Player Knockback. During his talk, Nijman says \u201cif you put a button in a game \u2026 give someone a reason not to press it.\u201d This was the inspiration for deciding that Grizzle should stop moving while shooting and how this could be the gameplay sacrifice.\n\nI\u2019ve gotten some feedback about the time slowdown being too strong and I think this is quite valid since it feels almost like framerate issues sometimes (particularly when off screen enemies are killed). I limited the permanence by using a ring buffer object pool for the number of bullets at any time for pre-emptive performance reasons. I know \u201cpremature optimization is the root of all evil,\u201d but once you start pooling objects there\u2019s really no reason not to pool everything. In this case, I would disagree with Nijman; despite computers being very good now, you should default to defensive and performant coding (if possible, for your experience level) until there is a design reason to expand. Limiting runtime memory is always a good idea to avoid unnecessary garbage collection (this is especially crucial for mobile devices).\n\n# [Check out the gameplay by playing AkimBear!](https:\/\/ldjam.com\/events\/ludum-dare\/43\/akimbear)\n\nIf you have any questions at all, don\u2019t hesitate to ask! My email is ecmjohnson at gmail.com\n","comments":2,"comments-timestamp":"2018-12-29T19:30:21Z","created":"2018-12-28T16:46:19Z","files":[],"files-timestamp":0,"id":138022,"love":5,"love-timestamp":"2018-12-31T19:15:22Z","meta":[],"modified":"2018-12-31T19:15:22Z","name":"Making a Vlambear style game","node-timestamp":"2018-12-29T17:37:52Z","parent":128684,"parents":[1,5,9,120415,128684],"path":"\/events\/ludum-dare\/43\/akimbear\/making-a-vlambear-style-game","published":"2018-12-29T17:37:52Z","scope":"public","slug":"making-a-vlambear-style-game","subsubtype":"","subtype":"","type":"post","version":415871},"node_metadata":{"n_key":"138022","n_urlkey":"343553","n_parent":"128684","n_path":"\/events\/ludum-dare\/43\/akimbear\/making-a-vlambear-style-game","n_slug":"making-a-vlambear-style-game","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"74151","n_created":"1546015579","n_modified":"1546283722","n_version":"415871","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/43\/akimbear\/making-a-vlambear-style-game","text":"In the making of AkimBear, we chose to use [this talk](https:\/\/bit.ly\/2FHhE4Y) from [Vlambeer](https:\/\/www.vlambeer.com\/)\u2018s Jan Willem Nijman, a true master of arcade action games, as our inspiration. In fact, as soon as we had the rough sketch of our idea (i.e. akimbo-wielding bear with sacrifice used in the gameplay design), we watched the talk in order to get it in our heads when we started building the game. The trailer can give you a good idea of the game we ended up with:\n\nhttps:\/\/youtu.be\/avRx-U6SNHk\n\nI highly recommend watching the talk if you have an interest in building games with strong immediate feedback. I also really like Nijman\u2019s perspective on the layers of feedback in creating interactive experiences. In the talk he takes a basic game and adds tweaks to get something that is much more appealing to play. Those points are below and I\u2019ve annotated them to show how we used them. The bold points were taken directly and the italic points were only partially implemented in AkimBear.\n\n1. **Basic animations & sound**\n2. **Lower enemy HP**\n3. **More enemies**\n4. **Bigger bullets**\n![BiggerBullets.PNG](\/\/\/raw\/7a1\/21\/z\/1fd73.png)\n5. **Muzzle flash**\n6. *Faster bullets*\n7. Less accuracy (missed this one!)\n8. **Impact effects**\n![ImpactEffects.PNG](\/\/\/raw\/7a1\/21\/z\/1fd74.png)\n9. **Hit animation (and effects)**\n![HitEffects.PNG](\/\/\/raw\/7a1\/21\/z\/1fd75.png)\n10. Enemy knockback\n11. *Permanence*\n12. **Camera lerp**\n13. **Camera position**\n14. **Screen shake**\n![screen_shake.gif](\/\/\/raw\/7a1\/21\/z\/1fd76.gif)\n15. *Player knockback*\n16. **Sleep (time slowdown)**\n17. Gun delay\n18. Gun kick\n19. Strafe\n20. *More permanence*\n![Permanence.PNG](\/\/\/raw\/7a1\/21\/z\/1fd77.png)\n21. **More bass**\n22. Super machinegun\n23. **(Random) explosions**\n![BiggerExplosions.PNG](\/\/\/raw\/7a1\/21\/z\/1fd79.png)\n24. **Faster enemies**\n25. **More enemies**\n26. **Even higher rate of fire**\n27. **Camera kick**\n28. **Bigger explosions**\n29. *Even more permanence*\n30. **Meaning**\n![meaning.gif](\/\/\/raw\/7a1\/21\/z\/1fd7b.gif)\n\nA lot of the above are obvious when you see our gameplay. I\u2019d like to talk about one of the less obvious points that we used when designing AkimBear: Player Knockback. During his talk, Nijman says \u201cif you put a button in a game \u2026 give someone a reason not to press it.\u201d This was the inspiration for deciding that Grizzle should stop moving while shooting and how this could be the gameplay sacrifice.\n\nI\u2019ve gotten some feedback about the time slowdown being too strong and I think this is quite valid since it feels almost like framerate issues sometimes (particularly when off screen enemies are killed). I limited the permanence by using a ring buffer object pool for the number of bullets at any time for pre-emptive performance reasons. I know \u201cpremature optimization is the root of all evil,\u201d but once you start pooling objects there\u2019s really no reason not to pool everything. In this case, I would disagree with Nijman; despite computers being very good now, you should default to defensive and performant coding (if possible, for your experience level) until there is a design reason to expand. Limiting runtime memory is always a good idea to avoid unnecessary garbage collection (this is especially crucial for mobile devices).\n\n# [Check out the gameplay by playing AkimBear!](https:\/\/ldjam.com\/events\/ludum-dare\/43\/akimbear)\n\nIf you have any questions at all, don\u2019t hesitate to ask! My email is ecmjohnson at gmail.com\n","title":"Making a Vlambear style game","wayback_source":[]}