Open Space

A space exploration game where you play as a spaceman who has crashed in a small solar system. You need to find the missing parts of the ship to save yourself and your crew while investigating strange alien ruins. This project was made in Unreal Engine during 4-weeks halftime as a school assignment: "Advanced Level Design: Open World".

OpenspaceTitle
HighresScreenshot00000
HighresScreenshot00008

Since a was still recovering from finishing Outer Wilds and had found an interesting plugin for alternative gravity in Unreal Engine I decided to push the boundaries a bit and turn the Open world assignment into Open Space. My goals were to create something in the vein of Outer Wilds, experiment with the Unreal Engine Plugin: "Directional & Planet Gravity" and expand on my own Dialogue/GameState system.

My Goals:

  • Create 4 interesting Planets
  • Experiment with spherical Level Design
  • Expand and Improve my Dialogue/GameState System

The Planets

Sandy Scrap Planet

  • Starting Planet
  • A rocky desert planet
  • Hub area on the north pole
  • Alien ruins on the south pole
  • Good view of the solar system
  • Grow and improve hub world
  • Establish goals:
    • First, find your crewmates
    • Then find and retrieve lost ship parts
    • Introduce alien mystery

Explore the planet!

Gather your crew!

A fun and interesting design problem to solve was how to help the player navigate around the planet. For this purpose, I placed several Landmarks placed around the globe. For Example; the Crashed Spaceship's tail points towards the Hub, so if the player sees the Ship from any direction they will know where the Hub is. There are also different types of rock depending on which side of the planet you are on, one side has sharp and pointy rocks, while the other has more tall and cylindrical rocks.

First view of the Solar System after exiting the crashsite
First view of the Solar System after exiting the crashsite
Hub Area and Space Ship
Hub Area and Space Ship
Echo, the ecologist is the first crewmate you meet
Echo, the ecologist is the first crewmate you meet
They give you your first objective, find the other crewmates
They give you your first objective, find the other crewmates
Not far from the hub, you find Langis, the Navigator and a ship part
Not far from the hub, you find Langis, the Navigator and a ship part
The ship part on "Lion Rock" and is easy to spot from all directions
The ship part on "Lion Rock" and is easy to spot from all directions
Carrying a Ship Part back to the Ship
Carrying a Ship Part back to the Ship
Further from the camp you find Mullimer, the mechanic and alien tech
Further from the camp you find Mullimer, the mechanic and alien tech
Simple Alien puzzle on the south pole
Simple Alien puzzle on the south pole
Putting the alien device in its place activates a beam to Tide Planet
Putting the alien device in its place activates a beam to Tide Planet

The Hub Area is Growing!

Part of the assignment was to have a hub area that you return to. I've always liked the kind of hub areas that change over time and that NPCs you meet in your travels return to, so I made that. The Hub is placed right beside the Ships crater, and since you can only carry one Ship Part at a time, you have to walk through the hub everytime you find a Ship Part.

I use the Unreal Node: "ProjectWorldToScreen" to see if the Hub is within the players view frustum so I can add plants and NPCs to the Hub when the player is not looking.

Eternal Tide Planet

  • Tropical Planet with Ice-covered Poles
  • Twin moons, Crazy Tides
  • The Tide can easily push you around if you're not careful
  • Alien ruins on the north pole
  • Hard-to-get Ship Part floating on the Tide

Keep your Eyes on the Tide!

The motivation behind Tide Planet was that I wanted a planet with more vegetation and ice-covered poles. I also thought it would be fun to have a water planet with different islands and then I got the idea of Tide Water that the player could get swept away by. After that came the tropical theme and the twin moons to explain the crazy tides. There are three islands on the planet, excluding the poles. To help distinguish the islands they each have a specific prop on them, like jellyfish or seashells and different tree layouts.

Approaching at the Tide Planet
Approaching at the Tide Planet
Alien ruins on the North Pole
Alien ruins on the North Pole
Missing Alien Tech on the Island with 3 Palm Trees
Missing Alien Tech on the Island with 3 Palm Trees
Ways to get up to the poles are marked by Stranded Jellyfish
Ways to get up to the poles are marked by Stranded Jellyfish
The Tide will push you around if you get stuck in it
The Tide will push you around if you get stuck in it
The floating Ship Part can only be accessed by standing on high ground
The floating Ship Part can only be accessed by standing on high ground
The South Pole, Nothing here, only a red herring
The South Pole, Nothing here, only a red herring

Ringed Gas Giant

  • Purple Gas Giant 
  • Many Rings! Both on the Inside and Outside
  • Overharvested and hollowed out by Ancient Aliens
  • Big Navigation and
  • Spacial Awareness Puzzle to find your Lost Ship Part.

Rings! So Many Rings!

Running around on rotating rings around a small core was something I experimented with in the early prototypes of this game. I thought it was pretty cool and fun so this whole planet is built around that idea. One problem I had was how to get between the different layers of rings in a smooth way. What I did was to place big drill-like contraptions that the rings rotated around, which also works well as navigational landmarks making traversing the space easier.

Inside the Thick Atmosphere
Inside the Thick Atmosphere
tree
tree
Landing near a way down into the spinning machinery
Landing near a way down into the spinning machinery
A single dying tree left on the surface
A single dying tree left on the surface
A Glimpse of the Lost Ship Part flashing red. But How do I get down?
A Glimpse of the Lost Ship Part flashing red. But How do I get down?
The Ship Part, next to a Lever that activate a beam to the Next Planet
The Ship Part, next to a Lever that activate a beam to the Next Planet
Getting up to the Surface again is another puzzle
Getting up to the Surface again is another puzzle

Outer Eyeball Planet

  • Smallest and Furthest away Planet
  • Tidally Locked, with Hidden Alien Temple on the Dark side.
  • Scorching Volcano on one side, Frozen Glaziers on the other.
  • Big Eye in the Sky!

See you on the Dark Side of the Moon

When researching tidally locked planets I came across the term Eyeball Planet, where the sun-facing side was incredibly hot and the dark side was freezing cold. I also thought it would be fun to have something hidden on the dark side that the player wouldn't be able to see until they came close to the planet. The Volcano was originally part of the Tide Planet where the tide was Lava at first but was moved to this planet since it fits very well with the Hot/Cold theme and also made the planet look a lot more like an eyeball.

The Energy Reciever above the Volcano
The Energy Reciever above the Volcano
Temple on the Dark Side of the Planet
Temple on the Dark Side of the Planet
Gate is locked until the other Transmitters are activated
Gate is locked until the other Transmitters are activated
Activating all Alien Tech unlocks the door
Activating all Alien Tech unlocks the door
The top of the pyramid flies off and refracts the Energy Beam
The top of the pyramid flies off and refracts the Energy Beam
The Refracted Energy beams out into the Universe
The Refracted Energy beams out into the Universe

Dialogue and GameState System

The Dialogue and GameState system started out as a simple dialogue check state system that could play different dialogues depending on how many times the player interacted with it or if they had interacted with other actors before. It could loop a set of dialogues or play them sequentially and then only loop the last one. The system was expanded upon and now anything can set States that affect the dialogue and objects can listen to States and for example activate when a certain state has been reached.

  • Controls dialogue, inspection text, activation of Alien Tech, and progress checking
  • Basically just keeps track of String to Bool relationships
  • Objects can listen to specific states and change when states change

All Dialogues and Descriptions in the Game

Loops within Loops within Loops

Anything can have a Dialogue Component that has a list of which dialogues it can play. It will check the list and pick the first one where all Required States are met. For Example "PyramidActivated": true & "TalkedAboutPyramid": false opens up a dialogue about the pyramid to play once and closes it after the pyramid has been talked about. After a dialogue has been played it can set new States that can change the dialogue for the next time or affect something in the world. All NPCs also have a default dialogue option with no Required States. This is redundancy to avoid having to check all possible combinations of States.