Developer postOriginal post (opens in a new tab)

Hand2Hand Alpha 0.1.2.1

Greetings bored mortals. Today I am blessing you with a more standard update consolidating the launcher and some game systems. No much content again. Thanks to Nemerod the game is less prone to be capricious for some bizarre OS and hardware.
I am also announcing two things :
☼ Hand2Hand will be presented at the Angoulême Spawn! in October 2026
☼ Hand2Hand is officially registered for the Fighting Game Steam Fest in May 2027

That means I need to crank up more content at least for the Ruler to be juicy enough. I am happy that technically the game is exiting its medieval era and it makes developing new features much easier (still by hand so at my rhythm). If I kick my ass enough a 7th class could see daylight.

Sound

☼ DSP system updated to fix some minor details, thanks to Nemerod !
☼ If your computer is too old to use the DSP systems, the game will be muted safely instead of just crashing without warning (thanks ZizouDream for bumping into that one)


Localization

☼ "partial" and "no supported" like strings can now be localized, they are also now localized for french


Hint

☼ All English hints are shifted by 1 to fix a bug

Show details

Hint 1

☼ Was missing, now readded as intended

Hint 4

Regeneration only affect the inner HP bar and only regenerates a finite amount
changed to
Regeneration only affect the inner HP bar and is limited by the the stamina bar

Hint 8

Parry and dodge is not instant going in and out, speed reduces the delay
changed to
Parrying and dodging is not instant, needing time going in and out ; speed reduces the delays

Hint 14

Heavy attacks are easy to dodge but hits very hard
changed to
Heavy attacks are easy to dodge but hit very hard, they also have a high recovery time

Hint 18

Landing effects hint the player weight
changed to
The landing effect and screen shake does hint about the player weight

Hint 19

Some attacks stuns, others dont ! Dealing damage doesn't mean stunning too ! Other attacks are meant to make the combos easier to hit
changed to
Some attacks stun, others don't ! Dealing damage doesn't mean stunning too ! Other attacks are meant to make the combos easier to hit

Hint 25

Don't hesitate to join the discord in the steam and itch.io pages !
changed to
Don't hesitate to join the discord ! The invite link is available in the steam and itch.io pages.

Hint 26

Some AI stances has specific behaviors
changed to
Class stance may also give specific behaviors when controlled by the hard (and higher) level AI

Hint 27

☼ No longer empty in english as intended ☼ Value set to
Stance badge gives special bonuses and triggers, changing the strategy on top of the statistics and available combos

Hint 28

☼ Added
The official wiki details how the game works and what are the strategies for each class.
Moding tutorials are planned in the future !

Hint 29

☼ Added
Completing a combo successfully to the end will make you refill the stamina bar.
More complex the combo, higher the reward ! Prefer quality over quantity !

Launcher

☼ Text length are now taken in account more precisely to fit the UI, even when switching language, thanks Nemerod for the trick !
☼ Window height adapts to the current tab height
☼ New tab added : Main and Controls
► Main contains all the previous elements
► Controls let the user change some controls for the players
☼ Fullscreen can be toggled
☼ Game version is now displayed in the Main tab
☼ Current Screen can now be selected, changing from which desktop the game will be launched, by default 0
☼ If the current screen value is greater or equal to the number of screens, it will reset to 0
☼ Only available at the launcher, with a button to refresh the desktops
☼ If there's only one available screen, the setting is frozen
☼ If you messed up you can still change the settings file directly with the currentScreen field ; or delete the settings file altogether
☼ A Rescan button is added to refresh the available screens
☼ Language selector length fits the content
☼ Screen resolution selector length fits the content
☼ Screen resolution shows 1280x720 and 1920x1080 as recommended
UI still not definitive. New features may appear later in developpement


Option menu

☼ Refresh rate is now updated when changing the settings dynamically. No need to restart the game any longer ! Thanks Nemerod for the snippet !

Flash intensity

☼ Added in the accessibility tab
☼ Changes the starting intensity of the spawned flash effects
☼ Does not changes its decay speed
☼ 4 different modes
► [0] None : 0x value
► [1] Low : 0.5x value
► [2] Normal : 1x value (by default)
► [3] High : 1.5x value
☼ For example, spawning a 0.7 opacity flash in a High mode will result in a 1.05 opacity flash
☼ When set to none, the behavior is the same as you knew before


Class selection versus

☼ When canceling selection, the selection animation will start at its loop index instead of the beginning
► For example the hexkey will reset to just after it stomped the ground

Animation

☼ Frames can now have flash values, making the screen briefly white when the animation reaches it
☼ This is an opacity value from 0 to 1
☼ The opacity stacks additively and can go beyond 1
☼ Decays linearly at 4 per second, for example a 1 opacity flash will fully decay in 0.25 seconds


Player

☼ Player 1 controls changed from arrow POI to WASD CVB
☼ Player 2 controls changed from WASD CVB to arrows IOP
☼ Player 1 can now jump with spacebar (on top of special+up)
☼ Player 2 can now jump with left alt (on top of special+up)
☼ Player 2 default jump button changed from left alt to M
I avoid using num pads for default buttons because some computers lacks a numpad


Combat

☼ When finishing a combo, the total length including the quickest combo shortcuts is converted into stamina bar with a 0.05 ratio per frame
☼ When finishing a combo, successive attacks with different type will give a bonus of 25% stamina bar for each attack, for example

Show details

Side - Side - Side

☼ 3 attacks = 1.5 ☼ 3 Side = 3 ☼ No attack change = no bonus (nothing changes) ☼ Gives 4 stamina bar (remember it rounds down)

Side - Side - Back

☼ 3 attacks = 1.5 ☼ 2 Side = 2 ☼ 1 Back with difference = 1.25 ☼ Gives 4 stamina bar

Side - Side - Back - Side

☼ 3 attacks = 1.5 ☼ 2 Side = 2 ☼ Back with difference = 1.25 ☼ Side with difference = 1.25 ☼ Gives 5 stamina bar

Side - Back - Up - Neutral - Side

☼ 5 attacks : 2.5 ☼ Side : 1 ☼ Back with difference = 1.25 ☼ Up with difference = 1.25 ☼ Neutral with difference = 0.625 ☼ Side with difference = 1.25 ☼ Gives 7 stamina bar

This would reward more complex and long combos compared to the spammable repetitive combos.


Gluestick

☼ All explosions have 0.25 flash
☼ All shots have 0.1 flash
☼ All gatlings have 0.05 flash


Ruler

Up

☼ Added

Up [Up]

☼ Added


Behind the scenes

Show details ☼ Replaced all / by \[/b] in all paths to avoid some rare Windows bugs In modding be sure to use anti-slashes for paths starting from now. Thanks Nemerod for the trick !

Bug fixes

Show details ☼ [0.1.1.?] French left control button name was called right control and not translated Fixed ☼ [0.1.2] Screen resolution tooltip in the launcher is not initialized right, showing the wrong localized key until language changed in the interface Fixed ☼ [0.1.2] The game screen blinks when transitionning between the first loading and the main menu at game start Fixed ☼ [0.1.1.?] Hint index is shifted, making the true first absent and the last empty Fixed ☼ [0.1.1.?] fightDemoDelay was never taken in account in the data.json file, was forced to its default 120 Fixed ☼ [0.1.1.?] Displayed FPS during slomo tends to its value multiplied by the slomo Fixed, for example 100FPS slomo would display 100FPS and not 500. ☼ [0.1.2] General and Accessibility tab name were not translated in french Fixed ☼ [0.1.2] When using the demo fight command it is impossible to exit it Fixed

Known issues

Show details ☼ [0.1] Very long combo list in class gallery may step on the class desc or even outside the bottom screen border ☼ [0.1] Controllers are taken like PS3, other types might not have the same button layout ☼ [0.1.?] Attacking when landing doesn't flip the hand towards the opponent ☼ [0.1.0.?] AI tends to not follow combos when the player is in the air ☼ [0.1.0.?] Fullscreen is not a true fullscreen to avoid a bug on Windows 11 ☼ [0.1.0.?] Taking a screenshot with shift+f won't catch parts which are out of the screen ☼ [0.1.0.5] x86 version unavailable until further notice ☼ [0.1.0.7] When a lighter hand jumps between the space between the heavier player and a wall, the push physics is incorrect for a few moments ☼ [0.1.0.7] A combo with 5 or more attacks with big icons might be cut off for very small screens ☼ [0.1.0.7] Controller models may have different inputs and even affect both players at the same time ☼ [0.1.1] Cannot pause with controller or player specific menu keys in the fight intro ☼ [0.1.1.?] Values saved in floating point in the JSON aren't exact, but doesn't change much in practice the game rhythm ☼ [0.1.1.?] Changing sound output crashes the game ☼ [0.1.1.1] Lag or picking 50FPS or below makes physics a bit less precise ☼ [0.1.1.3] Some long text strings might break a bit of the interface, overlapping other texts or even getting out of the screen; especially on translations ☼ [0.1.1.3] If there’s one plugged controller connected to Player 1, it is not possible to change it for Player 1 using the controller (use the keyboard instead) ☼ [0.1.1.6} Unplugging a controller doesn't show any popup. If it is not plugged again for a while the game may quit without warning ☼ [0.1.1.6] If one is unplugged during runtime the controller no longer works until restarting the game (temporary fix made by Nemerod) ☼ [0.1.1.6] Refresh rate is a bit unprecise ☼ [0.1.1.6] Refresh rate settings is applied only on restart ☼ [0.1.1.6] Training terrain removed due to an unknown performance issue

Mod

Show details ☼ Boolean UI2D.CLASS_DISPLAY_ADVANCE added in the data.json file, by default true. When canceling selection, the selection animation will start at the start of its loop instead of the beginning. Setting it to false will just reset to the start of the selection animation no matter where the loopstart is set (like how the alpha 0.12 and older version worked until now). ☼ Decimal PLAYER.PLAYER_COMBO_SCORE_BONUS, by default 1.25. Defines the bonus combo score when the attack is different than the previous one ; excluding the first one. ☼ Decimal PLAYER.PLAYER_COMBO_SCORE_LENGTH, by default 0.05. Increases the combo score per combo frame duration including all possible combo shortcuts ☼ Decimal UI2D.FLASH_DECAY, by default 4, minimum 1 at gamestart. Defines the flash decay per second by opacity value.

Build and release context

Steam update times within 24 hours of this post. Matching dates do not confirm which build it describes.

  • Build 24630293 · public branch

    Steam updated · First observed