Post news RSS Project_BuildTutto Development Update 14

In this series of updates I'll document the development process of the game in detail, post timelapse videos of the work, and talk about some features...

Posted by on

Hello Everyone!

Stefano here with yet another update! These updates are flying by faster than ever, it almost looks like yesterday that I started doing this and now we are already on the 14th update!
Anyway, this was a bit of a mixed work week since I really need to reorganize my working schedule and give priority on the feature list to work more smoothly through the weeks. With that said this week was still a productive one and a lot of things has been improved so lets dive in into the update!
I merged day 104 and day 105 videos because on Monday I did not record anything interesting and worked a lot on the Windows partition of my mac were I don't have the recording program.


IMG CJANGELOG
IMG STATS

Main controller rework and level switching

Brief recap on the main design idea: in the final game the player will not always play in the same spot, but instead he will have to play the game in different location through the run. The main location will be the player’s main base and warehouse where he will be able to build his own factory and produce all the items he will need for both expanding this base and building other buildings somewhere else. Other than that the player will play in the various land spot that the game will give to the player with some quest like :"Here is a brand new land spot, I want you to build a factory that produces at least X things per day" and the main goal of the game will be to successfully build and optimize all these various factories that the player will build through the game.

So, since the game will be played on various location in a virtual map I need to have an easy way to switch between maps to give the player freedom on where to play and what to do. These maps have to be connected through each other since the player will need to build stuff in his main base and send those items in the various maps in order to build the buildings there.

Right now, the game was not really offering that possibility, so I had to move many things around and merging/creating new classes to work better on that.

  • In particular I had two main controller classes before: Game and Level class. The Level was the class I used for the serialization process and the Game class was a helper class which was not serialized and was storing information like the path finding grid, the indoor mapping system, and stuff like that.

  • Managing two classes sometimes is trickier than managing only one big class so I finally decided to merge those two classes into the Level class.

  • After that I noticed that the Level class was holding both persistent information (like player info, money, object’s library, material's properties, game time and ambient temperature, etc...) and local information about the current location that the player was in (like objects, resources, ghost objects, orders management, terrain, electrical grids, liquid pipes, etc...).

  • So, the obvious next big thing to do was splitting that Level class into a PersistentLevel class and a more local version of Level. This process resulted into these two classes where the first holds only the global information and will be instantiated only once during the game session, and the second class is instantiated every time a new map will be available to play.

  • The PersistentLevel will then store a vector of each Level and turn them active or inactive when switching between maps.

IMG SCHEMINO

The player will be able to switch maps through a menu (the current one is very ugly, but it gets the job done, in the future i will update that creating a detailed map to give the player a sense of presence in the space in relation to the various maps).

GIF LEVELSWITCH

GFXs

Phew, that first point had a lot of text inside. Lets get a bit more relaxed with some particles!

GIF PARTICLES

After that very technical work on the Level I wanted to take a break and code something more fun than that, so I began to make particles to spice up a little bit the game. I'm not really satisfied on how those looks right now, but it’s a good starting point to improve them and the code is very flexible to modification.

IMG PARTICLES

Right now, the particles are present on the guy's footsteps and on the generator when producing electricity.

Gui improvements

This week I also took some time to improve a little bit the gui of the game (I know that it's still ugly has hell, but it's a placeholder, I'll update the graphics of that in the future). I added a new bottom persistent gui where the player can access the Library menu and the Blueprint menu, and also added a small side bar on the right portion of the screen where the player can see what resources are currently available inside the current map to know better what's inside the chests or around the level. The next week I want to add a bit of functionality to it and make that when you click on a resource on the right-side bar the game will select and highlight all the resources of that type inside the maps to let you know where they are stored.

IMG MENUS

Keep in touch

If you are curious to see how things will go feel free click any of these links to join our community:
Discord Server: Discord.gg
YouTube channel for Timelapses: Youtube.com
Twitter: Twitter.com
Changelog: Docs.google.com

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.