stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Stormfall

  • 20 Devlogs
  • 75 Total hours

A 2D metroidvania set in a fallen kingdom, built in Unity with C#.

Open comments for this post

3h 17m 41s logged

Wow, its been a while since I devlogged on here! I’m back with some more progress on my metroidvania.

In the last few hours I started refining the art and level design for the game’s 2nd area. I added a bunch of sprites like tilesets, rock formations, animated dead bushes, and spikes.

Then I started assembling the area in the editor. It took me a while to get the area’s art to match what I had imagined without creating visual clutter on the screen. I think it looks pretty good now and Im proud of how it turned out!

I also learned a lot from building the previous area and so this time I made a ton of art/environment prefabs right away. This is going to save me a loooot of time when filling in the art for the rest of the area.

I also greyboxed a bunch of the level design. I have the level design built for about 1/2 of the area now. This area is where the player unlocks wall jump, and it’s also going to have some fun wind mechanics that can boost the player’s jump distance (I still need to code this). I’m trying to build the level design to complement these features so that the area has a unique play style compared to the first area.

0
0
42
Open comments for this post

6h 42m 22s logged

In the last several hours, I made a whole bunch of progress.

  • First I fixed a whole bunch of relatively minor bugs. Things like getting stuck on ability obtained screens, minor potential scene loading issues, and scenes unloading when the player revives after falling on spikes.
  • I added a screen with an autosave notice. It wasnt really nessecary but makes the game look professional.
  • Updated some small things like the game’s splash screen, internal name, and game icon.
  • Added a custom cursor when in the game window.
  • I added a knockback system! Enemies now actually get knocked back when hit. I used an interface that I attached to the enemy health manager script to create this system.
  • I added a new music track for the village area that the player can find after finishing the first gameplay area.
  • Then I actually started working on the village area. I used existing sprites to make a castle-like structure for the player to pass through. I also made a really nice animated flag sprite for the village.
  • I worked on level design for the 2nd major area of the game. I’m about halfway done the level design for this area at the moment! And since stardance is going for an extra month, I’ll probably have time to ship the 2nd area now!
0
0
30
Open comments for this post

5h 25m 14s logged

I did a ton of stuff over the last 5 hours of work! Here’s some of the main things I added:

  • Added a jump animation to the player! This is a feature that many people have requested, but I kept procrastinating adding it. I had briefly tried to draw an animation for this in the past and I just couldn’t get the animation to look right. This time I spent more time and effort on it and I think it turned out pretty good now.
  • Restructured the interaction system. I wanted parry and interact (the input used to talk to NPCs, pick up items, etc) to both use the right mouse button. For most of development I had temporarily set the interact button to a random key on the keyboard to prevent conflict. However, I now implemented a context-based system that detects whether or not the player is nearby an interactable object. If they are, then it executes an interaction, if not, it will parry. This required significant rewriting for the scripts attached to most interactable objects. However the system is now much cleaner and will be easier to maintain in the future. Interaction is now handled from a centralized singleton class, rather from each interactable item script independently.
  • Added a dust trail effect to the player. When the player walks, dust particles will play behind them, making a nice visual effect.
  • There are a couple of weird places the player can reach when using movement abilities accessed from the Beta Features mode. I added a couple little easter eggs to these places for the players who explore everything.
  • Fixed a lot of bugs, including:
  • Breakable objects having iframes that last for too long, effectively making them seem to have much more health than they should.
  • Input not being disabled when the player first loads in, causing potential problems with the intro movement tutorial.
  • Fixed issues with the new jump animations interrupting combat animations, which can cause combat animations to not play when they should.
  • Renamed a couple files to make script names more cohesive.
  • Fixed some collider bugs, including a particular spot where the player kept catching on a seam.
  • Fixed an issue where the player sometimes didn’t count as being grounded when on the very edge of a platform.
0
0
27
Open comments for this post

6h 21m 46s logged

I implemented a data-driven tutorial system to my game! Whenever the player gains a new skill or ability, a short tutorial will now pop up explaining how to use the ability.

I intentionally made this system super flexible so I can easily add more abilities in the future. Each tutorial is defined by a scriptable object with information including:

  • Tutorial text contents and location on the screen
  • Focused object (A vignette will appear on the screen centered around the object. Usually this is just set to the player but there are some special cases where it should be focused on something else.)
  • Input the player needs to press to use their new ability and clear the tutorial.

Overall, the game should be a lot more intuitive to play now. Players will no longer have to read through all the controls, instead the controls get gradually explained to them as they unlock more abilities.

This is unrelated to the tutorial system, but I also updated my old dialogue system. I added a function to display fullscreen dialogue. This will be used in key points of the game, where it will fade to white and display some important lines of dialogue. So far, I used this for the game’s “prologue”, a short text-based intro that appears when you first create a new save file.

0
0
54
Open comments for this post

3h 46m 55s logged

I finally finished the 10th room of the game! This room introduces a ton of new mechanics in its level design. I’ve been working on the mechanics for this room for the last several devlogs, so it’s nice to finally have finished it!

In this room, the player must navigate to 2 different levers that, when triggered, open a gate in the floor. Players can then fall down a chasm into an ancient battlefield room. Then they obtain the shield ability from a fallen soldier. Then some of the newest enemy types spawn in and the player must sucessfully defeat them. To survive the battle, the player needs to utilize the new shield ability which allows them to block attacks.

I also added a beta features toggle to the pause menu. The toggle allows the player to use certain in-game abilities that are still in development, like sprinting, dashing, wall jumping, double jumping, lunge attacking, shield bouncing, and more.

0
0
143
Open comments for this post

6h 18m 12s logged

I’ve haven’t made too much progress on my project over the last little while because of classes starting :( But I’m finally devlogging some of the changes I’ve made over the last week or so.

First, I refactored the combat system for the possibly the 4rd or 5th time since first starting the project (almost a year ago now!)

This time around, I implemented an upwards and downwards attack, as well as better implementing the lunge attack. I also switched the attack logic to be partly animation-driven rather than coroutine-driven like it was before. Attack damage is now properly synced to the attack animation, and the weird state bugs I was having before are basically gone.

Some parts of the new system still feel a little buggy, but overall I think the attack system is much better now.

The second major thing I did was finishing implementing the pathfinding of one of the first “real” enemies (the crawler guys I already have don’t really count).

The new enemy now tracks the player correctly. If no player is in range, it will pace back and forth and pause occasionally. It has ledge and wall detection. If the player is in attack range, it will attempt to attack the player.

Currently the enemy code architecture isn’t structured very well, but I’m kinda rushing to quickly wrap up this stage of the project so I can ship soon!

Now I just gotta polish the game a bit over the next couple days/weeks and then it should be ready to ship!

0
0
53
Open comments for this post

3h 39m 3s logged

I added the UI interface for player customization.

Currently this screen is only accessible from the pause screen, but in the future I will incorporate it into the gameplay so the player customize the character at specific locations throughout the world.

I also fixed some issues with how the UI menus were structured. I made every screen into a unity Canvas Group. I also fixed some bugs where the player could get stuck in certain menu screens.

Last but not least I added a new upward attack animation for the player, though I still need to implement the functionality.

0
0
154
Open comments for this post

3h 51m 33s logged

I started working on character customization mechanics!

Many metroidvanias just use a static character with little to no customization options so I thought this would be a nice way to differentiate my game from other similar games.

Basically for now the player can recolor the knight’s cape, helmet plume, and sword hilt.

The knight sprites were originally colored blue, making it tricky to use simple color adjustment shaders to recolor it. Rather than going back and redrawing tons of sprites, I wrote a shader that detects saturated areas on the original sprites and overlays a new color on top. Overall it works pretty well now, and now I just need to add a menu to select a color scheme.

I also spent like 30 mins working on enemy pathfinding mechanics for a new enemy type!

3
0
99
Super Star

As a prize for your great work, look out for a bonus prize in the mail :)

Open comments for this post

2h 18m 27s logged

I finally fixed some problems I was having with the player’s collider catching on seams.

This bug was pretty rare and not too much of an issue. However in certain parts of the map, mainly near any slopes, the slope’s collider has a tiny seam where it joins the rectangular tilemap collider. The old player collider would get stuck on this seam occasionally.

After a lot of messing around with colliders and 2d physics materials, I fixed this issue by changing the player’s collider to a composite collider.

The composite collider contains a capsule collider and a box collider. The rounded edges of the capsule allows the player to walk over top of seams easily, and the box collider makes it so the player doesnt slip off the edges of platforms.

2
0
189
Open comments for this post

2h 2m 16s logged

For the time tracked in this devlog, I mostly worked on environment decoration in the newest room of the game.

I added a really nice looking torch sprite with a fire shader.

I also added various details to the game world, like floating platforms in the background, torches, and ancient ruins.

I also updated some of the level design. I added platforms to make certain areas possible to reach.

1
0
222
Open comments for this post

4h 30m 46s logged

I took a long break from Stardance to work on other projects, but I’m finally back with another devlog for my metroidvania.

I mostly finished the art pass for the latest room of the game.

I also fixed a bunch of unity inspector warnings that I’ve had for a looong time now and just never got around to fixing.

The main warning I fixed were that some of the render textures I used for water reflections and fullscreen shockwaves didn’t have a depth buffer attached. While they did technically work, it wasn’t the ideal way to have the render textures set up. This was a relatively easy fix thankfully.

3
1
338
Open comments for this post

3h 14m 27s logged

I continued working on the art for the 9th and 10th rooms of the game. I also fixed some issues in my custom render feature that I use to render special effects, including a few potential memory leaks.

I also reworked my “safe zone” mechanic that detects where the player should respawn if they fall onto spikes. Now it tracks specific safe respawn locations instead of the old logic, which was to track any zone where the player shouldn’t respawn.

3
0
104
Open comments for this post

2h 28m 25s logged

Continued working on level design. I’ve finished the level design for the entire first area of the game now! I added a room with another lever puzzle that introduces the shortcut mechanics to the player. I also added an area where the player will obtain the shield ability. Now I need to start filling in the art for the new rooms, and create the game’s first boss fight.

1
0
64
Open comments for this post

3h 40m 27s logged

Worked a bit on the art for the new rooms. I also added some new gameplay mechanics, like platforms that fall to a new location after the player hits them. I also fixed another instance where the combat animations desynced from the code logic.

0
0
54
Open comments for this post

3h 37m 12s logged

For the last few hours of work, I’ve been working on level design! I’m very close now to finishing the level design of the first area of the game. I added some generic transversal rooms, a lever puzzle room, and a platforming room with spikes. Next, I’m going to add a room where the player can find the shield, which will grant the parry/block ability.

0
0
41
Open comments for this post

1h 17m 19s logged

Added levers! When the player toggles them, they can do various things like open gates, open shortcuts, and maybe even spawn enemies. In the future, I’m going to use them to build puzzle areas that will hopefully make the level design more standout and unique. I’m really happy with how the animations for the new mechanics turned out, especially the gate’s animations shown in the video.

0
0
43
Open comments for this post

39m 36s logged

This devlog is on the shorter side, but I finally fixed something that I’ve been meaning to fix for a while.

Sometimes when spamming the attack button, the code running the attack logic got desynced from the visual animations, causing weird situations where the animation wouldn’t play for a few seconds, or would transition to the next state way too quickly.

I was scared it would take hours to debug this problem, but it turned out to be super simple. I fixed it by simply making sure the animation’s exit time in the unity animator exactly matches the cooldown window defined in the code.

0
0
34
Open comments for this post

3h 11m 55s logged

Continued refining the stamina mechanics! I mostly finished hooking up the combat system to the stamina system. Attacking and blocking now deplete a set amount of stamina, and a successful, correctly timed block/parry restores a bunch of stamina. The stamina meter also now slowly refills over time, and refills much faster when near a save point. I also made the code and artwork for “stamina flowers” (still need to think of a cool name), which when broken will spawn a stamina orb that flies towards the player and refills a bunch of stamina when picked up. This involved pathfinding logic using trig functions that make the orb fly at the correct angle and velocity towards the player. I plan to use this pathfinding logic for future pickup items as well. Lastly, I added a particle effect that plays when the player’s stamina meter is full, and another effect that plays when it is close to empty. Overall the stamina system feels really polished now, and I feel like the combat is a lot better now with the added stamina mechanics!

0
0
92
Open comments for this post

2h 53m 15s logged

Added a stamina mechanic! Attacking now requires stamina. When stamina is used up, it will slowly refill back to the maximum over time. In the future, I plan to make successfully parrying enemy attacks also refill some stamina. The hardest part of this was creating the visual stamina bar in the UI. I used a shader to offset the sprite’s UV depending on what percentage of stamina the player has remanining. The shader also applies a multiplier to the sprite color’s intensity to make the stamina meter glow more when it is closer to full.

0
0
98
Open comments for this post

5h 16m 56s logged

First devlog on Stardance! You might remember this project from flavortown, and I’m going to keep working on it for stardance.

I’ve added a ton of stuff to the game in the last month, like 3 or 4 new player abilities, new animations, and polishing various things based on feedback I received.

The ~5 hours in this devlog were mostly me trying to set up a system where I can have 2 post processing profiles active at once, but affecting different layers. I used this to create an intense bloom effect that only renders on certain sprites, specifically the spark particles in combat. I finally got it working using render features and render graphs, and I’m super happy with the result.

7
1
3423

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…