Saturday, February 1, 2025

Chroma Runner - smaller project

A year ago I was doing some assets for endless runner that was supposed to be created in Unity. Eventually because it was hard for me to start with the engine part I left and almost forgot about the idea.
It would be waste not to finish that so I decided to finish project it Gdevelop.

The game is all about timing. Avoid yellow boxes to not loose your health. 

If you get onto score of 5500 you reached pretty much maximum difficulty and it will go to infinite loop from there.

You can play it in browser on itch.

Link -> https://orbitalshrimp.itch.io/chromarunner



Sunday, October 31, 2021

Maintenance Break project - first UI

Today small update. I spent some time trying to design first UI elements. Since the game is not going to be point&click the interaction of character with environment will start when you get close to something. For every object there is going to be two important distances. For bigger radius there will be small indicator pointing position of something important in the room. The smaller radius will allow to interact with the objects and there will be some additional text info showing what you can do. I'm still not sure whether smaller radius should only have single interaction or maybe there could be 2 of those - Use and Investigate. For investigation option there could be some small text/voice commentary of the character to further explain what is he looking at. 




Thursday, October 7, 2021

Maintenance Break project - introduction part 2

 First room

Now that I have my character done I focused on creating the first room which won't really have much inside. It's going to be the entrance to the factory so it will be just elevator door and camera above it (I skipped camera for now). The room is also going to be testing ground for all the basic mechanics I'm planning to develop later. Even though it's very sterile empty interior I tried to give it some subtle spot lights here and there.


In GDevelop I used the isometric template as the base for the game. It had only one problem.When character stopped moving it had only one image when standing so it always rotated down to face camera. I included 8 different images for idle so that when ending walk the engineer is facing direction he was going. Other than that I set the basic controls, collision for walls and camera being constantly centered on character.


Lights

It that was some start but I wanted to brightness of the character change depending on where he is positioned in the room. To do that I created special invisible in the scene collision objects that affect the colors of the character when in contact with the sprite. Those were made for the shadow. For britht spots on the other hand I added bunch of glow assets that have their blending mode changed to Add in the Event editor.


The on and off for darkened and normal character is going to come in handy when there will be pools of shadow and it won't look weird on 2d asset when character will be half way in the light.



Next step I plan is going to be basic interaction with objects in the room.

Sunday, October 3, 2021

Maintenance Break project - introduction part 1

This small game with the working title "Maintenance Break" started as an experiment for testing GDevelop engine. I always wanted to do simple point&click adventure because it's relatively simple logic in comparison to other genres and also there's a lot of opportunity for world-building and storytelling in such project. 

My problem with personal projects is that I don't start anything until all the foundation of the idea is "perfect" (whatever that means). Making a game all by yourself is daunting task so no matter how I would read research the topic I wouldn't come at anything satisfying for first step forward. Eventually I decided to go the opposite way. Make my arms dirty first and see where it will go. 

STORY SYNOPSIS

Somewhere in future on deserted place exists this fully automated factory governed by pretty advanced AI. However something stopped working there. That main protagonist is this blue uniform engineer who is called to investigate what stopped working. He did it many times before but this time it's different.

VISUAL STYLE

This is going to be 2d game and I wanted more hard sci-fi feel. However classic point&click adventure aesthetic has this view from the side that makes the whole experience slightly too cartoony for my taste. I decided to go with isometric view. Not only it's easier to judge the distance when walking around which makes things more realistic but also it's easier to make the whole environment modular. 

One challenge I had with Gdevelop was no ability to give character sprite 30 degrees movement which is actually quite typical for isometric games. It made me come up with this weird isometric view that has 45 degrees angles and makes the game look a bit like really old Ultima 7. Turns out later GDevelop added ability to customize the angles but I decided to stick with the weird look because it makes the game unique visually.

Here is very first rough sketch with mockup for the game.


MAIN CHARACTER

I quickly realized after sketching this it's going to be challenge to do the main character and animations. The best way was to do it in 3d where I could have all animation and just render it in different angles. I started with isometric concepts to see first how it would look in a game. I wanted something simple but still with some distinctive features. Uniform, suitcase with tools... maybe some gloves. After a bit of playing with different colors and proportions I decided to go with bottom right version. The gloves are much bigger which gives "cybernetic arms" feel. Also I added some device on the shoulder instead of pocket for more interesting look.


Now that I picked the design it was time to start modelling the character. I did additional orthographic designs for myself though I didn't focus that much on detail as it's going to be created in 3d anyway. Proportions are a little distorted here because the torso is much longer than legs and that's on purpose. I want to suggest perspective foreshortening when I'll be rendering character in orthographic view.


After that I followed one of the Blender low-poly character modelling tutorials but instead of using the example from it I used my own design. In the end it wasn't perfect low-poly topology by any means but as tiny isometric view character you wouldn't really see much of mistakes anyway.


After that came doing hand painted texturing which was also not very easy. Luckily the simplicity of the design helped me a bit in making the whole task manageable. Doing the rigging and animating was too big of a task so I used mixamo for that. It ended up working just fine. The only custom thing with the rig I did was attaching suitcase to the hand.


The final isometric look wasn't entirely satisfying for me when I compared it to the initial color concepts. I played with different light setups and shaders. Eventually I used some very custom toon shader setup and it took a while to adjust where the shadows terminator appears on the body. Also when I previewed the animation later I realized that character not casting any shadow on ground would look a bit like floating in space. I couldn't really make real-time shadows since it is 2d game so I did soft ambient occlusion shadow. It is a bit faked but it's just enough to show character standing on the ground and it's universal enough for any light situation.

To finish on character there came a tedious job of rendering frames and organizing all files. Here's one of many folders.


Next step of course is going to be actually putting character in the game.

Back to blogger

Welcome! After literally half a day of searching possible platforms for my new gamedev blog and getting headache I decided to give blogger another try. Other options were itch.io, gamedev.net or IndieDB website. On Blogger in the past I used to host my art and mostly sketches but it didn't make sense to do it later. However now I feel the need to not just show pictures but explain a bit my projects.

Recently I started playing with game engines and I see some possibility to do some really small indie games even if they are going to be terrible (at first). So this place will be for me to document my process. Maybe also a little bit to showcase art created for my projects.