Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Changelog for SudoHack (see (primarily for me, but also for anyone interested in the game). Most of the older messages are not as descriptive and may be strange.

SudoHack Changelog



  • Bullets make a sound when they hit a wall
  • Image gets color shifted, desaturated and noisy if player has too few bits
  • Added doors
  • Player names (non-editable yet)
  • "Tutorial rooms" - very short, stripped down rooms, which aim to make certain game play concepts/mechanics clear
  • A way to choose input type at the start of the program
  • A lot more maps
  • Collision multipsampling for the player
  • pre-commit hook in git generating a timestamp for the commit and potentially other stuff later (for demo/gameplay recording library) (to distinguish different versions)
  • "Banners" - Messages that fly in triggered by certain events (doors opened, all enemies destroyed)
  • Endscreen so the game doesn't go infinite
  • Bit gain/lose animations
  • Webinterface for demo upload key management/download
  • Weapon upgrades (super beta)
  • Dislaimer at the beginning of the game
  • Dash marks
  • Player images (trying out only one by Lukas)
  • Almost all sounds in the game now have random pitch shifts
  • demoLib for recording gameplay (testing footage) -
  • Added uploading script to database (PHP)
  • Made an uploader in Python that will be invoked when the game closes (also for crash reports) (and spent 3-4 hours making an .exe out of it)
  • New Tweakables (automatic parsing and realtime update in the code) (see blog)
  • Integrated demoLib
  • Made tickSimulation deterministic by having it's own RNG
  • A map generator
  • Loot now disappears after a while
  • Fast forward during playback mode using the space key
  • Added a broadphase for player-enemy and enemy-enemy collision detection (a grid)
  • Enemy number and corridor size scales with player number
  • Added flow field generation (recursive for all tiles, own stack, own stack with FFI and during map generation breaking compatibility) and ping particles
  • Added integration of superprintf_love2d
  • Upgrade screen with weapon upgrades, ping & dash upgrade
  • Speed and Toughness upgrades and price doubling / only being able to buy something once
  • Player statistics in dead screen with blinking prompt + a few more statistics related bonuses
  • Scrolling text, rather than cut-off text
  • Auto fullscreen with F11 + opening config with 'C'
  • An "Atrium" where player can join and leave the game with a key press (rather than adding players in the start screen)
  • Custom player names
  • Uploader is called from fused mode
  • A readme


  • Bullets have circle collision volume
  • Enemies show life loss by thinning their outline
  • A lot more Bits per picked up Bit and a lot more Bit decay -> the game feel changes drastically
  • Movement rolled back, using the old system again (forces and friction)
  • Only the player border flashes now
  • Enemies don't grow stronger gradually. Rather I want them to also differ visually and in behaviour.
  • Even faster Bit decay
  • Random weapon generator now only uses fixed damage/second. No other constraints used.
  • Dash is longer
  • Post processing can be turned off in the configuration file
  • Increased Bit pickup radius
  • Recoil a lot stronger
  • Migrated to love version 0.9.2
    • loading gamepad mappings from SDL database
  • Shoot threshhold raised (on gamepad)
  • Screenshake also shifts colors and makes the image noisy
  • Switch to GitHub's Atom (I only say this here, because I have a dozen commits that differ only in whitespace... - Otherwise that think is absolutely gorgeous)
  • GRID now only computes solid tiles (a lot faster now!)
  • More cybery caption when level is cleared ("ACCESS GRANTED")
  • Starting weapon deals more damage now
  • Optimized checkCollison to use table lookups rather than string comparisons
  • Optimized pointAABB collision a little (seems to have done a lot though)
  • GRID will only be calculated for visible tiles
  • Enemies only "think" in intervals of about once/sec rather than every frame. Behaviour and decision making are separated now.
  • Enemy physics will only be calculated if their velocity is > thresh or there was a collision last frame
  • Weapon upgrades even less likely
  • Map generator now preferes directions away from the center to avoid gaussian distributions
  • No loot weapon upgrades
  • Config is opened from save directory
  • Bit decay slower when enemies are dead
  • New ping leaves a trail (and looks a lot cybery-er and cooler)
  • Ping is now activated by pressing the left stick


  • Shock tiles now work with new movement
  • Bullets use multisample collision detection, so faster ones don't fly through walls
  • Bullets will not live through multiple maps
  • Collision multisamples don't cause bullets to collide with player more than once
  • Game can't be started without a player (Geez, Jan...)
  • The player now always has the same weapon after dying
  • Goal will no longer be unreachable. (I hope)
  • Prebuilt maps work with flow maps now
  • No Rumble on exit! Finally!
  • Small maps won't be too small and crash the game

0.1 -

  • Moved all notes to Trello, which is awesome!
  • Added "tweakables"
  • Scaled all dimensions (position, velocity, acceleration) and expressed them in units of tileSize
  • All collision geometry is now called "collisionShape"
  • Added an aim line
  • implemented setMasterVolume
  • Enemies drop Bits now
  • If bits <= 0 -> "deadscreen" -> space = new game
  • jmp tiles now implemented
  • maxBits from map file
  • Made random weapons more even in power level
  • AI had problems (colliding with dead enemies, didn't follow as it should). Now fixed and much better.
  • Starting the game again gives you a new random weapon
  • With a random sound! ShotSynth integrated.
  • Zoomed out a little
  • Implemented Dash
  • Redid movement to be more responsive (for a Gradius/R-Type feel)
  • Dash sound
  • Enemy hit flash
  • Removed angle spread, so weapons with multiple shots are better
  • Added the GRID!
  • Added Bloom and "tails" for players
  • Joystick-input now uses "gamepad mapping"-abstraction-layer
  • Twinstick-Shooting + Gamepad Rumble!
  • Added RGB shift and scanline shader
  • Tried two types of level generators, both to only mild success (I will definitely not use them in their current form)
  • Changed bullet sprite
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.