oh man I think i'm a bit late to this one, the level up mechanism seems to rely on other players being present and have them touch tips. Which doesn't work when nobody is around.
Love the idea though
Thanks! I actually haven't a considered mobile release before, but I can see the appeal!
This whole project was on a whim for everyone involved, I never made a game before, the 3D artist never made a 3D model before, the other two knew what they were doing. It was a fresh experience for most of us.
Also I have no idea how I would monetize a mobile game, any ideas?
I gave up and read the source code. It seems like the spell system is not positional like I had assumed, but closer to a string of commands with 2 hexadecimal pairs, like a very basic cpu instruction set. Which is pretty interesting but I spent quite a while looking for the wrong thing. Like at first I assumed latter half of the spell string was for physical properties and first half was size properties, until i made quite a few attempts with that idea only to see i got nonsensical results.
Have you considered changing the spell view so instead of starting with a full set of 16 zeroes, you start with a blank box where it fills up as you type hexadecimals, and with some space between every pair to guide the players in the right direction?
Aside from that, I love the game. 3D physics and a good puzzle is always a plus in my eyes.
Also for some reason, the sun has flickering issues for me

I think it took me like 3 visits before I finally got it. For some reason i didn't realize I could shoot back so i was just dodging and dodging, so I couldn't unlock any content on my first two attempts.
Other than that, the game is pretty cool. The mechanics are quite easy to grasp, and you actually have to think about how to use the the abilities. And I really appreciate how you have keybinds for both left and right handed controls (WASD vs arrow keys), Which I appreciate because I'm left handed.
I can't tell what going on for the life of me. At first I was impressed with the tutorial and the intro but then the guy started dying in seconds, I'm left with no choice but to merge, I do that but then I'm stuck in a pretty long cut scene for some reason? I mean its nice that you have a cut scene but it felt like it came out of left field.
I can see a lot of effort went into the art and story but I feel like that is a bit misdirected. You should have a solid gameplay loop then have story, not the other way around.
Indeed! I also think this combination has some potential but its an incredibly tough challenge from a game design perspective. Both vampire survivor and magicka are incredibly well built, very complex games from a design perspective. I'm considering doing away with passive weapons altogether and go pure active because they can't really seem to mix properly. And frankly the combos are not fully implement so there's hardly any benefit to cast more than one glyph, as can be seen by reviews about everyone spamming a single ability. The selection of abilities needs a rework as well, I chose them based on actual Vampire Survivors weapons (like the dark circle being a direct analogy to pentagram and hex flask is just santa water). But that selection doesn't really seem to work out when the player has full control over what weapons they get to use. Not to mention I didn't have the time to lay out an ability matrix to figure out what effects what combos would have to then adjust it. So when you cast more than one glyph all you get is a stat boost which is hard to tell unless you're actively counting damage markers.
I'm still pretty happy with how it turned out especially considering this is the first game I've actually made, I spent years learning about every backend system that goes into a game engine but never really put that together into an actual product before. For example, the outlines you see are made by reading the depth buffer, and that required me to create a custom depth buffer directly using opengl commands without relying on raylib, its also the reason I put a giant warning on the description saying *please let me know if you encounter any graphical issues*. So far the only failure I've seen is on a 15 year old computer that just refused to render the game.
I think I will definitely try to polish this into a better game after the gamejam, the mechanics will need a lot of thought to actually nail down. And I need to make it so players can't live indefinitely by just walking around. Because thats something you can do right now if you're good at herding.
I love the html trick you did there on the page, I really should do something similar later.
also i seem to be having some flickering issues with some objects popping in and out of existence as i walk, like all objects on floor disappear if i'm standing on certain positions, seemingly only affected by my north-south movement. Probably some sort of floating point issue, I typically blame these at the default far field distance of raylib projection matrix, you can try to reduce it and see if it helps.
Update on the flickering issue (I'm writing this as I play). You most certainly have a problem with the projection matrix of the camera and its far field distance. The book shelves are constantly flickering, the books showing through the shelf from angles they shouldn't.

As for some of the minor things I found, when you hold a potion, your mouse sights at the right of the potion, not actually holding it visually. The enemies on new stages begin attacking as soon as you kill all enemies in current floor, they walk out of their stage and attack even if you never go there, making it hard to brew without being attacked. When you die, the only way to re-spawn is to reload the whole page. The tutorial has a bug where if you close the potion workbench too fast, you get soft locked in tutorial unable to progress because its asking you to close the workbench screen you already closed and can't open again.
Also as a final note, you don't seem to be using any kind of physics engine, if you touch any object you just stop dead instead of sliding on it. You can try using box2D on this game it would help quite a lot, and its surprisingly easy to work with. Not just for visuals/feel but also internal game functions like hit detection, these physics engines come with all sorts of algorithms to make queries for weapons really efficient and fast. I'm using that in my own submission and you can tell it makes quite a bit of difference, like you can dive into a horde of penguins and actually push them out of your way, it also helps me prevent enemies from overlapping, which is a problem you have in your game.

By the way EEQQ/QQEE is same as EE/QQ, the glyphs are actually based on a real mathematical concept called clifford algebra at R(2,0) space (hence the name `Hex Clifford R(2,0)`).
Yeah I couldn't get around to add a cooldown indicator for the QEQE spell, even the indicator for active spell and hold icon were last minute additions (the orange circle that appears around the spell plus the hand icon that appears above it to indicate it can be held). Still pretty happy with how much I was able to fit in this week with relatively relaxed schedule, except for the last 2 days where I basically worked on it morning to night.
In case you're curious about the math of how the spell system works, which I reckon nobody read the description to find out it actually is math, It works like this:
Clifford Algebra (also known as Geometric Algebra) works using "base vectors" that are not variables but literal symbols. Similar to units you see in physics, like how when you divide `10 meters` by `2 seconds` you get `5 meters/second`, the units are symbols that don't disappear.
So in the specific example we have, the R(2, 0) space, we have two symbols, x and y, or i (Q) and j (E) as I denoted on the main menu, what we call the symbols doesn't matter, only thing that matters is their behavior. Which are the two rules you see on tutorial, equals "annihilate" (result in 1), swapping different symbols negate EQ = - QE.
So going back to the spells you showed, let me work out the math for them:
+QEQE = - (EQ)QE = - E(1)E = - EE = -1 (so the dark circle is -1)
+ EEQQ = + (1)QQ = + QQ = + 1 (and white circle is +1)
The game's fun.
I seem to be having some flickering issues, where the player and enemy models are constantly flickering in and out of existence, have you tried bringing far plane of the projection matrix closer on the camera settings? raylib defaults to a far field of 1000 which creates a lot of floating point errors that do things like flickering, i also had that problem on my game at first.
And the homing bullets is way too overpowered, it instantly ends the game for anyone who gets it because they can just shoot at the general direction of enemy and snipe them across map
nothing in the console that resembles an error.
I'm using arch linux + sway, with an AMD CPU with no dedicated GPU. My chrome is quite old, haven't updated for at least 6 months now.
OS: Arch Linux (kernel 7.0.12-arch1-1)
CPU: AMD Ryzen 5 3500U
OpenGL renderer string: AMD Radeon Vega 8 Graphics (radeonsi, raven, ACO, DRM 3.64, 7.0.12-arch1-1), OpenGL 4.6, Mesa 26.1.3
RAM: 16 GB
Browsers I tested:
- Google Chrome 128.0.6613.137 (Which I will delete right now because It's an old version and now there's a public record of me having a vulnerable old browser. I refused to update ever since the manifest V2 sunset)
- Firefox 152.0.1