DEVLOG - 2023-04-08


This week, mostly in the Thursday stream we focused on the last details of prototype 1:

  • In the days before the stream I mainly focused on getting the build configurations right to be able to extend them later and fixed issues with GCC (which have some missing functions from C++23);
  • While streaming we added rules like characters cannot move in positions occupied by other characters, outside the area or in walls.
  • We also started adding behavior to NPCs just to check that it’s possible, first with one doing random behaviors.
  • Then I experimented with using a coroutine as part of that behavior. But like I figured out when making Hard Glitch, the behavior of a character is so dependent on state and coroutines states cannot be serialized (in any language) so it is best to avoid coroutines for behavior OR make sure all the state they are refering to is always not stored in the coroutine. Experimenting with this again also lead to unexpected limitations beccause to maintain the coroutine we need to make the object handling the coroutine non-copyable and we dont really want that… So using a coroutine for behavior doesnt make much sense at this point, except for complex behavior maybe in the future.

We learned a lot that stream and I still have to think about if there is a way to do what I want with this code.

I hope to finish prototype 1 next session but not sure yet. Feel free to join the stream next week! (although it’s very code intensive so maybe not interesting for most of you haha!)

Klaim

Leave a comment

Log in with itch.io to leave a comment.