VibeCheck Devlog

ARCHIVE.ENTRY

DOCUMENT.CONTENT

Vibe Check Devlog notes

This is a catalogue of various random notes I have taken during my development process of Vibecheck, my movement shooter roguelike that I will hopefully finish before I die. This is not the most organized catalogue of events as sometimes I forget to add to it, or just ramble about things that got in the way of my development of the game, so read at your own peril.

9/10/25

Development started and I was fairly worried about the movement system, but fortunately thanks to this gentleman open sourcing his movement controller, the development was greatly sped up via CTRL+C CTRL+V. A few small changes to the code to match my goals here were all that was needed. So all in all, good progress for the first day.

9/12/25

Today was another fairly easy dev day, just sort of ported over some scripts and systems from my previous game to this new one. The most challenging part was converting them all to C# as I have decided for this and all future projects I will be using C#. There is no fate worse than a language that is not type safe for game development. No idea why GDScript has been pushed on me so hard as it is actually doo doo feces. I love when I create a class, then in another script reference a method or variable that I think exists in that class and only find out when I have booted up and am testing the game that this variable does not in fact exist when the entire game crashes. Phenomenal design, please never use GDScript ever again if you are reading this. C# is just vastly superior in every conceivable aspect.

9/13/25

Another good day, got a basic gun implemented and used a friend's utterances as a placeholder SFX for now as I really cannot be bothered to do sound design at this moment in time. Even got a basic enemy implemented. Keep in mind when I say basic I really do mean basic—this is the most barebones implementation of both of these things, but you have got to start somewhere I suppose.

9/20/25

Missed a few updates here, but to sum it up quite quickly I messed around with navigation for a day or two as it just refused to behave in any sensible manner. However, I eventually got it all working, sort of. I am sure there will be significant problems with this later. The player is also now able to die and the world should more or less reset after their death. A few more stats were also added. Primarily of mention is the armor and armor pen system; I am basing this primarily off how Helldivers does it. Aside from everything else in that game, the armor pen is simple: higher number wins and does full damage, equal number does half, and if the armor pen is less than armor then no damage is dealt, simple as. On another note, my fridge has been broken and all my food is rotting, but I am so locked in on gamedev maxxing that I have been largely ignoring the hunger pangs. Hopefully I remember to write another one of these blurbs within a reasonable time.

9/22/25

Took a few days here to properly implement a new system I am referring to now as weapon variance. This system essentially takes a weapon's base stats and scales them up and down semi-randomly with some guidance based on the weapon's quality tier, i.e. higher quality weapons have more of their stats tilted in a positive direction. Just have to throw in a little fortnitification, you know how it is.

9/26/25

Alright, this is going to be a little bit of a boring devlog, as mostly this was just fixing bugs, re-organizing the general file structure of the codebase, and cleaning up some ugly code. Removing magic numbers, consolidating some duplicated code into functions or abstract classes, the whole 9. I needed this codebase to be clean enough to slobber all over before I go about the next step, which will be implementing drops the player can pick up, and also starting on the module system. So more to come very soon.

9/28/25

Good progress so far, got weapon pickups working, that was by far the easiest part of the entire process. Also got basic modules working. They are not being generated randomly yet but I can set static ones in this little registry I have, spawn them in and equip them with the new player inventory UI I made, and well it works. The player inventory right now is very ugly but I will fix it later. It also is not mouse navigable but instead is controlled with WASD. The intention here was to not do a disservice to the pace of the game by having the player's mouse pop up when they open their inventory. Ideally once they learn how to navigate it once they should be able to use the keyboard to make adjustments fairly quickly. I will see if I keep this system after some playtesting, unsure if it is the best way to proceed.

9/29/25

More file structure cleaning. A lot of code was written for the last feature implemented and it left the file structure a bit of a mess, and I am starting to get a sense for how I want everything to be organized, so a decent amount of rewriting occurred today. Not a very interesting day but gamedev is not always flashy new features if you actually want the game you are making to work.

10/1/25

Noticed the module gen was absolutely terrible and requires a significant refactor due to the fact that modules were generating with stat increases and buffs that make absolutely no sense. So a decent amount of work was put in to try and reign in the system in order to ensure I do not swallow a 9mm every time I look at the effects of a randomly generated module. I want to significantly less now, so I guess that's a win; this system is still not really ready for prime time but it is more or less good enough for now.

10/4/25

Was unable to work on this project for a bit due to extenuating circumstances, but well now that I am back I got around to implementing status effects for the enemies so now I can light Among Us on fire before he smacks me with his penis. This may not make much sense but trust me when I say everything described in that past sentence is entirely accurate to the current state of the project. Along with that, a few random miscellaneous bugs were fixed, too numerous and boring to really list here accurately. Hopefully I can continue to work on this in the future nearly daily but unfortunately I have to do stuff periodically to like live so I cannot lock in on this nearly as much as I would like.

10/6/25

Alright, some big progress since the last devlog. Skeletal enemies have now officially replaced Among Us. Sex offender Among Us has now been eradicated from the project files and banished to the shadow realm. Now we have enemies who use skeletal animations and possess a physical skeleton with accompanying collision shapes for more accurate collision detection as the enemy moves around in their animations. Also had to mess around and add in ragdolls because they are funny, and now my little starter enemy called rodent does indeed successfully toot it up crazy style on death. Waited this long to add stopping power and a knockback system to the game also. Essentially if the enemy takes damage that is over 30% of their max health in one hit they will be staggered, and there is a knockback system so all damage now has an impact force component and if that force exceeds the enemy's resistance then they are knocked back. Went ahead and also implemented gibbing to the enemy so if they die and the last hit did a significant impact force to them they will explode into flesh chunks and it is a lot more satisfying than I anticipated. This is really shaping up to be a proper bloodbath as I have envisioned. So all in all pretty happy with where this is at so far.

10/8/25

Couldn't work on this for a few days and then wasted a bunch of my time trying to get the entire game translated into Esperanto. I say it is a waste but I did succeed, yet this absolutely could have been done later in development. The main reason I did it is one of my friends who is also a dev is learning Esperanto and I wanted to try and psyop him into working on the game with me. Unfortunately it did not work, so now I have an entire Esperanto localization for almost no reason, but now that it's setup future translations will be pretty easy to add so not everything is a loss I suppose.

10/9/25

Few smaller changes here, but got two new weapons implemented: an autocannon that shoots explosive projectiles, and a laser gun that essentially operates similarly to the SMG but with a much higher fire rate and a much lower base damage. It also lights enemies on fire. Also went ahead and implemented a new replacement for the original ranged Among Us enemy. This replacement is a skeletal enemy just like the rodent but this time its projectile is tied to its animation and bone position, which is a long winded way of saying it has this little spellcast animation and at the peak of the animation a projectile manifests from the hand position of the entity. This will be a foundation for how enemies in the future will launch projectile attacks. Most attacks in this game will be bound to animations in some way, so there will be a tell before they release something that can damage the player, which I think is critical for readability and making taking damage not feel like bullshit.

10/14/25

This update is sort of a summation of all previous days. I have worked on the game pretty regularly since the last update but many of these changes were rather minor and not really worth writing an entire blurb about so I am just gonna sum all of them up here in this one. Basically quickfire updates: modules will now auto equip onto weapons that the player is holding when they pick them up, and auto equip on the player if they are player mods. A lot of random bugs have been fixed. There is now a grace period every 3 rounds where the wave will not auto-progress—the player must actually interact with an object to start the next wave. This gives the player some time to make decisions between rounds as opposed to having 20 seconds, which as it turns out is not even enough time to formulate a plan for how you will organize your inventory much less actually do it. There is also now a basic melee attack. Can't believe I made it this far without one of those, but it is here now. Some quality of life features were added like adjustable mouse sensitivity and some other settings. The biggest change is most likely the various optimizations I made to get the performance with multiple enemies working correctly, including essentially disabling all physics calculations on the physical bones and basically treating them as moving hitboxes, which well, is what they are for my purposes. Some aspects of the nav are now multithreaded also, not all of it, but some of it. Wanted to multithread a lot more of the game but as it turns out I do not have a lot of good candidates in this codebase for multithreading and it more or less runs fine with 50+ enemies at once so I think we are fine for now. Some audio issues are fixed, mainly audio spam. This was handled via a global singleton that handles audio and can throttle requests to play audio if too many sources are trying to play sounds at once. Oh also some weapons can now pierce enemies, and by some I mean the sniper rifle only, but with modules other weapons can do the same. So I was not wasting the past 5 days, far from it.

10/17/25

This was a surprisingly small code change, but I have implemented a system to allow for some enemies to spawn as champions. This was based off Risk of Rain's special enemies and the Minecraft champions mod, as it is sort of a fusion of the two of them. There are essentially a whole list of modifiers that we can apply to enemies and multiple of these modifiers can be applied at once, so long as they do not alter the enemy's visuals in the same way. For example, one modifier makes the enemies explosive, this changes the texture of their mesh to look like Splosion Man. Another modifier makes them big, and deal more damage, but slower. Another modifier grants them a shield which reduces incoming damage and increases their base armor. So a valid champion would be an Explosive Shielded Big Rodent—all 3 of these modifiers can be applied as they all change how the enemy is visually perceived in different ways. So yeah, that's it for this one.

10/22/25

Another entry that is just a summation of a few days. I have got to get better about writing these every day but I more or less work on this until my body gives out and I must sleep or face instant death, so building up the energy to write an entry that same night is challenging but I shall try. Anyways, some big changes happened here. There is now a shop where the player can sell modules they don't want for currency and buy new modules and weapons with the currency they acquired from selling the ones they found. They can also use this currency to fuse two modules together to create a more powerful module, thus now if the player finds a common module they like but the effect doesn't scale well as the game goes on they can continue to power up the module as the game goes on. Improves the gameplay loop significantly. Also took a lot of notes after having about 3 different people playtest the game and well, just fixed a bunch of random stuff that I don't quite remember at this point. If this was a proper changelog I would try to identify what exactly was altered but this is in alpha so I don't have to. We are getting to the point in this project where I have to actually start working on the art for the game and I am dreading this somewhat immensely as this is a very slow process and not many code changes can be made when I am spending all my time modelling.

10/25/25

Got arms working; I don't even want to talk about the herculean effort and astronomical pain endured to make this happen, but they are working finally.

10/26/25

Not much done today unfortunately. SMG modelling was finished, and left arm IK and animations were setup and now work correctly. Also the arms no longer expose their shoulders when the player dashes or slides. So not absolutely nothing but if I keep going at this rate I will be adding one weapon into the game every day, that's about 12 days just for modelling and animating weapons, so not super optimal pacing but what can I do I am but one man.

11/1/25

Progress has been very slow here on account of the fact that I am still modelling. It takes so long, and code-wise there have been very few to no changes. I am starting to realize why there are usually teams of people that work on games. Doing this all by myself is incredibly time consuming. I am blocked on making code changes for days due to modelling, and bouncing back and forth does not really help. I sort of have to pick either modelling or coding and keep at it until I reach some threshold and then switch back over again. Making some decent progress as I really only need two more enemies for the next milestone, then I can start improving the base game a bit more; however I won't lie, this is still maybe not even 40% of all the modelling that will need to be done. Could really use an artist and a composer. If I had just two more people this could go much faster, but instead I have to wear all hats. I knew what I was getting into with this but every time I get to this stage I remember why it took so long last time.

11/7/25

Alright, I might be out of the woods when it comes to modelling. I have most of the stuff for this phase modelled and I can finally start actually implementing them and that is exactly what I have been doing. Took about 4 entities I modelled and implemented them into the game, bumping our total enemy count up to 5 from 2; which doesn't sound like a massive accomplishment, and maybe it isn't, but modelling, rigging, animating, and then coding for just one enemy is rather time consuming. So with that, not entirely clear how many different enemies will be in this game, but I want there to be a lot, at least 12 I am thinking, which means I am not even halfway there yet, great.

11/9/25

Implemented all the weapons I spent time modelling and gave them all alternative fires. I have no idea how balanced any of these alt fires are as they all do different things scaled based on the weapon and they all cost some form of resonance. Some of them are fairly powerful. However, a quick fire summation of what they do right now is as follows:

Weapon alt fire

  • Pistol turns sideways and fires off 12 rounds in a second
  • Shotgun creates bullet storm AOE
  • SMG spawns temp SMG turret
  • Sniper has ADS
  • Autocannon gives player a temp shield that nullifies all damage
  • LasGun fires arcing laser projectile similar to the en_bolt but lights all enemies on fire

So like I said, don't know if these are balanced, but so far they are pretty fun at least I think, so I will worry about balance later. It is just game after all, why you have to be mad.