Day 113: Today started very badly. I didn’t want to work at all and I even had trouble to get out of bed. But then I started working on some tools. And even though I still didn’t want to work, my mind couldn’t resist going wild on the challenge of it. So before I even realized it I was actually being productive.
Daily interesting stuff:
Reddit post, “how to find the minimum required config”. You thought it was some complicated test on a wide range of configuration until you find the minimum required to launch your game? Well no, it’s just a big guess game, when you take the most popular config from a few years back.
Reddit post, how getting into gamedev changes the way you play games. I posted a similar link a few days ago, but this time, the answers were even better.
Article on dirty coding tricks. The kind of ugly thing you do to meet deadlines when you’re desperate. Very funny (until it happens to you).
Tasks done:
Checked the slack channel, to see if the artists responded. The last person finally joined the channel, so now we can begin the work. I don’t know why, but I feel much better now that it’s starting to get in shape. I found it very stressful to ask for people to work for free and try to coordinate first contact with all the answers.
Thought about what was really missing in the game. Like what are the top things to fix before shipping an accomplished product? So after I created a short mental list, I compared it to the beta draft list. The points that overlapped were marked as important. Then I marked two other point as “nice to have” because while re-reading it, they seemed to be not that important after all.Deleted the room prefabs that were created during the Unity 5.5 migration. It turned out that changing of engine version triggered an import of all the Tiled rooms. Since the custom importer is still configured with un-zoned rooms, I end up with a unwanted copy of every single room. So I deleted them. And I deleted the start room by inadvertence. So I restored it.
Implemented a new way to save the enemies in the rooms. It’s the third time I change this. The problem First I used a list of enemies, but that was tedious to make content. Then I saved the enemies directly in the room. It was great because I could use the Unity editor built in scene tools. But there was a big problem, there is no nested prefab in unity. So if I changed an enemy (say for tuning) then I would simply not be updated in the rooms. That was a pain in the ass. So now for the third iteration, I decided to keep both advantages of the two previous methods. I still use the built in tools to make the content (place enemies, make different gameObject to make different configs), but I made a tool that transforms it into a list in the background. So in appearance it works like before, but in reality it’s all dynamic. Having this idea was a big part of the task. Once I knew that, it was easy to make a rough planning of what I needed to do here’s the steps of the tool:
Add a “RoomDynamicContent” component to mark the gameObject as containing dynamic content.
Hit the F5 key to trigger the “save to prefab” tool.
Each RoomDynamicContent then save their child into a list. The saved information is the prefab reference, the position, and the rotation. To find the associated prefab of each child, I do a search in the Assets based on the name of the child.
Each child is destroyed right after being saved.
The prefab is then saved.
Once it’s done, the childs are re-instantiated based on the lists, so that It doesn’t change anything for me while working on content.
The childs are also instantiated when the room is created in-game.
0 comments