Welcome To Eden

We Want YOU To Live in Eden. Visit ASTRID For More Details.

Welcome to Eden is a game I’ve been making with Riane Randall, and a few others. Our dev team is SkyRacoon Games, and you can find the game’s Steam page here.

Having done a game jam with Riane already, when we made Midnight Musings, this game originally spawned from the idea that game jams are too short and we wanted to make and launch a game that would be a more compelling showcase of our skills, abilities, and progress.

When looking for jobs, most postings have the requirement to have shipped a game, with some going further and requiring someone to have been through all parts of the SDLC, from concept to completion. Welcome to Eden is intended to be that game for us, something to show that we’re serious in our pursuit, and also using the game as an opportunity to level up our existing skills.

When it comes to software development, game development, or anything involving code, the greatest asset someone can have is the ability to problem-solve. There are always problems, from simple ones to complex ones, but how you solve the problem, and the ability to keep tackling ever-complex problems is what development is about.

Each new problem along the way was an opportunity to grow. From new ways to approach and resolve problems, to verifying that my approach to problem solving worked. If something didn’t work, it was a learning opportunity for how to do it better.

Working on Welcome to Eden has been an interesting process. For myself, I had to learn about setting up a perforce server and handling virtual server hosting, and a bunch of administrative tasks, in addition to my coding. I know Riane learned a bit about animating and marketing as she set up the Steam page and arranged social media for the game.

That said, lettuce talk about development. When Riane approached me about working on a more polished game together, neither of us had been involved in something more than game jams. Technically, I’d been through Full Sail University’s Capstone project for my Game Design degree, so I had a better understanding, in theory, of how the process should go, compared to Riane. However, it’s only now, as I write this, that I understand how truly little I understood, and how underprepared we were as we started planning the game.

We spent a couple of weeks brainstorming and planning the game out. Truly not long enough or comprehensive enough for what we wanted to accomplish. We were chatting on Discord, in calls, or discussing in comments on our design docs and other documentation. Unfortunately, we didn’t plan enough, and we eventually ‘ran out’ of planned content and had to improvise new things. More specifically, our scope didn’t line up. We can create a space and make mechanics and systems for the player to interact with that space. Unfortunately, we wanted a story, and neither of us is particularly skilled or experienced in story development.

Our aspirations for story development did not line up with the reality of life, and so development on parts of the game was halted while we made new plans for story development.

~~~

Welcome to Eden includes several systems that I wanted to try making, and this game was an opportunity for me to experiment with them. In particular, progression systems. I wanted to create ways for a player to level up, and for that to be meaningful. Each time a player reaches a new level, they get an attribute point to spend on their character. Attributes are used to access different parts of the game or reveal new lines of conversation. So long as a player had one attribute point available, they’d be able to adjust their attributes up and down, but once a player spent their points, they’d have to wait till the next level up to adjust their points again.

A code snippet for how the level up process works in Welcome to Eden

One of the important things I learned while making Welcome to Eden was how the game instance functions, and the many ways it could be used, from storing and retrieving variables to using it for saving and loading data. This became quite handy when tracking the player’s level, the amount of points they have available, and how much experience the player has.

Code snippet for experience progression and leveling up in Welcome to Eden.

This was also an opportunity for me to experience integrating third-party plugin content and adapting it into the existing systems in the game. Dialogue systems are very complex to do, and I found a great one that is very robust and achieved everything I wanted and more. When first making the game, I expected that I’d eventually have to work with and adapt a lot of code other people wrote in future games I’d work on, so I thought of this as a good opportunity to decipher and adapt. Turns out the next game I’d work on, Saga, had a lot of code I’d have to interpret and adapt, so it turned out excellent overall.

Problems are rarely hard to solve, the solutions may be complex or elaborate, but the problem isn’t generally difficult. At least in my experiences so far with game development and programming, when faced with a problem, even abstract problems, finding a solution – finding what I want to happen is the easy part. The fun and complex parts of problem-solving are navigating the code and figuring out how to make the solution I want to happen.

The game hasn’t shipped yet, so I’ll probably update this with more when it does, but it’s been a massive learning experience and I’m glad we did it, even if the process has been bumpy. We’ve learned things, and when we do our next game, we’ll have plenty to iterate on at that point.