The Playtypus Experiment #4

3 minute read

Progress Report #4

Hello There !

It’s Touhma.

I wanted to write about the pain I’m suffering rewriting / refactoring the Factory Systems for multiplayer But I have chosen to use my little free time doing some code on that.

To sum it up :

You fix something 3 things break because you did not decoupled enough ^^ rhaaaaa I love the prototyping phase with new unity techs.

This is the perfect TLDR for what happened since the last Blog, for me At least.

In a longer Version here is what happened on my side :

  • Pain when learning about Netcode for Entities with the lack of proper straightforward cookbook.
  • Existential crisis when I realized more than half of our system were not flexible enough to be used in a Client-Server environment.
  • Refactored for the third time our code base to implement stuff that were going to be a huge pain in the future , including but not only :
    • Proper separation of responsibilities between client / server simulation ( not battle tested yet , but looks promising now )
    • Splitting the responsibilities between the systems that take care of placing the buildings & the conveyors ( it’s easy AF to place a building , but not as easy to place a conveyor )
    • Limiting the use of global singletons for the placement of buildings & the previewing of said conveyors & buildings
  • First real prototype of project with Netcode in it. Meaning : Client & Server running & connecting & synchronizing. ( not perfect but making progress on that front )
  • During the cleaning & streamlining of the placement system I removed a LOT of either useless or duplicated code that were hidden in helpers functions.
  • Renaming all our Global & Factory SystemGroups & Systems So it’s clear what they do.
  • Made Most of the system not care about the numbers of previews on screen.
    • Some Are responsible for the current player preview data
    • Some are taking care of all the data processing for everything else ( all preview collisions check, Spline calculations, Mesh generation for the conveyors, Preview materials applications etc … )
  • Updated the 1.2 ECS version & Unity to 2023 -> that fixed some annoying issues we had with our project.

No screenshots for now but progress are made on that Front as fact as I can.

Boy, I’m glad I’ve started Netcode now. 6 months later it would have been a wall that would have hit us really bad.

On Inno Side :

  • The UI basic wireframe is moving well. It’s not show-able because it’s ugly as fuck for now but improvement are being made when he has time.
  • Figured out a good way of leveraging the Unity Addressable System to load in a nice way the assets in the game. ( I used that in a previous project & that did wonder, finger crossed it’s going to be the same )
  • Fonts Experiments
  • Better building bar UI
  • Streamlined the systems taking care of the UI leveraging ECS pattern ( a pain to do but the results are nice ! )
  • Experimenting & Building the skeleton of a Research System.

On the general Team :

  • We have a friend of mine that agreed to spend a bit of his free time to make use some rendering & 3D visuals to help us. ( it’s going to take time but it’s better than nothing & the result are promising )
  • Inno Has a good grasp of what’s happening with ECS and get more efficient & he is taking care of stuff without too much troubles now :D
  • We are still looking for a 3D artist to help us. If you know someone serious lemme know on Discord :)

Hopefully we will have more to show pretty soon. In the meantime don’t forget to join Our Brand new Discord to learn more about the project , share your comment in the forum space there & spaghetti !

Take care everyone and see you next week !

Touhma

Updated: