CLONING COLORS QUEST: ‘Puzzle Master’ - Solutions

Quest: Cloning Colors Quest
Challenge: Puzzle Master

Feel free to share your solutions, ideas and creations below. If you get stuck, you can find some ideas here for completing this challenge.

1 Like

A long, long time ago… I started and completed this quest…

Now it’s a playable game prototype - feel free to have a play.

Background Info

A partial game was there but the next stage was to work out how to ease the design of the multiple levels?

The ways to do it somewhat efficiently kept evolving as I went along and were redone again and again as I learned more and had better ideas and different tools at my disposal.

I’ve finally said stop and here we are, finally, with a prototype game consisting currently of 15 levels.

I have to release something now or I’ll keep iterating and refactoring forever!

Trying to have an efficient way to build and design the levels was the most interesting part for me and I’ll talk a bit about it below for those interested.

Color Management

The color options challenge had gone from a limiting enum to a central color manager with an associated int in the gameobjects.

CM

ExecuteInEdit was used to see the color changes as they occured during the design rather than waiting for play mode.

Then I evolved an Editor Window so multiple objects could be selected at once and all their colors changed together.

I then did @garypettie 's UIBuilder Course and rewrote the Editor Window using what was learnt there with things being much simpler, prettier and quicker.

Creating The Levels

I used the Tilemaps and Tile Palette and created the rules for the background tiles so a quick brush around and they all joined nicely together.

I created Prefab Brushes and Random Prefab Brushes ones to place the collectables, gems, spikes, background props etc, so the levels could be painted pretty quickly once an idea had formed.

These brushes were to be part of Tilemaps a few versions/years ago and though they seemed to have disappeared in the current package I managed find ones I used before and they still work.

Scriptable Objects (SO)

I used various with the main being for each level.

There is one level scene to rule them all and the info needed for the scene is kept in a scriptable object linking to the level’s grid, spawn position and other bits needed.

Another SO lists all the Level SOs.

Others are used for the SoundFX and the SFX management system was all rewritten and simplified for this game.

Editor Windows

As mentioned earlier, I Initially wrote one for the color management of the objects and then rewrote again after the UIBuilder Course.

I’d also picked up Odin from Unity’s Asset Store in a bundle along the way so spent an age playing an using that.
It makes the layouts in Inspectors look a lot better, easier to use and to validate
It also can allow for InlineEditing which saves time rather than going elsewhere to find the info.

Odin also allows creation of some Editor Windows quite easily.
It is especially good, once you’ve worked it out, for managing Scriptable Objects of which I have quite a few (see earlier photos).

Summary

Even with all the bits and pieces to make designing the levels easier it is still quite hard so come up with new levels and new tests for the player and for them to increase in difficulty as the game progresses…

I may create some more levels one day.

Or add some level stars for some better replay ability.

Or find the next project be it a new one or one of many started but unfinished….

Unity Skill Builder Season 3 would be cool too @Rick_Davidson …… :stuck_out_tongue_winking_eye:

Cheers
Eddie
:balloon: :clown_face: :balloon:

2 Likes

Hey there!

Here is my solution:

1 Like

Privacy & Terms