Palm island 2048 - What was right and what was wrong
First of all, creating this game was a lot of fun, I and my children had like a greatest laugh ever and I nearly died because it was so much hilarious working with AI and watching them do random things. So bad I didn't stream last two days due some technicality, which I didn't bother fixing while jamming. Community chat on Slack was great - everybody was sharing, asking questions and providing valuable feedback.
One of the rules was to use 80% or more of Playmaker actions in the project, but because I didn't know how to accurately calculate percentage, I just went 100% Playmaker. Using Playmaker for the complete project is't something ner for me - I have publish several games using nothing but Playmaker and Custom Actions from Ecosystem. But this time it was different. This project has a fec core mechanics and interaction between them. Using powerful event system in Playmaker I was able to connect all system together in a nice web of state interdependency system - certainly not the best technical solution, but it works.
So, what went wrong? Or at least not what I planned. Doing the last day I was so tired, I forgot to use common design pattern and went for the quick result. Next time, when I was tying to extend functionality of those state machines, interaction was all over the place. Single responsibility principle is a very common design pattern, where each class (in Playmaker term FSMs) are sole responsible for one and only mechanics. When designing NPCs and boats I, probably because of lack of sleep, tried to do all in one FSM and that was a disaster. For instance, when NPC enters water, they immediately start swimming, ignoring tethyr current objective. I didn't implement "Holiday Feelings" mechanics and that why boats, when they "call" passengers, they just force NPCs to terminate whatever they are planing to do next and go aboard. The problem is that I have 3 boats. If the boat stay in port for too long, it starts to "look for" holiday makers, to call them aboard. Now, here is the problem - if new boat bringing "fresh pack of NPCs", the old boat is still looking to fill itself and it there is not enough customers - new NPCs bacake it's passengers. In game it works like this - full boat arrives, everyone islanded, then they immediately sit int that other boat and off they go - you on an island alone for the next minute or two.
All of that is possible to avoid by using common design patterns (Single responsibility principle in my case) and can be implemented in time of you reading this "post mortem". Lesson learned: if tyred - go to sleep ;D
By the way (not affiliated), if you want to learn more about this design pattern, watch this talk from Jason Weimann
Get Palm Island 2048
Leave a comment
Log in with itch.io to leave a comment.