With The Game Developers Conference creeping up I have been taking on commission to help pay for my trip. I didn't get to go with the original design I liked but I'm pretty happy with how this turned out. I tried refining it in photoshop but the drawing lost it's sketchy charm which is what the client was asking for.
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.
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.
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.
That's right, you can finally destroy Earth!
The new level introduces a new type of hazard, complements of Earth's inhabitents: satellites. The solar panels they have absorb your shots instead of being damaged by then, some satellites use the generated electricity to fire back at you, so watch out!
This build also has all levels unlocked so you can try all of them even if you get stuck on one. It also features an animated sprite for the player. It's a little rough right now but it's a start.
Showed From The Sun to some other CAs at GDC and got made what are hopefully some good incremental changes.
- Scaled down most obstacles
- Limiting the variance in photon spawning so there's less visual noise
- Replaced the particle effect on the player with a trail renderer
- Skinned the planet meshes to look more like a planet and less like a bunch of rocks stuck together
- Updated menu assets, fixed a scaling issue
- Added more music tracks and made minor adjustments to existing ones
Added a second level to From The Sun, which of course is to Venus. It has its own music, and the music for Mercury is improved from last time. Both levels are available on the main menu, although eventually they'll be locked until beaten in order.
It felt good to move on from a single level test bed of a game to creating more content with a base setup that I'm happy with. It was also great to have a sudden inspiration for a theme to follow while I created the waves of debris for the level, before it had felt more like filling space than coming up with a design.
I want to get an Earth level in the game by this weekend too, but I don't want to force that and make a level that's just filling space. If something comes to me I'll get it going otherwise I'll spend that time improving other aspects of the game, like the transition between levels.