top of page

Solar-Powered Heart

Long ago, nature turned on humanity. Due to alternation and damages of the Earth’s climate, the air became dangerous for humans. But after everything, a small community who relies and thrive on solar energy stand in the light as they taken the responsibility to repair the earth.

In this game, you play as a boy in this community named Kugi, who helps with tasks and assignments. Yet he has different thoughts on what he wants to do in life, as he tries to find his calling and find a better purpose than what the community wants.

He might find it when he and his friend Natlie volunteered for a scouting assignment beyond the valley.

 

Solar-Powered Heart is a Solarpunk 2D platformer that took inspiration from the popular 2D platformer game, Celeste. But in this game, Kugi has to remain in the light and have to quickly move from one part of light to another.

This game was made for the Day Zero Games: Solarpunk Jam. It was a solo development, and it took 18 days to make the game. 

My Development

At the start, I wasn't familar with the genre that the jam was themed around, 'Solarpunk'. In early drafts prior to research, I made an idea of a government that use solar energy to control people. But I later learned more about Solarpunk as I looked into research documents and watched videos on the subject of Solarpunk and found out that it's the opposite of my original ideas. so I had to change and overhaul the concept. changing it to fit with the idea of community coming together to advance technology while helping and adapting to Mother Nature.

I also considered the idea of people having to wear solar panels on their heads and stay in the light to keep themselves alive. and considered using mechanics that involves staying in the light and having to move fast in between darkness to get to the next part of light. eventually I thought of the game Celeste and 2D platformers, which ended up being the game genre I chose for this game.

Early Concept.png

(Very early sketch of Kugi)

2D Platformer Mechanics

After figuring out what kind of game I was making, I started working on making a 2D platformer, I figured that gameplay should go first before I start anything else, so I made sprite of Kugi and worked on the movement, I found a couple of useful YouTube Tutorial that explains more details about what makes a 2D platformer and found out that it's more than moving the character.

There are secret mechanics such as Cyote Time and Jump Buffering, so I included them into my game to give more of a sense of a 2D platformer. Then I added gravity when the player peaks in jumping, by increasing the gravity scale so that they drop faster then when they are jumping. all before resetting the gravity once the player lands on the ground.

After adding in a few animation for the player character, I added dashing, moving from one place to the next very quickly, I also included indicators in the appearance of a coloured glowing aura around the player, green is when they are dashing, and orange is when the dashing is on a cooldown. I would later add a bright flash covering Kugi to add more visuals for dashing.

Finishing up the basic movements that I want for my game, I moved on to the next core feature and the UPS of this game, the use of light and darkness.

with Solar Panels on the characters head, I figured that if they are in a shady place, then there is no sun to charge the power, so it drains.

Meaning the amount of power the player has will be their healthbar. to simulate draining and regaining, I made a couple of testing shady places and scripted in the use of dark and light using the power percentages. using trigger boxes, floats and bools, I made it so that when the player is in the dark their power drain and when they are out of the dark, they regain the power back.

Of course I didn't solely use a single darkscript as it turns out using more than one darkscript would end up causing problems, such as only one part of dark working while the other part of dark does nothing. so I had to use different types, from eternal dark, which is what I use for when the player falls down a pit, to light areas where it's the reverse of the original dark script, which I use for the Underground and Factory Areas.

Tile Mapping and Level Design

Solar-Powered Heart is the first game where I use Tilemaps, which not only saves time working on art assets, but allows me to customise how the level layout would look like using a grid, as if I was painting the level.

Throughout my development, I made 3 types of tiles, each one for the different areas of the game.

Tiles_SurfaceGround.png
Tiles_Underground.png
Tiles_Factory.png

Surface tiles (Left), Underground Tiles (Middle), Factory Tiles (Right)

Level Design (surface).png

I also had to plan out each level and how each one is laid out to consider what they are doing, what they are achieving and if it's achiveable.

for example for Area 1, it plays as the tutorial section of the game, so I ended up with 3 levels, each one serving a purpose, one teaches the player about movements such as jumping and dashing, then the next level introduces the dark and how to avoid it. with the third level mixing the two together to see if the player handled the tutorial well.

Another example for Area 2 and 3, since the player enters the unknown, I want it to be different from the tutorial, so I ended up with a still camera showing the entire level and use that space to fill in platforms and puzzles, I eventually added a couple of doable ideas and made it in a way that the player will learn how they work and made it more challenging in future levels.

I also started with a blank template, turn it into an image and use it to create a blockout so I know what I'm making, Some of them ended up exactly as I intended, others I made slight changes for the sake of balancing and making the game more fair. The image below is some of the blockouts I made for both Underground and Factory.

Level 2-1.png

Level 2-1

Factory - 3_2.png

Level 3-2

Level 2 (Idea 6).png

Level 2-5

Factory - 3_4.png

Level 3-4

Level 2 (Idea 8).png

Level 2-9

Factory - 3_6.png

Level 3-6

Chase Level

Level 2-10 is the most unique level in the game as it has the player being chased away from a collapsing rubble and the darkness, the whole thing needing to move to the right as the camera moves to the right and stay away from the left.

It was fun trying to figure out different platforms as well as figuring out how to use other features, such as collapsing platforms and door opening buttons from Area 2 to create a intense and quick thinking level where the player has different options to how they progress through the level.

I also added a hidden feature where if the player is close to the end of the right screen, then the camera movement is faster, that way, the player will never be at the right and it would also keep the pace going.

Cutscenes and dialogue

Just as I done in my previous projects such as See Only Evil: Rebecca's Origins and Cryne City, I included story-focused dialogue sections in between start and end of the different areas. It uses the same script as the previous project, though the difference is the use of animation instead of changing sprites, and how it blends in with the gameplay rather than being it's own separate level.

While there are some level where it's only the cutscenes, two levels use both platform gameplay and dialogue by using interactions.

how I made it work is by placing each sequence in order, one dialogue hold activates an animation, while the next one changes the animation or do things to give that cinematic look, example being the end of Area 2 when Kugi spots the factory.

Building the Village

To start the game and introduce the player to the world, I figured it would be smart to start with the town that Kugi grew up in and the community that relies and thrive on Solar energy. I also consider that this village needs interactions, so I started working on dialogue, thinking about how Kugi interact with the community and what the community does at the start of the day, in the end, I had 6 different interactions, including interacting with Natlie, who triggers the tutorial levels.

Starting Level (concept and level layout).png

Early Blockout of the village, with the starting point, where each interaction would be and key visuals of each part of the town.

Visuals had changed during production to make the starting area shorter for better pacing.

Town_TownHall.png

I also thought about the building and structures of the village, with solar panel, roofs and higher buildings wouldn't work because they would cover the sun from the solar panels, so I set some rules: no roof, open roof, several windows and no more than two stories. creating a unique appearance that fits well with the community I'd image that only use Solar energy.

Characters in the village

I wanted to include as many characters as possible who live in the village, all wearing solar panels on their heads, with some being from different ethnical representations to show that everyone, no matter where they came from, came together to build a community and a sole responsibility to repair the Earth.

Here are a few characters in the village which have names shown in their dialogue:

Daisy_Idle1.png

Daisy

offering fruit and food to the community.

Gaia_Idle1.png

Gaia

Helper and planner for the community.

Joh_Idle1.png

Joh

Elderly man who speak publicly and pass down knowledge.

StaceyGary_GaryBlink.png

Stacy and Gary 

Mother and son, son is curious, mother can't explain all the questions.

OllyMurshal_Idle1.png

Olly and Murshal

Good friends who hang out and have drinks, mourning for a lost friend named Buford. 

Endgame Stats

Once I have everything that I planned for this game and with spare time left till the deadline, I went ahead to make some 'Endgame Stats' which show stats on what the player done during their runtime of the game. These stats include:

  • Timer counter (How long it took for the player to complete the game)

  • Death counter (How many times the player powered out and restart the level)

  • Collectables (How many collectables out of the total in the game they have collected)

Score.png

How I done it is by creating a game object at the start of the town, which carries in other scenes, it doesn't get destroyed until the player goes back to the menu at the end of the game. That game object holds a script which holds data, 3 float data that gets displayed at the end of the game.

Conclusion

Menu imge.png

Overall, this project was a game exploring a topic which I researched, new methods and features that I included in development and worked on every step of development until I published the game on Itch and submitted it to the jam.

I feel proud of the results. This game got me thinking about new ideas that I wouldn't have thought of prior to the research, and put everything together that I planned for in a reasonable time, helping me scope down my ideas and put out what's plausible to make with the time I had. Enough that I went ahead of schedule by 2 days. I used the remainder of the time to include more assets, implement music and sound effects, before ultimately finalising the game.

bottom of page