Inferis

About

Inferis is an arena FPS built on the LÖVE (aka Love2D) framework in the vein of classic 2.5D FPS games from the 90s. It is a side spin-off of a larger FPS/ARPG project that will expand the engine further.

Scope

Inferis has a much tighter scope than its parent project and is designed as:

  • Multiplayer only.
  • Player hosted LAN/internet games with a server list for finding games.
  • Different game modes (FFA, CTF and dual are planned).
  • Bundled map editor.

Website

No website or social media stuff yet.

Media

Less out of date videos!


Sound test (music is not mine, Hexen textures are placeholders).


Early map editor.

Major Progress

2018

  • Separate, basic map editor.
  • Room over room support (with some limitations).
  • Improved depth fog.
  • Improved geometry mesh construction from map data.
  • Rendering improvements with fewer draw calls and less CPU use.
  • Round ending and restarting based off server settings.
  • Leaderboard with scores, names and ping.
  • First pass sound effects.
  • Basic particle system with simplified, optional geometry collision.
  • Much smoother networked clients.
  • Collision bug-fixes and improvements.
  • Feb 2nd demo day and feedback gathering.
  • Type-checking and validation for client packets.
  • Chat QOL improvements.
  • Performance tests on other hardware: getting around 150 FPS on a 2011 i5-2467M (1.6GHz) laptop with Intel HD 3000.
  • Initial server-client tests.
  • Improved mouse capture when changing resolutions.
  • Chat system.
  • Saving and loading settings.
  • Swapped to using scancodes for keyboard input to ensure a reasonable experience for foreign layouts.
  • Menu styling and improved QOL for text entry.
  • Menu system including text entry to fields, changeable options and navigation.
  • Large re-arrangement of code in preparation for multiplayer and addition of Game class which holds the instances for player, level and server/client. The plan is for all players to have a local level that they transform for rendering with the host broadcasting changes from theirs untransformed.
  • Aspect ratio support (4:3, 8:5 and 16:9 currently).
  • Sectors now remove redundant vertices from their surface meshes.
  • Standardised pitch and mouse movement to be more consistent across resolutions and window scales.
  • Hitscan weapon that takes into account player's pitch.
  • Entities bordering between sectors are now drawn in those neighbouring sectors and masked if they should've been occluded by a wall.
  • Overhauled collision system: works better with multiple entity collisions, improved top/bottom wall segment collisions, player interpolates up steps rather than instant movement, improved logic for cases like hanging over edges and more.
  • Exposed more graphics settings like mipmap levels, anisotropic filtering, etc.
  • Create new test map (painfully by hand).
  • Support for darkening vertices colours based on distance from player.
  • Changed walls so that they're also drawn via meshes and assembled into place on level load.
  • Overhauled rendering system to a sector based queue system with portals. Starting with the player's current sector, walls are (attempted to be) drawn, if a wall is a portal that portal's opposite side sector is added to the queue. Surfaces and entities are added to the render table before walls, then the render table is walked backwards during draw loop. Struck outdated renderer lines out. BSP tree is no longer used at all in current system.
  • (Lots of bug fixes and small improvements that aren't included for brevity's sake.)
  • (Removed outdated 2017 progress which focused on larger project features.)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License