Post news RSS Discovering Observatorium: Part 2

The second in a series of posts where I discuss the inception of Observatorium and how I evolved it from a basic demo into a fully-formed prototype

Posted by on

Observatorium - Initial Poster - Landscape

I began prototyping Observatorium in May of 2014. Previously I’d been learning to code in C# using the Unity 3D toolset whilst building various prototypes - ranging from first person puzzle to third person action - so I already knew the basics. For Observatorium, I was keen to dive into the 2D workflow as I’d never tried it before and an orthographic camera was perfect for the type of gameplay I wanted to push.

First Demo

After watching the tutorial videos on the official Unity site here - Goo.gl - and reading up on the basic Unity 2D workflow I dived into the first demo:

Observatorium - First Demo - Movement

So this is Observatorium 0.0 with my [awesome] coder/designer art. The goal of the demo was to move the boat around and collect all of the little pickups scattered throughout the level. Seems pretty basic but I learned some important Unity 2D concepts including importing 2D images and turning them into game objects with associated sprite renderer components, managing overlapping sprites via sorting layers, triggering 2D events and managing 2D physics. The core movement controls (initially assigned to WASD keys) were very simple to implement: just a positive/negative force applied to the boat to make it move forwards/backwards and a torque for the rotation. I attached the camera to the boat so it would pan with the player and locked rotation via script to avoid sea-sickness. The next step was to work on the constellation gameplay or ‘star sketching’ as I call it:

Observatorium - First Demo - Star Sketch (1)

As I mentioned in my last post - #mce_temp_url# - the Observatorium idea stemmed from an earlier first person, free-floating puzzle game I was making called 'Astronaut':

Astronaut - Prototype - Screenshot 1

The astronaut demo - although functionally similar - was set in 3D space and depth of the placeable mirrors played a large role so I decided not to use that code here. Instead, I used 2D raycasting to detect which objects were beneath the cursor (whenever a mouse button was being held) and used tags to signify which objects should be interactive.

I drew lines in 3D space in front of the 2D assets and based their start/end points on the positions of the star objects. I added code to check when a loop was detected and, to enhance playability, I froze the game when mouse was held to make sketching much easier. I tried to make the system as dynamic as possible so crazier shapes could be attained simply by adding new star objects:

Observatorium - First Demo - Star Sketch (2)

And that’s pretty much it for Observatorium 0.0: constructed to test the basic movement and sketching gameplay. The next step was to take this idea and move it into a proper puzzle progression. I pushed on by making a series of levels containing numerous constellations the player had to sketch in order to proceed. Completing one constellation would spawn new stars or constellations and so on:

Observatorium - First Demo - Star Sketch (3)

At this very early stage I was still using pickups – such as stardust and starfish - as a large part of the gameplay to lead the player through the game world and to enable certain puzzle behaviour. Some problems with this approach: (1) puzzles were too arbitrary – not enough feedback on why you would draw a line or shape in certain cases (2) puzzles were too repetitive – just lines and shapes with no real method - not very engaging (3) using tiny pickups to lead players through the world meant my playtesters were spending too long focusing on getting their boat on a perfect path and paying less attention to the puzzles.

The solution: (1) make the star sketching interface more dynamic so the player can experiment more (2) remove pickups (for now) to make players focus more on the puzzles and (3) use fish to give the puzzles more meaning and give the player a clue about what constellations to draw.

In summary: give the player more freedom and make them think before they draw.

Adding Depth to the Core Mechanics

The next step was to rework the star sketch code to be more dynamic. Rather than treating each individual puzzle as a series of moves that you had to complete in a specific order, I loosened up the interface so the game world itself became this huge open world puzzle. The player could interact with any stars they wanted and create and destroy individual stars as desired. This meant the basic sketching became much deeper. Additionally, I added special regions where the player could create their own stars and added the possibility to mix and match them with the pre-placed ones to create as many lines/shapes as they desired. Now, the player was way more empowered which helped to open up a larger number of gameplay opportunities:

Observatorium - First Demo - Evolution (1)

After that, I added more variety to the game world in the form of fish. Fish gave the player a reason to draw certain lines and shapes and this tied in nicely with my overall theme of space-meets-nature. Now the player was essentially trying to 'catch' fish using their telescope. To implement this gameplay was a little trickier: I used the stars and lines to create special objects to which I assigned specific properties:

Observatorium - First Demo - Evolution (2)

The above example shows a simple puzzle where you have to activate all of the starfish. The bright starfish are in an 'active' state and the darker starfish are 'inactive'. Notice how the starfish have moved from being collectable objects to being part of the overall tapestry of the puzzle mechanics. The final step was to add some sort of start and finish state so I could prototype puzzles much quicker. I added a spawn point/circle and a whirlpool that would transport you to the next level when the desired puzzle state had been attained:

Observatorium - First Demo - Evolution (3)

Some of the puzzles in this post – although not very taxing just yet – ended up in my final prototype as part of the tutorial flow:

So that’s really it for the basic interface for Observatorium: rowing and sketching. One of my high level goals for the game was to keep the core mechanics simple and easy-to-learn so that I could add all depth and difficulty via the game world. Another goal was to make the game more than just a simple puzzle experience - hence why the player has full control over their avatar: to give them a sense that they're on an epic journey (more on that later). There are additional mechanics in the game beyond rowing and sketching but they are closely tied to the story which I'll be revealing sometime in the future.

Next Time

In the next post, I will discuss how I extended the puzzle gameplay even further.

If you have any comments/suggestions please post below and I will try and respond.

Thanks for reading!

Clive Lawrence
The Man Who Flew Away

Comments
HenryT77
HenryT77

"easy-to-learn" - very good because I see big potential in this title. Keeping up thumbs for good work!

Reply Good karma Bad karma+3 votes
TheManWhoFlewAway Author
TheManWhoFlewAway

Thank you :)

Reply Good karma+2 votes
hugo1005
hugo1005

I like the idea becuase it is simplistic and rapid to prototype, my own game that i am making is virtually the opposite, large and complex (which is probably a mistake, but i've learnt so much its been worth it) - back to your game:

Suggestion :
Perhaps you could add mechanics like telescopes, using telescopes actually reveals hidden stars that you cant see with the human eye.
Perhaps lighthouses that blind your vision of stars in certain areas because of the strong light they
perhaps rather than the stars looking so cartoony they could look more like glowing pinpricks, and get distorted by water effects, making them feel more part of the level.

Just some ideas, keep going it looks good!
Will it be for ios primarily because for its scale its the most likely place for the most customers?

Reply Good karma Bad karma+3 votes
TheManWhoFlewAway Author
TheManWhoFlewAway

Thanks for the feedback: these are great suggestions and in line with some of the variations we have planned for later in the game.

Regarding target platforms, I'm developing this on PC first of all with the plan to release via Desura [primarily] before branching out to other stores/platforms. I hope to move the game onto iOS evenually but the controls will need to be adapted somewhat. The game should work well on any touch or gesture-based device though.

Reply Good karma+2 votes
NicolasLee
NicolasLee

Clive, this is looking great. Thanks for being open about your learning process as you begin development, it's really fun to read about. And again, thank you for responding to my music-related emails. Keep up the great work! -Nicolas L.

Reply Good karma Bad karma+3 votes
TheManWhoFlewAway Author
TheManWhoFlewAway

Thanks! It's been alot of fun learning the Unity 2D workflow :)

Reply Good karma+3 votes
Guest
Guest

I think you might be better off focusing for ios and adroid release before pc as its likely to get more attention on mobile on pc 2d puzzle games dont really attract for me anyway in the same way as on ios.
(Forgot to sign in)
Hugo1005

Reply Good karma Bad karma+1 vote
TheManWhoFlewAway Author
TheManWhoFlewAway

I'll definitely be targetting iOS but the game requires a 1-to-1 correspondance between the controls and your avatar so the interface will need a little bit more attention before it works as nicely as I want for mobile.

Reply Good karma+1 vote
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.