0.3 Build


Hello there everyone, and welcome to Devlog 0.3 of this prototype!

Update 0.3 has come, and this time we have a bunch of cool stuff to talk about! Featuring:  a complete rework of the movement system, cool new UI (Main menu and Pause menu), new animation, a revamp of the color palette of the game, as well as new tile sets, cool new particle effects and I have made changes to the main map (again)!

In this Devlog, I'll list all the major and minor changes made, as well as some technical stuff, a few issues that I have encountered and in the end I'll talk about what the next update (0.4) will bring to the table! Let's get to it!

Art:

  • Main Map:
(old)
(new)

- Welcome to the new Sanctuary! As you can see, I have removed the stairs from below and added two passages, one on each side (careful, for I have forgotten to add collision, so if you go there you will probably fall off the map!) and one from above, where you will fall from.

Overall, this map fits better my vision of the game than the previous one. Its purpose is to be the first map that you will see once you actually *enter* the dungeon.

If you pay close attention, you will notice this:

Yes, I have added these missing edges to the tile set. Good lord, this was driving me nuts.

Another thing that you will notice, as I have mentioned, is that I have changed the color palette of the game to the Apollo Palette, created by AdamCYounis:

I think it fits better the aesthetics of the game, and it gives me a consistent range of colors to work with while making the art. You can check out this color palette here:

https://lospec.com/palette-list/apollo

The tile set looks like this now:

(Reminder, I DO NOT OWN the original version of this sprite sheet. I made modifications and changes to all of it and I have added some additional stuff as well, such as the graves, lamps, etc, but the original version of this sprite sheet belongs to Buch: https://opengameart.org/content/a-platformer-in-the-forest)

(I will eventually upload it to opengameart.org, but I believe you can save this image already. You can use it as you wish.)

  • Animations and Particle Effects:

- Oh boy, we have a lot to talk about!

To begin, we have new idle animations for Mr. Pea!

In terms of animation, I decided to keep it really basic, so the only frame-by-frame animation that he has, is the "idle" one. There is also a "jump" animation, but I just squished him a little to make it look cool.

For Mr. Blue, I just tweaked the values of the particles that come out of her, to make it more subtle and smooth.

Talking about particles, we have some cool particle effects for Mr. Pea as well!


As you can see here, we have a little "dust" effect when he jumps and when he lands! Yay!

To me, it's quite surprising the difference visual effects make on the game as a whole, and how it contributes to the game feel as well.

Another thing I did, was to add particle effects for the bullets: A Trail and an Explosion Effect.


The explosion part is still really basic and I'm not yet satisfied with the result, but I'll tweak that later!

  • UI:

We have an in-game UI! Yay!

To begin with, I present to you the Slime's Tale Logo!

Following, I present to you the main menu!


(Which I'll probably scrap in the future! I am thinking of a "main hub", instead of a menu like this. I want to use as little UI as possible for this game)

And finally, we have the pause menu!

It's a simple menu, where you can either resume the game or quit to the main menu, where you will restart the level again.

That is mostly it for the UI! As I add more stuff to the game, such as music, sound effects and stuff, I might consider adding a configuration menu too.

  • Gameplay:

- Getting straight to the point: I REWORKED THE MOVEMENT ENTIRELY.

*This part will focus more on the technical aspect of stuff.*

As it turns out, simulating both physics and colliders through code gave me a lot of trouble, that could be avoided using Unity's in-built components (Rigidbody2D and Colliders 2D).

So I had to spend a bloody ton of time reworking it completely.

A lot of the trouble that I had was because we were using raycasts to detect any adjacent collision. Which means, detecting the walls in the front, the back, underneath us and over us. At first, this seems fine, but it had trouble detecting the edges of obstacles, so it was literally clipping through collision if you got close to any of the edges.

Another issue that I had was when I was trying to implement the pause menu for the game.

When implementing jump into the game, you usually want to mess with a few variables.

For instance, you want a variable to check if the player is grounded ("_grounded" for example), which will turn false when the player jumps, and true when the player lands. To check if the player actually lands, we can do this:

private void OnCollisionEnter2D (Collision2D collision){

     if(collision.CompareTag("Ground"){

          _grounded = true;

     }

}

In our previous script, we were checking our adjacent collisions with a raycast through script. So if no collision with a "Ground" tag is within range of the raycast, "_grounded" will remain false. Sounds okay at first, but you actually try to PAUSE the game, things get a little messy with the raycast.

When you are trying to implement a pause menu in C#, we usually use this function:

Time.timeScale

And by default, is set to "1f". This is essentially the rate at which the time passes in our game. When implementing the "pause menu", we want to check if the player has pressed, for example, the "Escape" button, then we set this value to "0f":

Time.timeScale = 0f;

And then we just set it to "1f" again,  when we want to resume the game.

Now, while grounded, if you set the time scale to 0, everything works fine. But if you jump, and set the time scale to 0, EVERYTHING STOPS WORKING ALL TOGETHER. The script can no longer detect your position, nor if you're jumping, or anything, and you will just stay there floating.

It would probably be best to instead of scrapping the whole code and remaking it from scratch, to actually convert the thing to the actual Unity's in-built components, but I lack the technical knowledge to actually do it. So I had to remake the thing, using a lot of borrowed code as a base.

In the new code, we have a lot of stuff that a good platformer has, such as:

- Better run with forces;

- Better jump, with coyote time, jump cut, relative fall gravity;

It's overall better and saves me the time I'd spent dealing with unnecessary trouble!

God, that was a lot. But for now, that's pretty much it!

What is next:

- 0.4 will bring some pretty interesting stuff to the game. I'll call it "The Combat Update". Really creative :D

As the title says, we will be introducing the combat system to the game! And with that, I have a few things planned that will pretty much define the game direction.

I'm planning to shape this game into a "rogue-like" of sorts, where you will play as Mr. Pea (the slime) and Ms. Blue (the fairy), and each of them will have their own abilities.

There will be a simple dynamic between the two.

Ms. Blue will be the firepower.

Mr. Pea will be the "fuel".

Mr. Pea's HP will represent both his, and Ms. Blue's health points, so if Mr. Pea dies, both perish. So his job is to keep running and avoid trouble, while Ms. Blue kills anything that might try to harm them.

In regards to the "fuel" part, that I will reveal later! :D

Well, I guess that's pretty much it! I hope you're liking how the game is shaping up and I hope to see you on update 0.4!

If you want to keep up with the latest changes as I release them, consider following me on Twitter!

https://twitter.com/zamueo

See ya!

Leave a comment

Log in with itch.io to leave a comment.