Released Windmills - Metroidvania

poorlocke

Member
LATEST UPDATE

Windmills is live on Steam!
Grab it now for 30% off!

Windmills is finally complete!





After 14 months of non-stop 12-hour days of development, Windmills is finally released!
It was exclusively launched on Opera GX and it will be free till the end of 2022!
A Steam release will follow up at the start of February 2023.
I am also working on a FREE expansion that will be implemented some time after the Steam release.
You can also join the Discord Server if you want to be informed about updates, tricks, or help with the game.

Thank you everyone in this community, especially: Xor, BasementApe, FoxyOfJungle, Nocturne, Gizmo199, Cristian. Each one of you helped me push on and finish this project.


In Windmills you play as the last Crimson Cape, a witch - hunter, on his quest to find his missing father. In this combat - focused metroidvania you will face dangerous monsters and devious wizards that will put your skills to the test. You will unlock new abilities that will help you traverse the world and you will absorb the powers of your enemies, allowing you to use them instead. The story unfolds in a unique way, based on the way you progress through the game. Depending on your actions, areas and enemies can change because the narrator will remember things differently, making each narrative unique. Because what is more important, if the windmills were giants or if the story was worth telling?
thestory.gif
summary.png





Beta 0.2.0.0
Windmills has finally a Beta Release!
After many months of development and a lot of painful polishing and optimization, I have a build that is pretty close to what I aim for the players to experience in the final game.



If you have no idea what the game is about, this is the proper place for you!
Windmills is a combat-focused metroidvania. You will have to fight dangerous monsters and the only thing you can rely on are your abilities!
The combat system is based on suppressing, deflecting, dodging and parrying. As you progress through the story, more mechanics are unlocked, giving you more options for combat and exploration.

A big part of the mechanics are the reversals. Deflecting at the right time or parrying projectile spells, gives the player extraordinary abilities for a small amount of time. For example you can parry a lightning spell and charge your next attack with the element of lightning.

The story unfolds in a unique way, depending on the way you play the game. For example, depending on your actions, areas can change because the narrator will remember things differently.

What is included in this demo:


  • The first Act of the game. (Approximately 4 hours of gameplay)
  • 4 Bosses and 1 optional Boss
  • Many areas for players to explore
  • Many NPCs with quests
  • 4 new abilities that the player can unlock

This has been a long journey, coming after almost 9 months of development. The combat is the main element of the game, with exploration being the second most prominent attribute.
The AI of the enemies has been refined to challenge the player without becoming tedious.
The main aim of the game is to empower the player to push forward and overcome great obstacles.


Alpha 0.1.0.0
The latest update is just one thing, but it affects the game to its core. I added the mechanic of remembering things differently, depending on the player's actions. For example, if you help one NPC instead of another, your playthrough experience will be different. In this example, I show the "mandatory" memory failure, where the narrator remembers that it was raining and that the enemies were different than the ones he had encountered so far. This leads to having the same maps, but with different enemies and different weather.





gameplay_header.png



The mechanics of combat are simple: attack and deflect.



Almost all attacks can be deflected but also everything can be dodged. Now that the fundamentals were established, I needed to spice things up. I am against damage sponges so all the enemies have limited health. In order to avoid making the combat stale and limit it to simple attack-attack-deflect-repeat, the first addition was of course, shields.



Shields are a fine twist in this mechanic, but a bit boring if you overuse them. After I had the two basic categories of enemies, I needed to keep the player interested. My next addition was enemies that can combo their attacks.




This forces the player to actually learn the enemy pattern and makes them aware that there is more to this game than they thought.

Ok enough about defense, what about attacking?
The player can either attack between enemy actions and attempt to interrupt them, or wait for their attack to end and take turn. One major addition to this mechanic was adding a "suppression system".
This mechanic awards the aggressive player by weakening the enemy's defenses. As long as the player attacks, a suppression meter is being built. When the enemy is fully suppressed they alert the player by flashing white. This means that the next deflect will stun the enemy and the player can deal devastating damage. Example:



These are the basic fundamentals:
- Deflection
- Attacking
- Combos
- Blocking

As the player progresses through the game though, they will become more accustomed to these mechanics and will soon begin to see the patterns more clearly. In order to combat that and surprise the player I added the most evil mechanic I could think of: feinting. More advanced enemies can feint their attacks. This allows them to bait the player to deflect early and attack the player on their recovery frames.



Does this mean that the player will get frustrated and think it is unfair? Only the first time they see it. Each feinting enemy has small tells that inform the player if the attack is a feint. Sound cues, more anticipation frames and slightly different animations. The first couple of times the player will have a hard time against enemies like these, until they learn their patterns and animations. The point of the feint system was to add challenge without resorting to the lazy solution of "just make them more tanky".

To keep things fair, each enemy does only one point of damage and the player can take up to 3 hits. Since there are no resources and because I wanted to make the combat more dynamic, each successful block heals the player for 1 point.
In addition, players that are having trouble with combat, can explore the world and discover new abilities to help them in fights. Example:



Since I'm not a fan of artificial difficulty, I followed this procedure:
- Clear basic mechanics
- Simple additions to familiarize the user
- Add twists to the mechanics as the player progresses through the game
- Surprise the player by showing them that the AI can be smart as well sometimes

It is a gamble and I don't really care if it will pay out since my target group is ... well... me.


New updates have been implemented:
- A new biome with a map that can be explored depending on what abilites the player has
- New enemies specific to that area
- Added a basic radial blur shader that activates on certain moments (blur strength can be adjusted by the player)
- Added a template for fully functining NPCs with dialogue and quest phases. First NPC added!
- Gave the player the ability to cancel a hit taken if they deflect at the exact moment they took the hit (making the combat more forgiving)

If anyone is interested I can make a video explaining how I made the NPC dialgues and phases. It's basically a lot of arrays and grids.




Playable alpha build version 0.0.5.0 has been released, you can play it on itch.io and gamejolt.

Alpha version 0.0.5.0 is live with the following updates:
- a new combat maneuver that allows you to move behind your enemy
- a new boss
- more new enemies
- 2 new areas to explore
- some storytelling



Version 0.0.4.5 has new additions:
- Advanced enemies can combo attacks against the player
- Hard enemies can feint attacks and bait the player to parry early and punish them for it
- You can jump through platforms upwards (no more wall blocking)
- Added moving and falling platforms
- Added controller support and fully customizable buttons

Generally I've been fixing tiny issues that will make the player's life easier, I'm struggling a bit with platform jump boost(the ability to jump through platforms) but I'll get it to work properly eventually.





With version 0.0.4.0 there have been some major updates in the game's mechanics:

- Added a "suppression" mechanic. Now in order to perform a successful parry you need to have landed some hits on your enemy. Guarding still works as usual, but in order to stagger your enemy you need to have them suppressed. (This gives more incentive to the player to actually attack the enemy instead of just waiting for a parry.
- Added a new mechanic that lets you absorb projectile spells and cast them yourself.
- Reworked the boss to make him more manageable.
- Movement is very lighter and more responsive.
- Tutorial has been reworked and explains all the mechanics in detail.

This is not very different from the previous version, mainly some ease of life changes and the new suppression system.

ORIGINAL POST
I'm taking a break from the Infinity Engine Project and the last couple of weeks on my free time I started working on a metroidvania. This is the combat demo, I would like to hear some ideas to juice it up. Screen shake and camera zoom is good and all, but I think during combat it needs that extra "oomf". What do you guys think?


 
Last edited:

basementApe

Member
Ooh.., very Blasphemous-esque. It's looking very good so far. I think a good way to make your combat feel more satisfying is to have your characters put more weight into their moves. You have some anticipation and good follow-through in your animations, but the skeleton and the main dude especially don't look like they're putting their body weight into their swings. Get them to put their hip into it. Make the swords feel heavy. And don't be afraid to exaggerate a bit. Realism is overrated and pixel-art is kinda stylized by default anyway.
 
D

Deleted member 13992

Guest
The art is superb! Really good job with that!

First thing that jumped out at me is your swings seem to pass through the enemy most of the time without feedback. Especially when you're button-mashing. Are the swings missing? If so, the mechanism of a "miss" isn't properly telegraphed to the player.

AI seems to be slow, and doesn't react to you very quickly. Maybe this is intentional. The "slow lumbering" enemy type.

The enemy dying animation on slopes will have to be fixed, but you probably already know that.
 

poorlocke

Member
Ooh.., very Blasphemous-esque. It's looking very good so far. I think a good way to make your combat feel more satisfying is to have your characters put more weight into their moves. You have some anticipation and good follow-through in your animations, but the skeleton and the main dude especially don't look like they're putting their body weight into their swings. Get them to put their hip into it. Make the swords feel heavy. And don't be afraid to exaggerate a bit. Realism is overrated and pixel-art is kinda stylized by default anyway.
The characters are by Sven and LuizMelo and the environments by Szadi, I only did the main character and that was based on a blueprint by Sven. I think if I add a little more anticipation to the enemy I can make it have more weight. As of now, this is the speed that I want the player to animate, I want it to be spammy and then parry when the player makes the read, kinda like Sekiro.

The art is superb! Really good job with that!

First thing that jumped out at me is your swings seem to pass through the enemy most of the time without feedback. Especially when you're button-mashing. Are the swings missing? If so, the mechanism of a "miss" isn't properly telegraphed to the player.

AI seems to be slow, and doesn't react to you very quickly. Maybe this is intentional. The "slow lumbering" enemy type.

The enemy dying animation on slopes will have to be fixed, but you probably already know that.
I actually noticed the swings too, as a safeguard so that the enemies don't get spammed to death without a chance to fight back, every time you hit them it builds a poise variable and when it maxes out, it allows them to ignore the knockback(but not the damage). What I did to fix it is that I added screen shake in every swing, even when the enemy has poise.
You got that right about the AI, these are the easiest enemies in the game!
As for the dying animation, I'm thinking of either making them disappear to dust or produce body parts and have them tumble down.


Thank you both for your input!
 
Last edited:

basementApe

Member
Nice! Another thing you can try to make the hits feel more impactful is to give the animations (player and enemy) a short pause; 0.2 seconds maybe, right when the attack connects.
 

poorlocke

Member
Ok new update:
- Thanks to basementApe I added a screen freeze when the player's attacks connect.
- I also tweaked the ai so the enemies can attempt to catch the player's dodge if they dodged too early.
- I also added a 20 step delay between dodges so the player cannot chain dodges.
(The dodge doesn't cost anything and if spammed it could make for an obvious exploit if I didn't make those 2 changes.)
- I finally added the ability to either spring upward or forward after a successful airborne attack. These abilites can be unlocked by the player to access new spots that they previously couldn't.

 

Yrbiax

Member
Hey, i tried your game.

Combat indeed had lot of "oomf". Parrying was really satisfying to use.
Movement felt kinda heavy, but suppose it suits this kind of game.
Took me while to beat this skeleton boss :D
windmillsBoss.png
I found it bit annoing that tutorial stopped me from moving thought.
 

poorlocke

Member
Hey, i tried your game.

Combat indeed had lot of "oomf". Parrying was really satisfying to use.
Movement felt kinda heavy, but suppose it suits this kind of game.
Took me while to beat this skeleton boss :D
View attachment 41838
I found it bit annoing that tutorial stopped me from moving thought.
Thank you for your observations! I will definitely work on the tutorial some more and maybe tweak the movement a little.
 

poorlocke

Member
With version 0.0.4.0 there have been some major updates in the game's mechanics:

- Added a "suppression" mechanic. Now in order to perform a successful parry you need to have landed some hits on your enemy. Guarding still works as usual, but in order to stagger your enemy you need to have them suppressed. (This gives more incentive to the player to actually attack the enemy instead of just waiting for a parry.
- Added a new mechanic that lets you absorb projectile spells and cast them yourself.
- Reworked the boss to make him more manageable.
- Movement is very lighter and more responsive.
- Tutorial has been reworked and explains all the mechanics in detail.

This is not very different from the previous version, mainly some ease of life changes and the new suppression system.
 

poorlocke

Member
Version 0.0.4.5 has new additions:
- Advanced enemies can combo attacks against the player
- Hard enemies can feint attacks and bait the player to parry early and punish them for it
- You can jump through platforms upwards (no more wall blocking)
- Added moving and falling platforms
- Added controller support and fully customizable buttons

Generally I've been fixing tiny issues that will make the player's life easier, I'm struggling a bit with platform jump boost(the ability to jump through platforms) but I'll get it to work properly eventually.

 

dannerz

Member
I downloaded your game demo. I played it. I find it too difficult for now. Maybe I'll come back to it later. So far so good. Keep working on it! You've sofar done a great job.
 

poorlocke

Member
I downloaded your game demo. I played it. I find it too difficult for now. Maybe I'll come back to it later. So far so good. Keep working on it! You've sofar done a great job.
Thank you! I will add more difficulty options before the next build is released, so keep an eye out!
 

basementApe

Member
Hey man, I played the 0040 demo. Very cool. I haven't gotten past the spellcasting dude yet tho, he gets me every time. Good job, looking forward to more!
 

poorlocke

Member
Hey man, I played the 0040 demo. Very cool. I haven't gotten past the spellcasting dude yet tho, he gets me every time. Good job, looking forward to more!
May I ask, was the deflection mechanic easy to understand? Also, is the wizard difficult because he requires dodging instead of deflecting? I have had a lot of complaints about that one :(
 

poorlocke

Member
Alpha version 0.0.5.0 is live with the following updates:
- a new combat maneuver that allows you to move behind your enemy
- a new boss
- more new enemies
- 2 new areas to explore
- some storytelling

 

poorlocke

Member
New updates have been implemented:
- A new biome with a map that can be explored depending on what abilites the player has
- New enemies specific to that area
- Added a basic radial blur shader that activates on certain moments (blur strength can be adjusted by the player)
- Added a template for fully functining NPCs with dialogue and quest phases. First NPC added!
- Gave the player the ability to cancel a hit taken if they deflect at the exact moment they took the hit (making the combat more forgiving)

If anyone is interested I can make a video explaining how I made the NPC dialgues and phases. It's basically a lot of arrays and grids.

 

poorlocke

Member
The latest update is just one thing, but it affects the game to its core. I added the mechanic of remembering things differently, depending on the player's actions. For example, if you help one NPC instead of another, your playthrough experience will be different. In this example, I show the "mandatory" memory failure, where the narrator remembers that it was raining and that the enemies were different than the ones he had encountered so far. This leads to having the same maps, but with different enemies and different weather.

 

poorlocke

Member
Windmills has finally a Beta Release!
After many months of development and a lot of painful polishing and optimization, I have a build that is pretty close to what I aim for the players to experience in the final game.


This demo is a vertical slice of what the game has to offer. It includes full controller support with customizable buttons. Here is a gameplay trailer of the beta:

DOWNLOAD LINKS:
 

alper41

Member
I took a look at the game, it shows potential but also needs significant improvements

Since I have an important exam on Monday, I looked superficially, but I want to look at it in more detail, I will update my article when I look in detail.

What i've seen so far:

* The game doesn't feel fluid, for example if we can cancel the animation while attacking and suddenly slide, it can improve the fluidity

* If the background gets a little dark while reading the informational texts, we can focus on the text better.

* The game sometimes does not detect inputs or reacts late, which reduces fluency

* It doesn't feel good to have to press a second time to get out when we jump up and hold onto the ground

Of course, there are things that I see positive, but I talked about the things that I see critical now, I will write them all when I take a detailed look.
 

poorlocke

Member
I took a look at the game, it shows potential but also needs significant improvements

Since I have an important exam on Monday, I looked superficially, but I want to look at it in more detail, I will update my article when I look in detail.

What i've seen so far:

* The game doesn't feel fluid, for example if we can cancel the animation while attacking and suddenly slide, it can improve the fluidity

* If the background gets a little dark while reading the informational texts, we can focus on the text better.

* The game sometimes does not detect inputs or reacts late, which reduces fluency

* It doesn't feel good to have to press a second time to get out when we jump up and hold onto the ground

Of course, there are things that I see positive, but I talked about the things that I see critical now, I will write them all when I take a detailed look.
Thank you for checking it out! To address your observations:
You have the ability to cancel an attack only if you deflect. The only cancel that exists is that. That was done on purpose to adjust for the difficulty. If the player can cancel an attack with a dodge the combat can be exploited too easily.

The background needs indeed to be dark for messages, this was an oversight on my part haha

I am really interested in the input delay you mentioned, can you give me an example please? It will help me a lot!

I can make some ease of life toggles like climbing, thank you for that!
 

alper41

Member
Thank you for checking it out! To address your observations:
You have the ability to cancel an attack only if you deflect. The only cancel that exists is that. That was done on purpose to adjust for the difficulty. If the player can cancel an attack with a dodge the combat can be exploited too easily.

The background needs indeed to be dark for messages, this was an oversight on my part haha

I am really interested in the input delay you mentioned, can you give me an example please? It will help me a lot!

I can make some ease of life toggles like climbing, thank you for that!
I don't know what you can do about the delay of inputs, but I recommend you to play dead cells from the perspective of the developer, I took dead cells as an example for fluency in my own game, there is a link in my signature, you can check it if you want.
 

alper41

Member
Hi, as i promised i took a more detailed look at your game today and i will write down the positive and negative things i see for myself. Frankly, there are aspects that I don't like, you can focus on them more and make it a much better game, there is this potential.

Pros:

+ I think the feeling of hitting is nice, it's fun to kill the enemies

+ I like your visual style and animations

+ Level designs comply with metroidvania logic

+ Parry mechanics feels really good, especially when you get the timing right, the effect is really nice but it doesn't make sense to recharge, I think the health capacity can be increased instead

Cons:

- Bounty penalty system is not good, the game should encourage us to kill the enemies, for example when they kill they can drop a few golds. After a while i passed without killing the enemies

- Nothing falls out of the little boxes we break, there's no reason for us to break

- There is a lot of distance between the checkpoints, as far as I understand the type of game is souls like but I don't think the players will like it

- The logic of the game was a bit like hitting the right button at the right time, but I didn't like this situation.

- Our encounter with the boss monster was very boring, it continues in the same way, also what it pulls out of the ground in the 2nd phase is unpredictable and it is very difficult to show reflexes, i rage quit

I mentioned fluency-related issues in my previous comment, I will not write again. Good luck
 

TobiasNL

Member
Hi! I've played the demo. This is a pretty sweet project, great asteathics. The gameplay is quite smooth as well. I especially like the art and backdrops, that's great work. The combat, with its parry system, feels rather responsive too.
The project however is not without it's (minor) problems:

- The camera shake is a little bit too much, especially when countering
- The gameplay feels a tad stiff and the control layout doesn't feel intuitive at all (maybe switch D to SHIFT or make SHIFT optional). Also some menu's require pressing F and/or ENTER. Why not switching all these button to a single button like ATTACK or to one of the ARROW keys (in the case of the wooden signs)?
- The parallax (in some cases) seems off. In the first level (with the tutorial) you can see the background moving against the middle ground which seems unnatural as the middle ground doesn't seem to move;
- The sound. This is where the biggest (potential) improvement lies. The balance and mixing of your sound is just off; i.e. the fighting and walking is very loud and does short of your presentation (which is a bummer because it looks great!). Make more variations by pitching the sound with code and try more minimalistic sounds as well. Good that you use ambient SFX. Use more and place them throughout the levels using emitters. There's quite a few interactions missing SFX as well. Finally all of your sounds could use a subtle reverb to place them in the acoustics of your world. I'm a 'professional' audio producer (i.e. won a Best Audio award during Reboot Develop Blue 2019) and could help you out with this (against a fair price, though). For reference of my work (both SFX and music) see the following clips (and game); (1) (2) (3) (Tap Gap)

Overall a great project and I hope it gets the attention it deserves! Congrats on the Steam release :)
 
Last edited:
Top