8. Props and Pub Crawls


Recap

At the end of the last sprint, I set myself the following targets to achieve in the sprint just gone.

  • Repaint the remaining levels with the environment artwork.
  • Bring in prop artwork and decorate the levels.
  • Investigate and resolve the WebGL build bugs.

Progress Report

  • All existing level sketches have been re-painted with the floor and wall artwork.
  • Four of the five existing levels have been decorated with props.
  • The WebGL build issue has not been investigated.

Musings

The work going into this project at the moment isn't particularly thrilling in my opinion. I have essentially been:

  • slicing up sprite sheets for various props;
  • creating and structuring prefab hierarchies for the props so that I can use them in my game;
  • decorating my existing levels with said props; and
  • and creating animation controllers for the props where they are required.

I found myself getting bored of this after a few hours, so I would come away and do something else. This isn't a bad thing, but it highlights that this aspect of game development doesn't appeal to me as much. I'm not talking about monotonous stuff here - spending a few hours slicing up sprite sheets probably doesn't excite anyone. I'm talking about the creative level/game design.

I get excited by systems and mechanics and how they work together. I get excited about constructing systems in a [list of tech buzzwords] way. I don't get the same buzz from thinking about how I can place props in a level to create an enhanced and more engaging experience for the player - it's just not me. That being said, I did feel myself getting into it when I had more props available, but I found that I was unable to spend the whole day doing it. This is in stark contrast to my engagement with the production of the time management system for this project.

I've included a few screens of my new levels below.



I actually want to retract my previous statement. I did enjoy the placement of all these props - it was just a very different experience to smashing through a system/mechanic. It was a lot more casual. I definitely think the props do make the levels seem so much more engaging, so it's definitely worth spending the time doing it.

As a reminder, the artwork comes from here.

Notes on Hierarchy Organisation

Now that my levels have lots of props in them, my level hierarchies are pretty long. A screen of the longest one is below.


I like to separate and group the game objects in my level with empty separator game objects - e.g. ---- Managers ----- and ---- Props -----. This is something I first saw when inspecting some training/example projects made by Unity. At first, I didn't see the point in this. The hierarchy would look lot tidier if all the props were nested inside a single parent game object because you can collapse/expand this game object to hide/show them respectively. This approach is advocated in this YouTube video from Lost Relic Games.

This (slightly old) Unite talk on Unity's evolving best practices, however, gives a good reason not do. At least, not all of the time. It is a slightly dry watch, but I was very chuffed with this bit of information I got from it. It's in the aptly-named Split Your Hierarchies section starting at 20 mins in. In short, it says that Unity checks for changes to transform information - that is, the position of game objects in the scene - for each scene hierarchy. If you have many game objects under a single parent and just one of them changes position, Unity will check for changes in every game object in that hierarchy. This is inefficient and con potentially be optimised.

As with all optimisation points, there is a disclaimer here. This probably won't have any impact on my game at all. In fact, I know it won't. All of my props are static and will never move - I've even marked them as such in Unity. I could therefore parent them under a single game object to tidy up my hierarchy - which is something I do plan to do - and the above points on transform checking won't impact my performance - not that my game is particularly resource-intensive anyway.

The point of this section is to share a nice little tip on how Unity works. It's important to know what your framework is doing for you. Going back to the Lost Relic Game video, he has lots of moving objects and lots of static object under a single parent, so all of them are evaluated every time any one thing moves. Again, the point of this is to share knowledge - it's not to slag off a YouTuber.

Final Thoughts

I found the below funny.


This is what happens when everything is your game is excluded from Unity's physics calculations but you accidentally marked your walls to be included. lol.

Next Up

I am going to see my girlfriend on Friday - sorry ladies - so the next sprint won't take place until the weekend of 14/05. That being said, my targets for this sprint are outlined below.

  • Add in gameplay music
  • Add in sound effects
    • Player footsteps
      • [Stretch] Have splash footstep sound when player walks over spilled liquid
      • [Stretch] Have grate footstep when player walks over grate floor tile sprite
    • Rewind time sound effect
  • UI sounds
    • Button hover, select, cancel
    • Pause menu and quit sounds
  • Add a flicker effect to some of the wall-mounted light sprites

There is a fair amount of stuff above, and I am likely to be out for a significant portion of the Saturday of the sprint weekend, so it is likely I won't get through all of it. The items marked with [Stretch] will be the things I drop if I am running out of time. I'm also not expecting to complete all sound effects and music in this sprint, I just want to make a dent in the implementation and figure out my approach. I've dropped off the WebGL build defect investigation and fix because it's clearly not a priority for me now, so I'm not going to lie to myself by keeping it on the agenda each week. I will fix it when the prototype is actually ready.

Get Time Travel Prototype

Leave a comment

Log in with itch.io to leave a comment.