Work In Progress. This is an early in-development version of the game.

Last Updated: April 17th, 2024


Controls (by control scheme):

  • Keyboard Player 1:
    • Move: WASD
    • Attack A: Z
    • Attack B: X
    • Pause: Escape
  • Keyboard Player 2:
    • Move: Arrow keys
    • Attack A: U
    • Attack B: I
    • Pause: Enter
  • Gamepad:
    • Move: Left thumbstick / Dpad
    • Attack A: X / Square
    • Attack B: Y / Triangle
    • Pause: Start


(Rebinding controls to be implemented at a later date.)


Known issues:

  • The Pause menu displays four buttons, but the only ones that are implemented are [Unpause] and [Quit].
  • The Pause menu can only be controlled by the "left side" (the control scheme used to move to the left in the Main Menu device select popup).
  • The Match End menu can only be controlled by the first connected player (the control scheme used to advance from the Title Screen to the Main Menu).



HoloFight is a fanmade simplified 2D fighting game featuring characters (currently just Ninomae Ina'nis) from HoloMyth, from the HoloEN branch, from Hololive (owned by COVER).

Still very much in development, but the basic functionality is making its way into there. Basic systems such as frame data editors, and such are in there.

In this current (fourth) build there isn't much to see. Two players, both playing as Ina. Basic movement. Jumping. Wall jumping. Two attacks on the ground, and two attacks in the air.

Combat currently feels very 'slippery' and I have some ideas to combat that - but I'll also need to work on other important quality-of-life features, such as volume controls and button rebinding.



Development notes:

Behind the scenes is a lot more work I'm proud of. I have a working Frame Data Editor as a separate Scene in my Unity project! It can save and load frame data to and from the JSON files I store them in, and while editing frame data you can visually see the hitboxes in relation to the sprite for that character's animation.

Additionally, this project started as a 'basic project to later use GGPO with to implement rollback netcode'. Right now that's wildly out of scope and not an immediate goal, but that still impacted how I designed the code-base.

Notably, the backend / game logic layer (game state, player positions, stats, physics, etc.) and the frontend presentation layer (showing player animations on screen, retrieving player inputs from the keyboard) are completely separated! None of the game logic actually needs Unity to run. Technically, you could just 'run' a match in C# code if you put together a script to handle that, and just feed it whatever inputs you desire for each frame. In theory, this'd be an easy game to simulate and train a bot in with Machine Learning!

Grappling with raw C# game logic and interfacing it with Unity took up the majority of my development time - especially getting animations to display the correct frames based on frame data - but I'm proud of what I managed to get working. Even if it's ugly prototype code.

Link to this game's public GitHub repo: https://github.com/Omergosh/HoloFight

My approaches are highly inefficient here, and I've learned my lessons for the next fighting game I'm making. Refactoring the codebase for this project is unlikely, but I'll keep coming back every now and then to nudge it towards completion.


Future plans (in no particular order):

  • Health bars, round timer, round start intro/countdown
  • Menus
    • Switching to the new Unity Input System
    • Character select screen
    • Options menu (adjust volume & controls)
    • Rebindable controls
  • UI
  • Audio
    • Royalty-free BGM, as is vtuber fandom tradition
    • SFX
  • Three grounded attacks for each character, and three aerial versions of those attacks. (2/3, 2/3)
  • Finish Ina's moveset. (realistic, short-term)
  • Remaining four members of HoloMyth as playable characters. (ambitious, long-term)


Credits:

  • Newtonsoft's Json.NET (https://www.newtonsoft.com/json): I used this package to read/write frame data to and from JSON files! Super helpful for making the Frame Data Editor functional.
  • Noiseless World (https://noiselessworld.net/en): Instrumental band music! Although they're kind enough to allow free use of their music in most cases, their terms don't allow for redistribution - so if you want the files for their tracks, go to their SoundCloud, YouTube, Spotify, website, etc.
  • Kenney Assets (a font?)
  • [Various fonts that I'm still collecting the credits and links for before I upload the next build]


Inspirations:


Disclaimer: This fan game is a derivative work of Cover Corporation's Hololive property. Neither this project nor I are officially affiliated with Cover. This project exists in accordance with Hololive Production's Derivative Works Guidelines (https://en.hololive.tv/terms).

Download

Download
(outdated v0.1a) HoloFight - Windows.zip 25 MB
Download
HoloFight v0.1b - WebGL (1024x576).zip 27 MB
Download
HoloFight v0.1c - WebGL (1024x576).zip 38 MB
Download
HoloFight v0.1.3 - Windows.zip 109 MB

Leave a comment

Log in with itch.io to leave a comment.