In the over a year since the last blog post I've done very little development on From The Sun and a few months ago decided to stop work on it all together. As I built on the initial concept of playing as a particle of light that changes color and energy levels by absorbing other light or running into obstacles I realized that I didn't have a full plan for what the final game would look like. As an experiment and learning experience I consider it a success, but I don't see a larger appeal with it in its current encarnation so I'm taking what I've learned and am moving on to a new project. More about that to come.

Taking on a solo project and exploring more of the aspects besides programming was really good for me. I gained a renewed appreciation for all that goes into a game. Chiefly among the aspects of game development that I had underestimated are design and production. I did no real design work going into development for this game. It started out as a little experiment with no player interaction where colored balls spawned on a screen, redder colors on top falling down and bluer colors on the bottom floating up. When balls collided the bluer one would become one step bluer and the redder ball would be destroyed. I then iterated on that design a few times until I reached the mechanics in the current build. That was my design process.

Once I was fairly happy with the game mechanics I started building out actual levels and a structure for the game. In that process is where I learned the value of planning the production beforehand in order to be able to plan a timeline for the game. I didn't have a timeline at any point in the development process. My documentation consisted of a trello board that I threw tasks in to as I thought of them and some pages in a notebook with ideas for what levels should be like. As a result of that a lot of little things in this game are completey flat and bland: menus, interface, sound effects, etc. I'd realize that one of those aspects needs attention, spend a little time on it, and then get distracted by the next thing that needed attention.

Two things that I ended up being pretty proud of making as part of this project are the level editor tool for building waves of debris and a crystal 3d model that I don't actually remember if made it into the game.

The level editor tool makes use of lessons from CatLikeCoding's Splines tutorial to spawn debris along smooth curves in addition to manually placing prefabs. In the screenshot below two such curves are visible. Not shown are the widgets that appear when they are selected for editing. This is a view of the first few waves in the Venus level (if you want to see it in action you'll have to give the game a play.) Also visible in this screen shot is how a wave with a bezier curve only allows for one curve so the parrallel curves are actually two waves with very close together timing.

Level editor showing bezier curves and prefabs at the start of the Venus level

The crystal model is for a type of debris that wasn't as useful as I had hoped. I wanted to have them fill the role of providing a reason players to try and be a specific color rather than going for the highest power level, but in play test it was confusing whether you could pass through them if you matched their color or if they turned you to their color. I had thought the former made sense but many players expected the latter.

Spinning green crystal

Ultimately the usefulness of the crystals hinged on a ditched mechanic where redder colors would still fall from the top and decrease the player's power level. The design iteration process led me to get rid of any reason to change to redder colors and the design took on a model where the player could take more hits and deal more damage by being high powered and there was no reason to go lower. This is the change in design that made the most sense and also removed much of the original inspiration.

The final version of From The Sun is playable here on itch.io. It includes Mercury, Venus, and Earth as levels, they end up getting pretty difficult.

 

Hello World!