This is good for what it is. Sanae is the cutest she's ever been in 16x16 pixels. The difficulty curve is well designed.
Recent community posts
In terms of horror and the use of the theme, this might be the most fleshed out and polished experienced this jam. I almost killed myself during that one "sanity effect", and it made for quite an intense experience.
One hundred rooms, and Youmu still hasn't found the toilet...
You did the right thing to submit. I got to see some cool effects and colorful sprites with accompanying music, and it didn't waste my time or make me disappointed by appearing to be more than it is.
What a beautiful game. The combat is a bit meh, but it doesn't get in the way and the pixel environments you get to explore in the meantime have a strange low-res beauty to them. I didn't have any problems finding the 3 endings, probably because I knew to look for them after reading the game's page.
The Suika attack is hilarious, too, and I don't think it distracts from the otherwise serious tone of the game.
This game is great. I love the blend of action and puzzle, where you can either be smart or quick. It's nice that it's mostly grid based, since the ghost snapping to the grid (and the bullets being grid aligned) gives me confidence in that it'll block the walls of bullets I'm rushing into. It's also great that the ghost's normal movement is not grid based, since that lends itself to better action gameplay. The difficulty is just right, too.
Minor nit-pick is that I think it'd be more intuitive to control if the ghost stayed in place when scrolling the screen and not moving the mouse. It's not like the ghost is synced-up to the mouse cursor anyway, since it gets stuck on objects.
I would play a full game of this.
I thought your own turrets being able to hurt you would be interesting in something like a tower defense, but the way it is implemented right now, it feels too chaotic for the player to have a fair chance of dodging their own bullets, and it gets worse when you want to pick up gems. I've had the most success by abusing Suika's beer to get a few upgrades.
Cute graphics, though. It's amazing what you've been able to do with so few pixels.
This is good. I enjoyed the somewhat constrain physics and I think the difficulty and level design was appropriate. The bottomless pit in the first level took me like two tries, but after getting past that, I made it all the way to Remilia until I died again. On my 2nd run that got past stage 1, I got a 1CC.
Very fair difficulty that manages to rewards patience without feeling like you're forced to play passively. You did a great job capturing the classic Castlevania feel while sprinkling in some more bullets for show. Also, the music is excellent and the pixel art looks authentic.
Very cute art. It felt a bit unfair when I had to get the last book in a narrow corridor (which killed me), but once you know that the spawn rate increases the more books you turn in, it's not an issue.
It feels like a horror game, so good job.
It feels like the game achieves what it was supposed to do. I just personally can't be bothered to get good at it, since it takes too long for the 2nd belt to appear and is too easy until then. It would be nice to have the option of starting from "level 2", if only to practice.
In short, I have skill issues that I might have tried to overcome if the game had a smoother difficulty curve.
I made it to the "Find the treasure level".
I enjoyed how athletic Remilia is, and the Shuriken is a lot of fun, but I wish there were fewer "leaps of faith" where you have to jump down without seeing the floor.
It was pretty frustrating, since dying takes you back to level 1. Since the game is fun to play, I'll probably give it another go, but I wanted to post the fix below ASAP.
Fix for running the Linux version on Ubuntu 22.04
Trying to run the Linux version, I got the following error:
SDL image support <= 2.0.4 at: /usr/include/dmd/phobos/std/exception.d:516 _D3std9exception__T7bailOutHTC9ExceptionZQwFNaNfAyamMAxaZNn [0x5556887bb35a] at: /usr/include/dmd/phobos/std/exception.d:437 pure @safe bool std.exception.enforce!().enforce!(bool).enforce(bool, lazy const(char), immutable(char), ulong) [0x5556887bb2d2] at: ../atelier/source/atelier/render/window.d:86 void atelier.render.window.createWindow(const(atelier.core.vec2.Vec2!(int).Vec2), immutable(char)) [0x555688850f1d] at: ../atelier/source/atelier/common/application.d:68 void atelier.common.application.createApplication(atelier.core.vec2.Vec2!(int).Vec2, immutable(char)) [0x55568882bcb1] at: source/app.d:35 void app.setupApp(immutable(char)) [0x5556887a5feb] at: source/app.d:18 _Dmain [0x5556887a5ec7]
I have libsdl 2.2 and 1.2 installed. To make it work on Ubuntu 22.04, I had to install the packages
These packages install the 2.0.4 versions, which are compatible, as indicated by the error message.
Nice kinetic novel: the sound and images really do help set the mood, and its all well-written too. Good use of the theme, and the frame story is a clever way to bring many writers together without it feeling incohesive (but see my criticism below).
Nit-picks: Unzan is not actually present in the images, and the reaction to Mamizou's story feels a bit out-of-place, as if the frame story and other stories were written completely independently. Otherwise, there isn't anything to complain about. I especially enjoyed how empathetic the stories are, by which I mean that they do a good job of communicating how the characters might have felt when they died, where forgotten or locked away.
I played for several minutes and had a good time. Wish I could see my score but the game just wipes it upon death. Also, I somehow managed to find a bugged state where I wouldn't take damage upon seemingly hitting zero health (and health items wouldn't heal me).
The game is solid fun, but a bit unpolished. I like the ability to easily change shots, but the spread and homing seem very situational.
It's amazing what you're able to do on a genesis, although it does lag a bit at times, making it a fairly easy (but not too easy) bite-sized shmup.
The scoring system is kind of meh. It feels like the kind of system where you'd get a bonus for collecting many candies at once, but that doesn't seem to be a thing.
The bosses are nice and the patterns are appropriate for a game with no focus button. It feels like they have just the right amount of HP, which makes sense given that its a 2-minute game.
Hi-score: 86750 (I've got a couple of no miss runs that I think pick up everything and have over 10 seconds to spare, but for some reason, this is the highest scoring one?)
Fun and fast-paced! This feels really good to play and everything is nice and polished.
I would have liked some audio (or other) feedback for when the combo is maxed out. Perhaps I'm playing the game wrong in trying to max out combo before I bomb, but it breaks my flow a bit to have to watch the interface.
Also, fairy maids.
This game is amazing, both as a concept and execution wise. It's so clever, so unique, and so interesting to play. Everyone who likes shmups or Koishi should play this game.
Still, it's not perfect. Some spells are a bit too easy to just cheese by never opening your eyes. I got a two miss clear purely due to luck by just closing my eye. The game could probably be tweaked a bit to prevent this, but maybe the point is that its easy to close your eyes, and painful to see?
Still, jams are more suited for interesting games than perfect ones, so in that sense, this might be the perfect jam game?
This game really nails the characters. The writing is great, as is the visuals. If the ground tileset was better, this would have been 5/5 in visuals. Also consider adding camera limits.
The main problem I have is with the level. It needs to be bigger, with more incentives to go to new places. I'm also pretty sure some section requires invincibility to pass through (like going down to the bottom level again), which is fine, but it would be nice if this was made more obvious so the player isn't baited into trying. It doesn't help that Youmu gets stuck in the bottom section, which incentivizes the player to just not go there at all, and just farm respawning spirits at the top level.
Sound effects could have helped the player know when they've gotten to the next level in an upgrade.
The foundation is solid enough that with just a little more effort, it would have been a much better game.
I'm very excited to see a game with Kyouko that actually features her day job. The visuals and audio are great, too.
The game itself is nice and easy to pick-up. However, when the fun doesn't come from mastering the controls, it needs to come from somewhere else. Unfortunately, the enemy spirits don't do much and they also take an unsatisfying amount of hits to kill (although once you've figured the game out, it doesn't give you much reason to actually kill them). Suika's fight is similarly polished but not very interesting. Both regular enemies and Suika could use less health and some projectile attacks. The broom should probably travel longer when knocked out of Kyouko's hands to make it non-trivial to just pick it up again.
I guess I'm just listing things the developers are probably already aware of. More interesting feedback might be that I never got lost or felt like I didn't know what to do. I'd guess my experience with the game was almost exactly as the developers would have predicted.
Also, here is a screenshot showing a minor bug with the z-index for rocks and trees:
This game is gorgeous. One of the best looking jam games I've ever seen.
As for the gameplay, I think it lacks some kind of escalation in difficulty. As it is, the only thing limiting a player's score is their patience. It could also use some i-frames: what eventually killed me was getting sandwiched between two Japanese goblins, which made a "brrrr" sound and instantly drained all of my remaining health.
You keep putting out the funniest and most thought-provoking ADV games. The engine looks great. The fact that it indicates dialog already seen makes this better than some commercial games.
And your writing is perfect for this theme. With that in mind, this might be your best jam game yet.
Interesting gameplay and super presentation. The art is great. I thought I recognized the style, and it's indeed the Immorsona artist. Do they post their art online somewhere?
I can imagine the gameplay getting really complicated if you let Nightmares/Dreams differ even more in what attributes they give, so that the player would have to Bootstrap dreams from Nightmares carefully without turning the Nightmares needed to bootstrap other dreams into Dreams. I definitely see the potential, although right now, it's kind of easy once the player figures out how the game works.
Since the number of attacks are so limited, I mostly just stalled for more enemies to spawn so I could take them all out with Stampedes and/or Dream Marisas. Dream Marisa and Dream Joon are great, strictly better than most other cards since you can always waste cards you don't need to be able to draw more with Joon. I had like one close call, but otherwise was able to clear it no problems. I could see it being RNG dependent, though.
It's functional and not ridiculously difficult or easy, which is a good start, but it just feels unfinished. Part of it probably has to do with the presentation: this amount of content would have been enough for a stage 1 boss if not for the placeholder dialog, so if you reframed the game as "Doremy fights something a kin to a stage 1 boss", you could perhaps have gotten away with it.
The floaty jump/flight was interesting, but the fairies had way too much health for me to bother with them. Luckily, Doremy wasn't too bad (actually, the fight was pretty good, and quickly taught me to love the jump). It would have been nice with some audio or visual feedback when she got hit, though.
It doesn't run for me.
See the end of this message for details on invoking \njust-in-time (JIT) debugging instead of this dialog box.\n\n************** Exception Text **************\nSystem.ArgumentException: Length of argument 'Character' must be greater than zero. at Microsoft.VisualBasic.Strings.StrDup (System.Int32 Number, System.Char Character) [0x00009] in <d589d6154b9f43a982849b3652e41114>:0
at Microsoft.VisualBasic.Strings.StrDup (System.Int32 Number, System.String Character) [0x00028] in <d589d6154b9f43a982849b3652e41114>:0
at All_codes.IO_ini.GetStrFromINI (System.String sectionName, System.String keyName, System.String defaultValue, System.String iniPath) [0x00001] in <051298bbf2464deb8d6fb34581a658a8>:0
at All_codes.IO_ini.Read_first (System.Windows.Forms.Form tgt_form, System.String path) [0x00047] in <051298bbf2464deb8d6fb34581a658a8>:0
at All_codes.Form_manage.Resize_form (System.Boolean read_ini) [0x00010] in <051298bbf2464deb8d6fb34581a658a8>:0
at All_codes.Form_manage.Form_load_initiate (System.Windows.Forms.Form form, System.Windows.Forms.Panel panel, System.Windows.Forms.Label loading_label) [0x0002b] in <051298bbf2464deb8d6fb34581a658a8>:0
at Ice_Fairy_Unmatched.Form1.Form1_Load (System.Object sender, System.EventArgs e) [0x0000e] in <59bb949dd788468d87faf2868a7bbc2c>:0
at (wrapper delegate-invoke) <Module>.invoke_void_object_EventArgs(object,System.EventArgs) at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x000d1] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Form.OnCreateControl () [0x00031] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Control.CreateControl (System.Boolean fIgnoreVisible) [0x000ed] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Control.CreateControl () [0x00008] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Control.WmShowWindow (System.Windows.Forms.Message& m) [0x00051] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x0071b] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00043] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x0001a] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Form.WmShowWindow (System.Windows.Forms.Message& m) [0x00013] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00290] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Control+ControlNativeWindow.OnMessage (System.Windows.Forms.Message& m) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x000b3] in <7eb7f98ebac24936922af35e6761d8be>:0
at System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message& m) [0x00025] in <7eb7f98ebac24936922af35e6761d8be>:0 \n************** Loaded Assemblies **************\nmscorlib\n Assembly Version: 22.214.171.124\n Win32 Version: 126.96.36.199\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/mscorlib.dll\n----------------------------------------\nIce_Fairy_Unmatched\n Assembly Version: 1.0.8144.35809\n Win32 Version: 1.0.8144.35809\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/Ice_Fairy_Unmatched.exe\n----------------------------------------\nMicrosoft.VisualBasic\n Assembly Version: 10.0.0.0\n Win32 Version: 10.0.30319.17020\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/Microsoft.VisualBasic/10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll\n----------------------------------------\nSystem.Windows.Forms\n Assembly Version: 188.8.131.52\n Win32 Version: 184.108.40.206\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Windows.Forms/220.127.116.11__b77a5c561934e089/System.Windows.Forms.dll\n----------------------------------------\nSystem\n Assembly Version: 18.104.22.168\n Win32 Version: 22.214.171.124\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System/126.96.36.199__b77a5c561934e089/System.dll\n----------------------------------------\nSystem.Drawing\n Assembly Version: 188.8.131.52\n Win32 Version: 184.108.40.206\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Drawing/220.127.116.11__b03f5f7f11d50a3a/System.Drawing.dll\n----------------------------------------\nSystem.Configuration\n Assembly Version: 18.104.22.168\n Win32 Version: 22.214.171.124\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Configuration/126.96.36.199__b03f5f7f11d50a3a/System.Configuration.dll\n----------------------------------------\nAccessibility\n Assembly Version: 188.8.131.52\n Win32 Version: \n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/Accessibility/184.108.40.206__b03f5f7f11d50a3a/Accessibility.dll\n----------------------------------------\nSystem.Core\n Assembly Version: 220.127.116.11\n Win32 Version: 18.104.22.168\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Core/22.214.171.124__b77a5c561934e089/System.Core.dll\n----------------------------------------\nI18N\n Assembly Version: 126.96.36.199\n Win32 Version: 188.8.131.52\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/I18N/184.108.40.206__0738eb9f132ed756/I18N.dll\n----------------------------------------\nI18N.West\n Assembly Version: 220.127.116.11\n Win32 Version: 18.104.22.168\n CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/I18N.West/22.214.171.124__0738eb9f132ed756/I18N.West.dll\n----------------------------------------\nAll_codes\n Assembly Version: 1.0.8144.35808\n Win32 Version: 1.0.8144.35808\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/All_codes.dll\n----------------------------------------\nSharpDX.Mathematics\n Assembly Version: 126.96.36.199\n Win32 Version: 4.2.0\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/Dlls/SharpDX/SharpDX.Mathematics.dll\n----------------------------------------\nSharpDX.DirectInput\n Assembly Version: 188.8.131.52\n Win32 Version: 4.2.0\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/Dlls/SharpDX/SharpDX.DirectInput.dll\n----------------------------------------\nSharpDX\n Assembly Version: 184.108.40.206\n Win32 Version: 4.2.0\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/Dlls/SharpDX/SharpDX.dll\n----------------------------------------\nSharpDX.XInput\n Assembly Version: 220.127.116.11\n Win32 Version: 4.2.0\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/Dlls/SharpDX/SharpDX.XInput.dll\n----------------------------------------\nSharpDX.DirectSound\n Assembly Version: 18.104.22.168\n Win32 Version: 4.2.0\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/Dlls/SharpDX/SharpDX.DirectSound.dll\n----------------------------------------\nSharpDX.MediaFoundation\n Assembly Version: 22.214.171.124\n Win32 Version: 4.2.0\n CodeBase: file:///Z:/games/gamejam8/ice_fairy_unmatched_v5/Dlls/SharpDX/SharpDX.MediaFoundation.dll\n----------------------------------------\n\n************** JIT Debugging **************\n
I think I reached the end. This was both an incredible experience and an incredibly frustrating game.
I think up until about 200 deaths, this was my favorite game of the jam. It just does so many incredible things:
- Melee bullet hell gameplay that actually works well. There is always danger in approaching the source of bullets, but having them be inactive in the beginning, combined with giving the player an invincibility option works really well. In most cases.
- Abstract minimalistic aesthetics that manages to feel completely appropriate. Having everything be unidentifiable geometric shapes means that the player and the player character both start out completely unaware of what the game represents.
- Narrative where both the player and the player character unveil the meaning of things. For me, at the start, it wasn't even clear what the "N1" referred to, until I got to REM, so even the UI was mysterious, as well as who the main character and antagonist is. It's super well done.
- A recurring dream is the perfect setting for a bullet hell like this, where the player has to try over and over again. And you even explain what it means that the squares disappearing means. Every aspect of this game ties together into an excellent creative vision. I think it's brilliant.
Now, the game also has some problems as well. Even after close to 500 deaths, I often ran into bullets the moment they activated. When an enemy spawns next to me, I have to quickly update my plans to either go for them or avoid them, and I often just make the wrong split-second decision and get hit just as the bullets activate.
There are a few "solutions" I could think of; I have no idea if any of them would actually work, and they might also clash with the mysterious atmosphere of the game:
- Have the bullets spawn/activate and enemy spawns synced to the beat of some music. People can react more quickly to audio cues, and with a regular rhythm, people are even more precise. If I know the bullets will activate exactly on the next beat, it might be easier for me to make the correct split-second decision and not rush the enemy when there isn't enough time. The downside is that a music with some percussion might ruin the dream-like mood. Maybe maracas or chimes would work? The BPM could increase gradually through the different stages of sleep.
- Enemies could have circles around them indicating the distance at which their bullets become active.
- Have the enemies be visually distinct depending on which pattern they fire. Again, this would make the game less mysterious.
- Have the invincibility ability refresh after killing an enemy. I often used it to make the final stretch of approaching an enemy safe, but it sometimes remains on cooldown when I approached the next enemy. This would also serve a bit as come-back mechanic if the screen gets flooded with enemies.
These are just fixes to slightly improve the core "melee" mechanics, which are already quite good. The game also has more general problems with how the RNG can sometimes just give you really difficult patterns.
- Sometimes, several enemies will just spawn on the opposite side of the screen and start firing to create a maze of bullets that is too hard to navigate.
- This basically almost happens during N3, which is fine, but only after the player has figured out that they just need to survive for a bit longer. If the player tries to dive into this maze to clear up enemies, which they will do since they don't know that they just need to survive a bit longer, they will almost surely die. It might be a good idea to indicate to the player the time they need to survive (but it would make the game less mysterious, so it may also be a bad idea).
- The boss is... the absolute worst part of this game. It feels like I got screwed over so many times by pure RNG, and the stage is difficult enough that I can't even reach the boss most of the time. I think it's good that the boss is difficult enough that the player has to go through the stage enough times to somewhat master it, but it just feels unfair when bullets spawn almost on top of you while you are dodging the previous waves of bullets.
Also, the game crashes on exit for me. And thus it crashed after the final dialog (after 'Good night'). For jam games in particular, it's good to have a proper "The End" screen, just so the player knows that the game closing is intended, since jam games are sometimes unfinished or buggy. I'm not even sure I reached the end. Can the developer confirm? (I took a screenshot of the earlier part of the ending sequence.)
Also, I'm not sure how this could be done given how your game looks, but you need to market it better. The sad reality is that people don't have time to play all the games. I almost didn't play it due to how the screenshot looked. At least, have the screenshot be an animated gif. Well, I'm not sure it would have helped, but this game really deserves more players.
In the end, it's a brilliant game, both gameplay wise and in terms of its narrative vision. I decided to write down every flaw and potential solution I could think of because I loved the game, and would love to see an even better version at some point.