1. Star Child
  2. News

Star Child News

Star Child Dev Log #30

Jay Ingle - lead developer, designer, and artist:

Let's look at how I animated some lava. Here is my first attempt. Not very smooth, but it does show basically what I am aiming for.



To make the animation appear more smooth, I decided to start with moving a ball up and down, and to the side, and then drawing the lava over those areas.



Which results in a smoother animation:



However, now it appears to me that the up and down motion is inconsistent. So to clean that up, I decided to use a guide line. This helps me to make sure that when the lava moves up, it also moves down with the same number of pixels, following the guide line.



However, I did make the top of the lava a bit unbalanced, because I want the slight impression that it is reaching up and trying to grab you. We are certainly improving in smoothness and consistency. I also created a lava spray particle effect, with randomized timing and amount of particles.



The final idea I had was to layer the effect. So I took the animation, switched up the frames so it appears to be moving in the opposite direction, darkened it, and moved it up a couple pixels. It took some work to offset the animation so that it looks nice next to the regular lava.



And there we have it. Here is a full scene so you can see how it will appear in the actual game. I hope you like it!

Star Child Dev Log #29

Jay Ingle - lead developer, designer, and artist:

What happens when you die? I don't know, hasn't happened to me yet.

However, I have died in plenty of video games. What happens when you die in a video game? Dark Souls says "YOU DIED" and lets you press a button to continue immediately. Symphony of the Night makes you wait a long time, plays an unskippable cinematic, then takes you back to the memory card screen, and then lets you slowly load your saved game. My first game Toleo says "UNFULFILLED" and does nothing else, it just waits for you to press the respawn button. A lot of retro games just fade out back to the main menu.

So what do we want to happen in Star Child? So far, I've had nothing set up. Well that's not true, I put a 5 second countdown screen with the game over text from Friday the 13th NES, which then booted you to the main menu, and greatly annoyed my playtesters. That joke was dead very quickly, so then I set it to autoload the last save game, a few seconds after dying in the game. Now I've finally set up a proper Game Over/You Died screen overlay. Complete with placeholder font and button.



Let us look at the simple way we make this happen. First we set up the nodes we will need, adding them to our HUD scene.



We need a ColorRect, which is set to be a black square that covers the screen, starts invisible, and is faded in, to dim the screen. Very important: we have to go into the inspector for the ColorRect, then change Mouse mode to Ignore:



It defaults to Stop, which means that, even when invisible, this ColorRect will be in front of everything else, and you would not be able to click on anything behind it. This can be quite a tough bug to diagnose, but thankfully the Godot debugger has a very helpful Misc section which shows the last Control element that has been clicked on.



We also need an animation player, a label to display our You Died type message, and a button to continue the game. Let's take a look at our animation track.



The top track causes the screen to dim by fading-in the black square ColorRect. The next track fades-in the You Died message, a little delayed so the dimmed starts first. The next track keeps the button invisible, until it blinks into visibility near the end. And at the same time, the final track calls a method that enables the button and grabs focus.

So, when the player dies, it starts a death timer. When this death timer times-out, it sends a signal that calls the game_over() function. This function just starts the game_over animation, which handles everything else. Note: I added enabling the button, in the top function, after taking this screenshot. And finally, the bottom function is a signal connected to the Continue button, which loads your previous save game.



This is all pretty simple to implement thanks to the power of Godot's animation player. But there is still one question: Why "Failure"? Failure presumes that you are trying to accomplish something, and you have failed. What is Star Child trying to accomplish? You must play to find out!

Star Child Dev Log #28

Jay Ingle - lead developer, designer, and artist:

Today we can look at a new environment in Star Child, I call it Fire Mountain! I'm pretty happy with my weird alien plants, and their subtle animation when you touch them.



You can see below a decent example of the type of combination-ability platforming you will need to utilize to get those upgrades! We also have animated lava, some random lava particle spray, and some fireballs.



I can't show you every environment before release, but hopefully this will wet your appetite for more!

Star Child Dev Log #27

Jay Ingle - lead developer, designer, and artist:

Today let us take a look at the mostly-finished deer enemy that we have been discussing in recent weeks.

When left on its own, the deer will run back and forth for a random amount of time between 3 and 5 seconds. When this timer ends, the deer will stop for a moment and play its Idle animation. Then it resumes running, again randomizing the running time.



As for the gameplay design of this deer, my idea was to have an enemy that, when it detects you, raises up and shoots you with a laser beam. The raising up action will be the telegraph to the player that the attack is coming.



Here we have the Attack animation that plays when the deer detects the player:



The first track plays the correct animation frames, at the proper speed and timing.

The second track calls functions that show the particles that appear around the laser (these do not show in the animation editor for technical reasons, but they do show in-game), and also at the end, calls the function that causes the deer to play its idle animation before resuming running around. However, if the deer still detects you after shooting at you, it will fire again.

The third track causes the actual laser sprite to fade in, and fade out.

And finally, the fourth track enables and disables the hitbox of the laser, allowing it to damage the player.

You can avoid the attack by either running away, or by crouching.



So if the deer does not detect the player after attacking, it will play its Idle animation and then resume running. However, if you are crouching in front of the deer, it will skip its Idle animation, and go straight into trying to run into you.



It is this decision that I believe completes the design, and makes this an overall interesting enemy.

Thanks for reading!

Star Child Dev Log #26

Jay Ingle - lead developer, designer, and artist:

Last week we took a look at how we created some basic animations for an enemy deer. This week, let us compare the basic animations with the more-polished ones. I guess I don't have a lot to say about this, let me know what you think about the art and the colors! And tune in next week to see this completed deer, running around in the actual game. I will discuss the design of the mechanics, and possibly talk about some of the coding involved.

Running:


Idle/Reset:


Attack: