Alpha 0.1.1.4
Greetings bored mortals. It's been 4 months since the last update but I haven't slacked off !
On one hand we get improved UI and HUD, multichannel sounds, more important stamina effects and parry animations.
On the other hand the game became much heavier due to the Wav file conversion, as well as loosing a bit of audio quality from going into mono instead of stereo.
Players would tend to read more easily game texts thanks to borderization. However if they expected new animations it's on the menu !
-UI
☼ Increased black screen transition speed by 50% ; or from 12.8 to 19.6 per frame
☼ The main menu now display the description of the selected item at the bottom of the screen.
☼ The selected item is zoomed dynamically in the main menu
☼ Combat texts are also bordered for better readability on any background color
-Versus AI
☼ The class selection screen got a bit reworked : the commands are now displayed in the middle of the screen as well as making the logic easier to code
☼ The players and their displayed data are swapped accordingly of the side setting cited previously
-Settings
☼ Landing effects are now reduced as intended with the corresponding setting
☼ Updated Options, Keyboard and Controller menu
► Centered further the list on bigger screen
► Bigger action buttons, less on smaller screens
► Player Left/Right changed into Player1/2
► Added a button to swap Player 1 and 2 commands
☼ The F1-12 keys are now available in controls settings
☼ Land animations are not displayed if the wind mode is set to active only
☼ Resetting do default in settings, keyboard and controller needs now a confirm to avoid misclicks
Player side
It is now possible to change which side is the player 1 in the settings.
The default becomes left (was right before) as some player feedbacked.
The logic was it used the main hand, but most of western game have the main player at left.
When debug is enabled, they can be swapped by pressing S
while Ctrl+Maj.
Some complained that traditionnaly the player 1 is on the left ; the H2H logic is to take the main hand of the player, hence right.
Now they get the choice while the default becomes left.
Settings file
☼ Keyboard settings can be set as explicit strings
► They are not case sensitive
► They must be in english, no matter the selected language
☼ Keyboard settings can still understand the previous number system, so no compatibility issues with the previous version
☼ They are saved as string instead of integers
-Screenshot
When in fullscreen, the clipboard image is now of the window size instead of the game resolution.
-HUD
☼ Stance name is smaller, has no separator nor default indication on screen smaller than 1600px wide
☼ Bigger screen unchanged
This makes the HUD more synthesized for smaller screen, and avoids some cases were translated name become very long
☼ The HP bar flickers in red when bellow 10% of the base HP
☼ The player class and stance name have now a black border to make them easier to read in battle.
☼ If the color is too dark, it will be instead a thinner white border.
☼ The text border is more transparent, and the text color flips to white when too dark for readability.
☼ Damage shake is tempered : accumulating more than 50 frames of remaining visual feedback halves further increases and doubles the decay of it
Long combo strings won't longer provoke a very long HUD shake, making the gameplay going back to business quicker
-Text
☼ The game can now take in account manual line returns when displaying text blocs
-Localization
¿¡
characters are now supported
-Demo screen
☼ Added
☼ When idle for 120 seconds the game will play hard level AI fights on random terrains with exclusive random classes
☼ Pressing any key (keyboard and joystick) gets out of the demo screen (mouse cannot do it yet)
☼ Cannot trigger a demo screen while in normal combat, even paused
☼ Each rematch select again random classes and terrain
☼ Doesn't show game time nor round count
-AI
☼ Hard AI will now dodge instead of jumping to avoid heavy attacks
☼ Longer an AI doesn't attack, higher the chances for attacking sooner ; only affect the very next attack
-Animation
☼ For clarity and further changelogs, an animation image is one of the key frames, represented by a single sprite file ; an animation frame is the rhythm which everything follows up. An image as a duration in frames. This erase part of the confusion between frame and animation frame.
-Combat
☼ Swish sounds volume reduced by 25% (after talking with @littlekitykat)
They were a bit too present right now in the audio space, so they are now leaving more depth to the actual impact & explosion sounds
This is a change directly in the game data, not in the engine. If you want to add swish sounds in your own mods remember to reduce their overall volume manually.
☼ When an animation is both a combo ending and has a shortcut, the player can follow up with a new combo
☼ Parry animations added for every of the 5 existing classes
☼ HP regen reload time reduced from 200 - 20 per Stamina frames to 50 - 5 per Stamina
☼ If the stamina bar is not depleted, the guard regens 50% faster but consume 1 stamina bar point per 10 regenerated guard
☼ Starting a heavy attack consume 2 stamina bar point
► Cannot go negative
► Even if depleted the heavy attack is launched the same way
☼ Completing a combo successfully instantly give stamina bar points
► Take the number of attacks in the combo -1
► +1 per Neutral
► +2 per Side/Back/Up/down
► Multiply by 0.25, rounded down
► Cannot exceed the stamina bar
► For example doing Neutral - Neutral - Neutral - Side gives (4-1 + 3x1 + 1x2) x 0.25 = 2 stamina bar points
Combat has been revamped and expanded. Stamina is now more important, as well as finishing complex combos. Spamming heavy attacks tires more the hand, which makes it easier to break guard and KO.
-Music and sounds
☼ Framework completely remade, thanks to Nemerod's DSP !
☼ They can now be multichannel (up to 256 channels !) and no longer provoke memory leaks
☼ They are all converted from various types (mainly ogg) into 16 bit 44kHz unsigned Wav, increasing substantially the game size (by about 50Mo...)
☼ Sounds are converted into mono to save space
☼ While all sounds are still loaded at game start, music are loaded when necessary
We are sacrificing a lot of file storage space into stability. Compression is planned but not right now. Load on demand / Load everything for sounds would arrive however sooner
-Background
☼ Gain data fields for victory and defeat jingles
☼ An absent music or jingle won't play any if called as intended
☼ Can be imported/exported in the json file
☼ Music and defeat data in the json file are referenced by music ID
-Chopstick
Side - Side [Side]
☼ Combo shortcut set at image 5 frame 4
Neutral
☼ Can move at image 4 frame 5
Back [Heavy]
☼ Image duration reduced from 5 5 4 4 5 10 to 4 4 3 3 4 9 (total reduced from 33 to 27)
☼ Image 4 movement increased from 30 37 into 0 37
☼ Image 5 movement increased from 0 20 into -25 20
This move will get more risk and more threat, overall more juice
-Unarmed
Neutral - Neutral Neutral - Side
☼ First Neutral image 3/4/5 push increased from 0/0/0 to -7/-7/-5
☼ Second Neutral image 2/3 push increased from 0/0 to -10 5 / -5 5
☼ Third Neutral image 2 push increased from 0 to -5 5
☼ Side image 2/3/4 push delta increased from 0/0/0 to -10/-10/-5
This eases even more the combo by pushing the target forward
Side
☼ Increased push from 0 0 to -10 0 on the first hit and -15 0 on the second
-Ballpen
☼ Light and medium cut sounds updated
Down
☼ Image 3 push increased from 0 0 to -30 0
☼ Image 3 movement increased from -50 50 to -65 50
-Gluestick
Neutral - [Up]
☼ Shake reduced per shot from 5 to 3
☼ Length of image 3 increased from 5 to 8
Heavy - Heavy - [Side]
☼ Shake per shot set to 3 as intended
☼ Length of image 3 increased from 5 to 8
-Hexkey
☼ Updated the sound where it hits the ground with a better metallic effect
☼ Its AI will spam much less frequently air attack if the target is on the ground
Neutral Neutral [Neutral]
☼ Movement increased from 0/0/-100 to -10/-25/100
This will ease a bit the hitting chances of the spamable combo, as the hexkey is meant to have a stationary threat but it was too stationary
Back [Neutral Down Up]
Added
Up Down [Down]
Added
-Configuration
☼ Decimal blackScreenVelocity by default 19.6, between 1 and 128 at game start.
Defines the opacity per frame which the black screen transitions
☼ Integer FIGHT_DEMO_DELAY, by default 120, greater or equals to 30 at gamestart. Sets the idle time needed to trigger a demo screen.
Guard & Stamina
☼ Decimal player.PLAYER_GUARD_STAMINA_CEIL, by default 10, minimum 1 at game start. Defines how much regenerated guard is needed to consume one stamina bar point.
☼ Decimal player.PLAYER_GUARD_STAMINA_BONUS, by default 2, minimum 0 at game start. Multiplies the guard regen rate by this value if the stamina bar is not depleted
⚠️ values lower to 1 makes the guard regenerating slower
☼ Decimal player.PLAYER_COMBO_SCORE_ANY, by default 1. Sets the score per combo attack after the first.
☼ Decimal player.PLAYER_COMBO_SCORE_NEUTRAL/SIDE/BACK/UP/DOWN/HEAVY, by default 1/2/2/2/2/0. Sets the score per combo attack for each specific type.
☼ Decimal player.PLAYER_COMBO_SCORE_FACTOR, by default 0.25, greater or equal to 0 at game start. Multiplies the final combo score which rounded down gives stamina bar points.
☼ Decimal player.PLAYERSTAMINA\/SIDE/BACK/UP/DOWN/HEAVY/JUMP_COST, by default 0/0/0/0/0/2/0. Sets the cost in stamina bar when the player initiate one of these action
► For now Jump doesn't cost stamina but users may change it like they want
⚠️ Putting negative values to the above works too, but alters quite the gameplay intent !
☼ debugCommands
► Each debug commands are referenced with a string and a list of keys
► Key can be independently names or IDs
► If there's only one key, it is a single value
► The last key triggers once the debug ; for example changing player 2 stance you have to keep pressing ctrl and shift but the 4 key is triggered when just pressed
► You can define multiple shortcuts for the same debug command if you put different elements with the same name ; for example you can put a second shortcut for screenshots with just F12.
► The available flag makes the command able to de done even if debug is disabled
► Most commands are hard coded to only work in a started fight
Music and sound
☼ Music are now listed as separate ids in the music array in the json data file instead of being in each background data
☼ Each sound and music have a unique ID referenced so the indexation won't be messed up when adding, moving or removing a sound
☼ Music and sound IDs are separate, i.e. music 1 and sound 1 are different data
☼ UI sounds are now imported/exported in the specific soundUI field so they can be replaced without breaking the indexation of other sounds
☼ Integer UISound.SOUND_STEREO_DEFAULT/SMALL/NONE_WIDTH, by default 60/30/0, between 0 (included) and 100 (included). Defines the % of stereo spread for each parameters in settings.
☼ Integer UISound.SOUND_VARIATON_PERCENT, by default 20, greater or equal to 0 at gamestart. Defines the % of the random sound pitch variation downward and upward. For example at 20 it will pick a pitch between 80% and 120%.
☼ Integer UISound.SOUND_VARIATION_ITERATION, by default 3, greater or equal to 1 at gamestart. Defines the number of sound pitch iterations done to temper down to 100%. For example at 3 it will do 3 variations and make the average of this
Background
☼ They are now saved and loaded in the JSON file
☼ It is possible to add new terrains with the following parameters
► String path, you must put contiguous number starting from 1 to make it work, as well as the same image height ; only supports PNG.
► Integer or String musicId, if not valid there's no music played
► Integer or String introMusicId, if not valid there's no music played at start
► Integer or String victoryMusicId, if not valid there's no music played at the end
► Integer or String defeatMusicId, if not valid there's no music played at the end if the player is defeated against AI
► Integer leftLimit, by default 0. It defines the left margin of the terrain
► Integer height, by default 0. It defines the vertical shift of the displayed images
► Integer rightLimit, by default the total terrain size. It defines the right margin of the terrain starting from 0
► Integer white, by default 0. If not 0 the terrain is counted as white, thus the wind effects are more colored
► Integer training, by default 0. If not 0 the terrain is counted as a 50px grid ignoring images
☼ The terrain size is automatically computed when loading the game, based on the image width
☼ The total playable terrain length is rightLimit - leftLimit.
☼ It is advised to save the background with images of power of two size, even if there's only one image
☼ There's only one "line" display of images
-Behind the scenes
☼ Big numbers for timer migrated into the icons.png image
☼ Music names standardized
☼ Game start counter sound files moved from sound to music as intended
☼ The char °
can be displayed
☼ Renamed player functions and variables for a more consistent code
☼ It is not possible to display text with borders
☼ Big border is now available too, other types of border can be added with different thickness and euclidean thickness
☼ Max hardcoded attacks in combo increased from 5 to 10
☼ Previously the plastic cut sounds used wood cut as a placeholder. Now only the plastic cut block and cut heavy use wood cut as a placeholder
☼ Updated wood cut light and wood cut medium sounds
☼ The replaced sounds above are instead added as a second layer called cut light and cut medium
-Bug fixes
☼ [0.1.?] Difficulty, option and keyboard menu have no glowing animation Fixed.
☼ [0.1.?] When Player 1 is damaged in versus bot, the screen doesn't show red border feedback Fixed.
☼ [0.1.0.?] Enabling, then disabling, then enabling AI with debug commands doesn't reactivate the AI Fixed.
☼ [0.1.0.?] Attack delay settings was never reset to default (relative mode) when resetting all to default Fixed.
☼ [0.1.0.?] Default controls for player 2 if deleting the settings files are set to older defaults (YGHJ - QWE) Fixed.
☼ [0.1.0.?] Red and Green Ballpen AI special behaviors swapped Fixed.
☼ [0.1.0.?] When validating AI class selection, canceling it after goes back to player but cannot change AI after Fixed. The steps are now correctly Player Selection <-> AI selection <-> Start the game.
☼ [0.1.0.?] When the class name is too big in small screen it goes over the other name Partially fixed, works on 1280px large screens especially for longer translated names
☼ [0.1.0.?] AI attack down command triggers attack up instead Fixed.
☼ [0.1.0.?] The game may crash when going back from AI difficulty selection to class selection while having mirrored selection Fixed.
☼ [0.1.0.?] Parry biding key displayed the dash left instead in the control menu Fixed, thanks @Yaume !.
☼ [0.1.0.9] Guard regen was based on 50fps instead of being dynamic, making it faster than expected Fixed.
☼ [0.1.?] Bot in selection menu display random stats even if the player have not yet selected Fixed.
☼ [0.1.?] Player in VS AI selection menu in mirror display the bot even if the player have not yet selected Fixed.
☼ [0.1.1] When a player is healed, the pending damage (yellow bar) is not removed Fixed.
☼ [0.1.1.?] When window is not focused, the last pressed keys aren't counted as released Fixed
☼ [0.1.1.2] In wind mode active only, first time wind effects display anyway Fixed.
☼ [0.1.1.3] In small screen and some localization, texts can get out of the screen in the tutorial Most text are displayed in block instead of lines, thus can no longer get out of the screen in some translations.However if the text is really long it may go over the next text bellow
☼ [0.1.1.3] Missing translation for an existing localized string return the original english string without argument replacement Fixed
☼ [0.1.1.3] When the agility is greater or equal to 6 the received attacks always counts as parried Fixed. They count as parry if the value is strictly positive or when the player push the parry command in the case of the margin is inferior or equal to 0.
☼ [0.1.1.3] Round duration settings was never reset to default (120s) when resetting all to default Fixed
-Known issues
Do not take them literally, as some are rumors or inconsistent between players and setups.
☼ [0.1.0.?] AI tends to not follow combos when the player is in the air
☼ [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 a controller in the fight intro
☼ [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)
Files
Get Hand2Hand Project
Hand2Hand Project
Hand fighting game using daily life objects as weapons.
Status | In development |
Author | FlameofChange |
Genre | Fighting |
Tags | desktop, hand, Singleplayer |
Languages | English |
More posts
- Alpha 0.1.1.512 days ago
- Alpha 0.1.1.3Nov 22, 2024
- Alpha 0.1.1.2Oct 22, 2024
- Alpha 0.1.1.1Sep 18, 2024
- Alpha 0.1.1Aug 28, 2024
- Pre-Alpha 0.1.0.9Jul 25, 2024
- Pre-alpha 0.1.0.8Jun 11, 2024
- Pre-alpha 0.1.0.7aApr 30, 2024
- Pre-alpha 0.1.0.7Apr 20, 2024
Leave a comment
Log in with itch.io to leave a comment.