The 2D art is so fucking cute. I love it.
As for the gameplay, I'm not gonna lie, I needed to read this comment section to properly understand. Still wasn't too difficult without fully understanding though.
Neat game.
A few nitpicks though, the camera feels too close for the speed of certain bullets (the homing ones when they're at their top speed and some boss ones that have a rotation around the boss as part of their movement when they get far away from the boss). This also makes it hard to see where some bosses that moves a lot are.
Also, I kept getting stuck planting a tree without this pausing the game while trying to harvest trees. This either needs to pause the game or be put on a different key imho.
Most of my friends (and myself) didn't actually have lag on the jam version but obviously it stood out to people that did. I'm pretty confident it runs much better no matter what now.
For the story, we had actually already profiled before releasing, but... the bottleneck was Unity's SpriteSkin OnEnable, called once per enemy spawn, rather than one of our scripts, as our animation is done with 2D bones.
Some people solve that by not deactivating the object when returning it to the pool and just deactivating every component but the SpriteSkin.
I opted for the non-insane way of baking the sprites' animations instead.
This is a weird one difficulty-wise.
Finishing the levels was pretty difficult, but not exceedingly so, but at the same time, there's so much complexity in the characters that the only kind of reasoning I was capable of to try and find a solution on all but the simpler levels was about parity, and then of course, I could simulate a potential solution in my head, but I may as well just try it out in game as it's faster.
So, while I solved all the levels, for the most part, it felt like I just stumbled on the solution rather than deduced it.
The only real agency given to the player is how many enemies to fight before going to the next floor, and there isn't really any strategy to it, the optimal way to play is to defeat all enemies before moving on, so as to level up as much as possible. So, it's just farming and not fun. I'm assuming the procedural generation ate all the development time.
I sadly disagree with the other comment saying that this plays well. Imho, there are 3 major problems with the gameplay:
Cool concept, with many mechanics like that, it seems like it could lead to fun gameplay, had there been more time. In fact, the first level is already pretty fun, albeit quite simple. As for the second level... well, you can just place Mayumi last on the platform slightly above the star, without needing to interact with anything else in the level.
Favorite game of the jam for me so far. Also, thanks for including a spell practice mode. I captured all the spellcards in it in normal. I may go back to 1CC the game later.
The spellcards could use a longer timer or fewer HP. I think it's good to force the player to switch mode to beat their timer, but here, it felt like I not only had to switch each time with the boss, but I also had to pay very close attention at always being right under it and for some spellcards even shotgunning as much as possible, just to have a chance to beat the timer.
I also didn't understand how the bar to switch from one mode to the other filled up. When in practice mode, you start with it empty, and some patterns require to switch mode early in the spellcard to keep dealing damage or just to survive the spellcard, so not understanding how it worked lead to failures without having any control over them. Not having an indicator to see whether or not you can switch also feels terrible when you try to switch, it doesn't and you die as a result. Or maybe the simple fact of having a bar to fill to switch is a bad idea.
I'm utterly confused. This is complete madness. As expected from Saishoo, I guess.
I didn't find the fishing rod.
I didn't manage to swap books between 2 shelves (I'm assuming a bug), thus making it impossible to sort them.
I didn't get anything out of the QR code.
The only base64 I managed to get anything out of is the one from the itch.io game page and not the one you're told to decode. Plus, there's text telling you that the link was wrong.
I also had the (first) game softlock a couple times.
Well, I'm sorry you felt sorry about how I felt. I didn't feel like I was wasting my time or anything but I may have come off too harsh. I just wanted to give constructive criticism and give insights into why I didn't like it, because to me, those things help getting better at making games and that's what game jams are about (to me at least).
While what I said about the hitboxes is likely to make it better for almost all players, it's likely that there are some players enjoying scanning through the screen like that, so keep in mind that while insights on what players like can be valuable, you don't have to feel bad about any particular player (like me) not liking a game. That may also be just not the right type of game for me.
As for trying again, there are so many entries this jam that I doubt I'll feel like it once I'm done with them, but we'll see.
I've never used Godot myself, but not having the items collide with each other is actually something I have a decent idea how to do in Godot, as I had to unblock a friend learning Godot on that.
My understanding is that, for each type of item, you define a layer it pertains to, for example, walls on layer 1, enemies on layer 2, player on layer 3, bullets on layer 4, thrown items on layer 5, etc and then for each item you define the mask, which represents what it collides with, for example, you want your thrown item not to go through walls, to hit cancel bullets and to hit enemies, so you'd tick the mask on 1, 2 and 4 but you don't want it to hit the player throwing it itself or other items, so you don't tick 3 and 5.
Obviously, there may still be a need to differentiate the effect it has depending on what it interacts with. Like, a wall just stops it meanwhile a bullet or enemy makes it both stop and damage anything close by. I imagine one way to do it would be with a single node (if I remember the word correctly) and just checking the layer of the collider (or some other info) in the collision callback and having different effects based on that check. Another way to do that is to have 2 nodes, both with their own collider, one having a mask to interact with walls and one having a mask to interact with bullets and enemies and then each having different behaviours in the collision callback in their script. That second solution would typically be preferred if you work with non-programmers, as it allows more things to be done directly in the editor.
Of course, it's a game jam, so just going for the quickest thing you manage to get working is typically best. Last jam I participated in, I also ended up redoing collisions manually because it was faster than figuring out how Unity colliders were interpolated between frames and how to get them to behave how I wanted (between each frames, my objects were moving a lot relative to the origin of the world but not relative to each others, which led to very imprecise collisions before redoing my own collisions).
Pretty fun.
There's a bit of a visibility issue though. When far away, obstacles and collectibles are too small to properly identify their shapes, so you have to rely on color, and pink and red are quite close to each other. In the last level in particular, with the white background, they're really hard to see and differentiate.
Thankfully, the game is not punishing at all, so this is not a severe problem.
That was way too frustrating for me to make any decent progress. I couldn't get past Parsee. Having to scan the whole room with your mouse due to the darkness is just the opposite of "fun" to me.
The update to the hitboxes helped a bit compared to when I first tried it, but when you have an object like a table in an inverted U shape or some kind of frame in an O shape, it would have helped a lot if the inside of the U or O would also be part of the hitbox. A simple bounding box encompassing the object would have made them much better for me.
Pretty cute game, but the gameplay is clearly unfinished.
I got softlocked my first attempt against Aunn, but I don't think it's because I lost. I say I'm not sure, because it's quite hard to know if it's one Aunn or a fairy of light that got defeated when everything is displayed as <null>, but it was just turn 2, so I doubt the game is unforgiving enough that I'd be the one to lose. Maybe that happens when some of the fairy of light still have attack targeting a target that got defeated by an earlier attack this turn? Maybe something else.
Overall, it was fun and cute, but the game would just be better without any kind of time limit. Imo, all the time limit does is punish the player without any reason, especially since you can't complete the game in one run without prior knowledge. Nothing unbearable though.
I also got a softlock as well. In my case it was after opening the chest, Cirno became unable to move. Only happened once though.
In its current state, the game feels like a tutorial, teaching you to use the abilities you acquire, but running out of time before challenging you to use them correctly.
The movement in its current state is solid but it might lack diversity to make engaging platforming: things such as a double jump, a wall jump, interactive elements in the world or other such things (not necessarily all of them).
The fighting abilities in their current state are probably too slow and unwieldy for the faster enemies near the end and with how simple the the enemies are, the fighting isn't particularly interesting. As a result, if you had had time to extend the game a bit without having time to add more complicated enemies or to change how fighting works, you would have been better off just removing combat abilities and having the enemies just be moving obstacles.
The presentation for the story was well-made and the idea behind it was kinda funny.
As for the gameplay, the pattern seemed really hard but I guess your hitbox is so small that even without being good, you get through it most of the time by chance. If not, considering the length of the game, you can just bomb through every time. However, it's impossible to see the enemy bullets while you're shooting, as they're the same color and there's no effect on your shot to make it transparent or something. Your own shot might even be above the enemy bullets, but I can't even tell to be honest.
The orange smoke in the second stage really doesn't stand out enough to understand it's an attack, especially since there is also another unharmful white smoke FX. To the point I thought it was a bug and I took a video to show you, but after rewinding it a few times I understood.
The third stage would have been better either by being more difficult or by requiring fewer laser photos. In its current state, it just felt like waiting, especially since there doesn't seem to be the fast recharge mechanic like in ZUN's photo games.
Otherwise good game. I do love those kind of photo games.
I went to visual studio and got those additional logs:
D3D11CreateDevice: Flags (0x2) were specified which require the D3D11 SDK Layers for Windows 10, but they are not present on the system.
These flags must be removed, or the Windows 10 SDK must be installed.
Flags include: D3D11_CREATE_DEVICE_DEBUG
Then I followed step 2 of this: https://stackoverflow.com/a/76985931 and it launched.
If you want me to uninstall those graphic tools and test again to see if it now works right off the bat without the user having to do anything in particular, my discord username is worm38. I'm no longer available due to work right now though.
------------------
System Information
------------------
Time of this report: 4/9/2024, 08:53:14
Machine name: DESKTOP-49V35GN
Machine Id: {DEF7D24A-C213-43A1-A276-8C7B0FA5A071}
Operating System: Windows 10 Home 64-bit (10.0, Build 19045) (19041.vb_release.191206-1406)
Language: French (Regional Setting: French)
System Manufacturer: ASUS
System Model: System Product Name
BIOS: 2006 (type: UEFI)
Processor: AMD Ryzen 5 5600X 6-Core Processor (12 CPUs), ~3.7GHz
Memory: 16384MB RAM
Available OS Memory: 16266MB RAM
Page File: 12238MB used, 18236MB available
Windows Dir: C:\Windows
DirectX Version: DirectX 12
DX Setup Parameters: Not found
User DPI Setting: 96 DPI (100 percent)
System DPI Setting: 96 DPI (100 percent)
DWM DPI Scaling: Disabled
Miracast: Available, with HDCP
Microsoft Graphics Hybrid: Not Supported
DirectX Database Version: 1.0.8
DxDiag Version: 10.00.19041.3636 64bit Unicode
With the new upload of the 0.003 version, I get "Couldn't initialize Direct3D, Direct2D or DirectWrite"