#1 Three Weeks with Unity — Getting Started with Polarkreis
It’s been already three weeks since I‘ve been learning Unity. First, I started with Coursera ‘Game Development’ specialization but got bored very fast and decided to learn it my way — through error and trial. This is how Polarkreis was born.
Polarkreis will become a fun 3D hybrid game that combines infinite runner, survival, and exploration components, set in the low-poly world of the High North (High Level Concept Document).
So here’s the product of 14 hours of work:
Scene Time: ~14h
Total time so far: ~20.5 h
I had an idea to set-up a level and use it as a cut-scene before transitioning to the first level of the game. To speed up the development and focus on educational component of the game (for me) I used purchased and standard assets:
- Low Poly World — North was purchased from the Unity store for main design assets. Snow VFX was modified a bit to fit the world creating snow particles. I used water shaders by HolyShift. And I used this skybox.
- Standard assets used: post-processing, water.
- I used Mixamo for humanoid-type animations for the characters: idle, walk, and wave.
- The background music is Enibas Moon by Martijn de Boer
Level Design: I put together all the elements of the level together to represent the look and feel of the world.
Timeline and Animator Control: I created two playable timelines — one in the very beginning of the level and the second one right after the dialogue end. It includes movement of character, use of multiple cameras, and animating the movements. Although, animator control is not shown in the demo, I decided that it was a good time to animate the character and assign movement controller to him.
- Dialogue management system triggered right in the end of the first timeline by the script. It allows entry of the sequential lines, output of the speaking NPC’s name, and “Continue…” button preceding the next line of the dialogue. UI for text output on canvas.
- Third Person character controller with a custom smooth follow of the camera — not shown in the script
- Simple mover scripts for propeller spinner, boat mover.
- Focus puller script for the camera (I couldn’t figure it out in Timeline).
The general feeling of this project is that I started it too early and should have taken more classes. I had to google tutorials on every idea that I wanted implemented and usually had to combine the information from different tutorials to create my own solution. Potentially, there are easier ways. But, logically I don’t know about them yet. I still had a lot of fun!
Although the level set-up was pretty simple I did my best to organize it the way that will provide the best endless experience for the viewer. The main island with characters and plane includes several elements to make sure that the world doesn’t feel empty. Background rocks and mountains were really helpful to add extra depth to the view. And the moving boat was a nice extra.
In total I used four cameras in the game: one behind the character (it will be used in player controller too), the camera with focus puller to show the perceptive, NPS-focus camera, and airplane-take off camera.
Dialogue system was pretty basic for this interaction, it basically takes list values and sequentially shows them on a screen until “Continue…” button is clicked. To be frank, this was really challenging part — I had to figure out how to trigger the dialogue right after timeline and switch to another timeline immediately.