{"author_link":"\/users\/aka-tim","author_name":"aka_tim","author_uid":"aka-tim","comments":[],"epoch":1674404754,"event":"LD52","format":"md","ldjam_node_id":322967,"likes":2,"metadata":{"p_key":"171795","p_author":"aka_tim","p_authorkey":"1316789","p_urlkey":"401097","p_title":"Infernal Garden : Devlog Pt3. \"My First Release\"","p_cat":"LDJam ","p_event":"LD52","p_time":"1674404754","p_likes":"2","p_comments":"0","p_status":"WAYBACK","us_key":"1316789","us_name":"aka_tim","us_username":"aka-tim","event_start":"1672963200","event_key":"116","event_name":"Ludum Dare 52"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD52","removed_author":false},"_superparent":313060,"_trust":1,"author":316789,"body":"![igtitle.png](\/\/\/raw\/575\/d4\/z\/56b81.png)\n\nFirst game jam? Yeah me too!\n\n\nWell at least it was the first game jam I have completed and submitted! I\u2019m sure some of you know what I\u2019m talking about. Game Jams are HARD but also a whole lot of fun if you allow yourself to enjoy the process!\n\nIt goes without saying being a solo developer in a jam takes a special kind of skill, which I don\u2019t believe I have yet, but if you are one of those unicorns that can juggle all the aspects of making a fun game in a weekend alone then I tip my hat to you sir. Keep up the hard work!\n\n\nSo let\u2019s talk about teams. \n\nAs a somewhat anxious and introverted person I found it hard to find teams in the past and always reverted to trying to become one of those unicorns, which I do think if you put in enough hard work and practice you can get to that point but you need to be okay with failing along the way. \n\n\nThis is where friends come into play\u2026 I am lucky enough to have work mates that are far more capable than I am when it comes to game jams so I think I got lucky here, but this same rule applies for all of your other friends who might be interested in making a game for the first time, especially if you wanted it to be more of a learning experience. If like me none of your out of work friends are interested in making games it\u2019s a lot harder to form a team that you feel like you fit into and I understand how you feel here.\n\n\nIf that sounds like you, here's my honest advice\u2026 Just join a team, any team it really doesn\u2019t matter, what matters is getting used to working as part of a team. Having discussions, sometimes arguments or disagreements, listening to other ideas, taking ideas and incrementally improving them even if just a little. If you are a programmer like me then this will benefit you in the long run, it\u2019s easy implementing features and mechanics you have thought about but it\u2019s harder to nail what others had envisioned and deliver on their expectations. This will make you a much better programmer in the long run and you will much more easily integrate into teams in the future.\n\n\nSo before I talk about some of the things I did, here are some key things I picked up this jam;\n\n+ **Listen to the whole team!** You might not agree with what they are saying but they are still providing a perspective you don\u2019t have. This is good, try and find the good things in what they are saying and if you have one, counter with a better solution that also takes their concerns into account.\n+ **Quickly find the things that are not fun.** It\u2019s a lot easier to adjust your design on day one than on the last day. If you find something, bring it up with the team but also try to add something to the conversation, don\u2019t just say \u201cThis is terrible\u201d or \u201cThis isn\u2019t fun\u201d try to help out by suggesting what would make it fun or less terrible.\n+ **Modularity.** I\u2019d love to take credit for this but Simeon (our coder extraordinaire) was the one who charged head first into the project architecture and code design. He made a well informed call and he was right. Make everything modular! This made so much stuff faster and easier to extend and change.\n+ **Set two release goals.** You should have two release goals, first the MVP; this should contain everything needed for the game to be fun and enjoyable. Aim your sights firmly at this as you most likely only have enough time for this. And second, you want a \u201cPerfection\/Full\u201d release goal where you have all of the extra stuff that you think will really push the game into the major leagues. Once you are happy with the MVP and the polish, start fleshing out the extra content, go nuts!\n+ **Polish, Polish, Polish!** Taking into account the point above this should always be done no matter if you have time for the perfection\/full release candidate or not. This should be the next step after completing the MVP. Polish will benefit the game a lot more than an extra enemy or feature. Players notice this ALOT!\n\n\nOkay so I talked alot about the team and how to best ensure you work well in a team, let\u2019s talk a little bit about what I actually did and what I could have done better. A little retrospective if I may.\n\n\nMost of the jam I worked on these little guys \n![igplants.PNG](\/\/\/raw\/575\/d4\/z\/56b80.png)\n\nFirst off, Don\u2019t try to be clever, be reliable and competent. I thought it would be \u2018clever\u2019 to handle the enemy behaviours in behaviour scripts with Interfaces so the main enemy script can pick up any behaviour and it just works, this was not entirely the case and a simple base class inheritance would have done the job perfectly fine, in fact we ended up adding a base class anyway to handle a lot of the logic and references that were the same for all plants, which my original approach ended up having a lot of copy pasted boilerplate code in each behaviour script. Not Good!\n\n\nSimplicity always wins! If you feel like you are being clever then you are probably being too clever for your own good. Scale it back a little, think about what you are trying to solve and solve that problem, you don\u2019t want to be creating problems for yourself or more importantly your team later.\n\n\n![thorn.PNG](\/\/\/raw\/575\/d4\/z\/56b82.png)\nThe Blackthorn Bush! Probably my favourite plant in the whole game!\n\n\nThis was a great example of \u201ckeeping it simple\u201d. The spikes effect could have been another opportunity for me to overthink and complicate things but I think I made the right choice this time round. So how do they work?\n\n\nWell as I suggested, it\u2019s pretty simple. I used a particle effect that emitted spikes with colliders in a circle, three of those, add a little delay for each one and you are good to go. The behaviour triggers the parent effect and subsequently emits all child effects. The collision detection is handled by each particle which fires the usual OnCollisionEnter unity event on anything that touches it. I set each spike to be destroyed on collision so they are not too overpowered and that\u2019s it. \n\n![particles.PNG](\/\/\/raw\/575\/d4\/z\/56b83.png)\n\n\nOh and also I almost forgot, Prefab variants!! You should try and make use of them where it makes sense, this can really speed up iteration times when dealing with multiple prefabs for many enemies etc.\n\nThat\u2019s really all I have to say, I hope this benefits someone and helps them become a better game developer. Godspeed.\n\nDid you enjoy this devlog or learn something new?\nPlease check out the game on Itch.io and rate it on ldjam.com!\n\nhttps:\/\/ernani.itch.io\/infernalgarden\n\nhttps:\/\/ldjam.com\/events\/ludum-dare\/52\/infernal-garden\n\nThanks for taking the time to read this blog, I hope to see some more awesome games next jam! Keep up the good work guys!\n\nAdam Normoyle.\nProgrammer\n","comments":2,"comments-timestamp":"2023-04-30T14:10:01Z","created":"2023-01-22T15:56:49Z","files":[],"files-timestamp":0,"id":322967,"love":2,"love-timestamp":"2023-01-22T19:51:39Z","meta":[],"modified":"2023-04-30T14:10:01Z","name":"Infernal Garden : Devlog Pt3. \"My First Release\"","node-timestamp":"2023-01-22T16:25:54Z","parent":316480,"parents":[1,5,9,313060,316480],"path":"\/events\/ludum-dare\/52\/infernal-garden\/infernal-garden-devlog-pt3-my-first-release","published":"2023-01-22T16:25:54Z","scope":"public","slug":"infernal-garden-devlog-pt3-my-first-release","subsubtype":"","subtype":"","type":"post","version":1008310},"node_metadata":{"n_key":"322967","n_urlkey":"401097","n_parent":"316480","n_path":"\/events\/ludum-dare\/52\/infernal-garden\/infernal-garden-devlog-pt3-my-first-release","n_slug":"infernal-garden-devlog-pt3-my-fi","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"316789","n_created":"1674403009","n_modified":"1682863801","n_version":"1008310","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/52\/infernal-garden\/infernal-garden-devlog-pt3-my-first-release","text":"![igtitle.png](\/\/\/raw\/575\/d4\/z\/56b81.png)\n\nFirst game jam? Yeah me too!\n\n\nWell at least it was the first game jam I have completed and submitted! I\u2019m sure some of you know what I\u2019m talking about. Game Jams are HARD but also a whole lot of fun if you allow yourself to enjoy the process!\n\nIt goes without saying being a solo developer in a jam takes a special kind of skill, which I don\u2019t believe I have yet, but if you are one of those unicorns that can juggle all the aspects of making a fun game in a weekend alone then I tip my hat to you sir. Keep up the hard work!\n\n\nSo let\u2019s talk about teams. \n\nAs a somewhat anxious and introverted person I found it hard to find teams in the past and always reverted to trying to become one of those unicorns, which I do think if you put in enough hard work and practice you can get to that point but you need to be okay with failing along the way. \n\n\nThis is where friends come into play\u2026 I am lucky enough to have work mates that are far more capable than I am when it comes to game jams so I think I got lucky here, but this same rule applies for all of your other friends who might be interested in making a game for the first time, especially if you wanted it to be more of a learning experience. If like me none of your out of work friends are interested in making games it\u2019s a lot harder to form a team that you feel like you fit into and I understand how you feel here.\n\n\nIf that sounds like you, here's my honest advice\u2026 Just join a team, any team it really doesn\u2019t matter, what matters is getting used to working as part of a team. Having discussions, sometimes arguments or disagreements, listening to other ideas, taking ideas and incrementally improving them even if just a little. If you are a programmer like me then this will benefit you in the long run, it\u2019s easy implementing features and mechanics you have thought about but it\u2019s harder to nail what others had envisioned and deliver on their expectations. This will make you a much better programmer in the long run and you will much more easily integrate into teams in the future.\n\n\nSo before I talk about some of the things I did, here are some key things I picked up this jam;\n\n+ **Listen to the whole team!** You might not agree with what they are saying but they are still providing a perspective you don\u2019t have. This is good, try and find the good things in what they are saying and if you have one, counter with a better solution that also takes their concerns into account.\n+ **Quickly find the things that are not fun.** It\u2019s a lot easier to adjust your design on day one than on the last day. If you find something, bring it up with the team but also try to add something to the conversation, don\u2019t just say \u201cThis is terrible\u201d or \u201cThis isn\u2019t fun\u201d try to help out by suggesting what would make it fun or less terrible.\n+ **Modularity.** I\u2019d love to take credit for this but Simeon (our coder extraordinaire) was the one who charged head first into the project architecture and code design. He made a well informed call and he was right. Make everything modular! This made so much stuff faster and easier to extend and change.\n+ **Set two release goals.** You should have two release goals, first the MVP; this should contain everything needed for the game to be fun and enjoyable. Aim your sights firmly at this as you most likely only have enough time for this. And second, you want a \u201cPerfection\/Full\u201d release goal where you have all of the extra stuff that you think will really push the game into the major leagues. Once you are happy with the MVP and the polish, start fleshing out the extra content, go nuts!\n+ **Polish, Polish, Polish!** Taking into account the point above this should always be done no matter if you have time for the perfection\/full release candidate or not. This should be the next step after completing the MVP. Polish will benefit the game a lot more than an extra enemy or feature. Players notice this ALOT!\n\n\nOkay so I talked alot about the team and how to best ensure you work well in a team, let\u2019s talk a little bit about what I actually did and what I could have done better. A little retrospective if I may.\n\n\nMost of the jam I worked on these little guys \n![igplants.PNG](\/\/\/raw\/575\/d4\/z\/56b80.png)\n\nFirst off, Don\u2019t try to be clever, be reliable and competent. I thought it would be \u2018clever\u2019 to handle the enemy behaviours in behaviour scripts with Interfaces so the main enemy script can pick up any behaviour and it just works, this was not entirely the case and a simple base class inheritance would have done the job perfectly fine, in fact we ended up adding a base class anyway to handle a lot of the logic and references that were the same for all plants, which my original approach ended up having a lot of copy pasted boilerplate code in each behaviour script. Not Good!\n\n\nSimplicity always wins! If you feel like you are being clever then you are probably being too clever for your own good. Scale it back a little, think about what you are trying to solve and solve that problem, you don\u2019t want to be creating problems for yourself or more importantly your team later.\n\n\n![thorn.PNG](\/\/\/raw\/575\/d4\/z\/56b82.png)\nThe Blackthorn Bush! Probably my favourite plant in the whole game!\n\n\nThis was a great example of \u201ckeeping it simple\u201d. The spikes effect could have been another opportunity for me to overthink and complicate things but I think I made the right choice this time round. So how do they work?\n\n\nWell as I suggested, it\u2019s pretty simple. I used a particle effect that emitted spikes with colliders in a circle, three of those, add a little delay for each one and you are good to go. The behaviour triggers the parent effect and subsequently emits all child effects. The collision detection is handled by each particle which fires the usual OnCollisionEnter unity event on anything that touches it. I set each spike to be destroyed on collision so they are not too overpowered and that\u2019s it. \n\n![particles.PNG](\/\/\/raw\/575\/d4\/z\/56b83.png)\n\n\nOh and also I almost forgot, Prefab variants!! You should try and make use of them where it makes sense, this can really speed up iteration times when dealing with multiple prefabs for many enemies etc.\n\nThat\u2019s really all I have to say, I hope this benefits someone and helps them become a better game developer. Godspeed.\n\nDid you enjoy this devlog or learn something new?\nPlease check out the game on Itch.io and rate it on ldjam.com!\n\nhttps:\/\/ernani.itch.io\/infernalgarden\n\nhttps:\/\/ldjam.com\/events\/ludum-dare\/52\/infernal-garden\n\nThanks for taking the time to read this blog, I hope to see some more awesome games next jam! Keep up the good work guys!\n\nAdam Normoyle.\nProgrammer\n","title":"Infernal Garden : Devlog Pt3. \"My First Release\"","wayback_source":[]}