A 3D Open World Exploration Game

Download on Steam!

Background

Ever since the emergence of the "solarpunk" (hypothetical sustainable future interconnected with nature and community), I knew I wanted to make a game based off the aesthetic. When pitching the idea to 5 of my friends we all fell in love with the concept and immediately began brainstorming. This was the start of our idea for an open world exploration game where the player is tasked with helping a small community repair after a big storm.

Project Details

Re:Fresh - Launch Trailer

Re:Fresh - Early Access

We plan on expanding the content and vision of Re:Fresh, and this section will cover the early access version of the game.

Pre-Production

The first few weeks were spent brainstorming and elaborating on ideas for our final project. We utilized Miro, Trello and Github in the beginning stages to establish a structure for the development to come. With a mix of online and in-person, we were able to whiteboard a lot of our initial ideas and expand upon them with group discussions and rough sketches.


We immediately stuck to a solarpunk aesthetic, and with a big inspiration being A Short Hike, I helped to develop a plan for our Solar Cell System. This was to be a major mechanic for mobility and exploration, one of the key focuses of our game. This system, while initially seeming to be an easy task was tweaked and heavily modified after playtesting feedback and group discussions.

earlySolarCellJump.gif

This is an early prototype of the Solar Cell system in action. The player grabs their first cell and is now able to double jump to reach new locations. At the end of pre-production, we had produced a build and ran a playtest in order to get feedback.


During this prototype playtest, multiple questions arose:

Production

Solar Cell System

During production my main focus was to iterate upon the solar cell's current design and establish a more fleshed out version of the current solar cell mechanic. Two of the largest changes were to address the cell recharge mechanic as well as add a dash for more varied movement. In our initial idea, recharging was going to happen at "recharge stations" around the map, but due to time constraints was reduced to an instant recharge when the player touched the ground. Instant recharge ended up being a lot more convenient, and while bringing infinite jump bugs we decided that it should be kept with some revisions. 


With the foundation established, I decided on the core principles of the system that would work together to create a cohesive, engaging experience:

The first test with recharge delay per cell

Further changes to prevent exploits: cells recharge after a delay, cells will only recharge if the player is currently grounded, cells can be used as soon as they are charged instead of when they all finish recharging.

During this time I was working closely with our artist and other designers/programmers in order to test the new mechanics while staying aligned with our vision for the project. Testing with first pass art and early levels helped to establish the game-feel which was critical for this system. Movement and exploration had to feel tight and rewarding, and I strove to iron out the kinks in the solar cells to make sure they were highly responsive and fair for the player.

Player using a cell to reach new heights

Quests

Another large hurdle was designing a scalable quest system that would make it easy for other members of the team to add, remove, change and implement quests for NPCs to assign to the player. Quests not only had to store information, but display that information to the player. 

As seen on the right, quest have multiple parameters:

Quest data is then used to connect to the player's Journal, where they can view active quests, as well as NPC the quest is assigned to, the materials needed, and whether or not there is a quest item.

These parameters allowed for an expandable system that could be used for multiple NPCs as well as future NPCs we plan to add. Quests are flexible and managed by a quest manager which simply stores all of the quests for the game and keeps an active quest list to use for the Journal. Scripts can reference the manager in order to start quests, check if the player holds the materials needed to complete a quest, gain the needed quest item for a specific quest, and complete a quest. 

Below is an example of the core gameplay loop in action.

Player talks to an NPC, gaining a quest

Quest appears in the Journal

Player collects materials needed for quests

Quest is completed and the NPC's building is repaired

Postmortem

Re:Fresh is now the biggest game I've worked on (sorry Pescabearian), and with our plans to continue working in the future I'm very excited to see what we'll accomplish! Since the beginning of the project we knew that we wanted the game to be scalable in order to add the content we couldn't get to this semester. Designing for a game with more content to be added is something that was new to me and my team, and took a lot of long meetings as well as debates for the best practices to use. This was a challenge design wise, as the player must feel the same sense of progression if the game is ten minutes or an hour long. In the end it was a blast to work on and I'm very proud of the work we did on this project. Check out Re:Fresh Early Access on itch here, and stay tuned for a future Steam release!


Special thanks to Merge Conflict :) - Will, Karina, Melody, Joseph and Ethan