Skip to content
Home » Newsletter #20

Newsletter #20

Welcome to newsletter # 20!

Time falls forward but progress marches on!

Last few weeks:

One issue I came across the past few weeks was the particle physics system not interacting with the environment. After some investigation I found out that particle physics didn’t interact with dynamic meshes. To get around this I made invisible static meshes that would interact with the particle system. A bit clumsy but it gets the job done. I have one at floor level and others will be placed dynamically as needed

The next thing I worked on was getting the 2 story buildings to generate a floor. This was just a matter of spawning floor tiles but it was a bit tricky since I had to make sure the corners, walls, and center used different tiles that had the correct borders

I set up the Meta Data for the buildings and main room previously but in order to get rooms generating correctly I also needed Meta Data for all the upper floors so I spent some time setting them up. The component visualizer is very useful for visualizing and editing this data but it does make the editor windows lag when interacting with the Meta Grid Component. Something to consider if you decide to use the visualizer and make many points and lines like I do. It took the better part of 2 days to get all the data in which is why I waited until I tested my initial system, so I wouldn’t need to go back and re enter the data later. I did end up having to go back and input some extra data anyways but it was a minor tweak that didn’t take too long

With the upper floors and corner buildings in place with correct Meta Data the next step was to determine empty space in the center of the room to see how big of a building I could place. These I dubbed as Obscurement Buildings since they were designed to block the view of the player and force them to move around the room to determine what was in it. With the maximum size determined I then used an algorithm similar to the corner building one to make a randomly sized building in center of room with small chance of having no building there. I also wrote the code and made the assets for Obscurment walls which were placed on the upper floor just outside the entry doors to also force player to move around the room to get layout

You may notice that the buildings are rather bland, after adding traps and sensors to the walls I will be adding visual elements to make them more interesting. During this phase I’m mostly interested in blocking out the major buildings and paths through the room. Below is just the first floor data (Top Floor Meta Data Hidden)

My next task was to add stairs to the rooms but to do that I needed to know the paths between each door so I could ensure stairs wouldn’t be placed on a choke point. I created a function to generate PathBlocks which represented large rectangular areas of travel. After generating the blocks I had another function that checked the edges and made connections between all the adjacent ones, and drop connections from top floor blocks

The next step was to expand out from the doors following the path connections and making a list of upper floor path blocks that had drops so I had a list of possible stair locations. While working on this I realized that I needed more info as to what paths should be blocked depending on the requirements of the mission but that MetaData was not present so I have put stairs on hold while I work out the proper procedural generation for missions; at the moment I’m just doing a simple walk and connect that dosen’t generate the extra info I need. I did create the stairs assets though and have a test in the first room showing how they will be placed

During this time I also started to prepare the assets I’ll need for smaller doors. I’ll need small doors that fit inside a single square and one that will work in corners. I still have to clean up the inner parts of the doors but the initial frames and tunnels are ready

Push to store page release continues:

I have to take a bit of time to work out the last of the design for the procedural system that requires the design of many of the other systems. Once that is done I’ll be able to finish up the stairs and level generation and move onto the last bits I need to get the store page up. Its taking longer then expected but I’m still super happy with the results. Still in crunch mode but things are looking good!

That is all for this update!

Tony D
Cronoforge Studios Inc