tuxDB - linux gaming aggregate
TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )


https://nc.itch.io/abyssal-fortress


Abyssal Fortress: Escape from the Necromancer's Hold is a prototype of a game I designed for a university course. Other parts of the course involved designing a full game, and making a trailer for the prototype.

In the game, you play as an archer, stationed in a fortress that was taken over by an evil necromancer. The fortress was uprooted and taken into an abyssal plane created by the necromancer, and the player character is the only inhabitant who did not get turned undead in the process. Your mission is to get through the skeletal hordes, and defeat the necromancer, to return to your home.

The game should run well on even integrated graphics cards, but requires relatively new drivers, and may not run well on very old hardware. It uses the modern Vulkan 1.2 API for the graphics, but does not require much computing power, so low-end but relatively recent systems should work, but low-end and old systems may not. Try updating your drivers and operating system if you run into an error.

Notes about the development

My main goal with this game was simply to make a 3D game with as many bells and whistles I could make within a month, given that I wrote the engine from scratch in Rust. I had written the renderer during the year before the course, but otherwise, all the code, maps, textures, models and animations were made during the course. I also fixed many bugs, improved compatibility, and added features to the renderer during the course, so it was a good way to dogfood it more than I had previously done.

I used Trenchbroom as a level editor (it produces .map files, and making colliders and meshes out of them took a good chunk of development time), Blender for models, animations and UI layout, Bitwig Studio for cutting up sound effects, and Krita for the textures.

Controls

  • WASD to move, hold Left Shift to run.
  • Space bar to jump.
  • Move the mouse to look around.
  • Hold left-click to draw the bow, release to let the arrow loose.
  • Number keys 1 and 2 to switch between the arrows (if you've found them in the game).
  • Escape to open the menu.
  • Left Alt to release the mouse from the window, click the window again to re-capture.

Source

All the source code and assets for the game can be found in the game's Git repository.