Hikou no mizu
About Hikou no mizu
Hikou no mizu (ハイクの水) is a free,
libre and open source platform-based fighting game.
It runs on many operating systems including GNU/Linux, *BSD, Haiku, macOS and Windows.
The characters use natural powers such as water, lightning, or fire!
News
Hikou no mizu 1.0.1
Hikou no mizu 1.0.1 was just released! It introduced internationalization support and localizations for four languages: English, Spanish, French and Norwegian.
As always, you can download the new version, and check out the community page :)
19/10/2023 - 18:20
Hikou no mizu 1.0
After almost a year and a half of development, I am happy to announce the release of Hikou no mizu 1.0,
by far the most ambitious update ever on the project!
With 30106 added and 10174 removed lines of code, spanning 445 files
(for reference, version 0.9.2 was 19191 lines of code in total),
Hikou no mizu 1.0 is a massive update:
It introduces a client/server networked multiplayer mode, a round handling system, gameplay updates, and much more!
The game data has also received a lot of attention with reworked audio,
updated and new arenas, and the addition of a new playable character: Hana!
So, let's go on to a more detailed presentation of some of the many updates it boasts!
As usual, you can download or check out screenshots
of the game.
Networked mode
The key new feature of Hikou no mizu 1.0!
A networked multiplayer mode is now supported by the game, with a server hikounomizud
that can handle games with up to 255 players and more spectators from all around the planet.
On the client side, a new Multiplayer main menu entry takes
the player to a lobby where they can select their username, played character,
and the address of a server to connect to.
The default address is game.hikounomizu.org:16026 which
runs a hikounomizu server on a Raspberry Pi 4.
Several servers are hosted there, as listed in the community page!
You can replace it to point at your own servers though,
or an address in your local network for LANs.
Upon joining a server, the player will be spawned on the server arena (or as a spectator if the playing slots are full).
This version adds support for more flexible fight scenes. In particular players may be added or removed mid-game.
This means you can wander around in the arena until more players join and casually fight them (you will then be immortal) until the required
number of players for the server has been reached.
When enough players are connected, the server starts a 'formal' game of one or several rounds.
When a player wins, the arena is optionally changed and a new game is queued!
The server hikounomizud can be configured to tweak its behavior, as described in the updated
README.
The net code is implemented using the ENet library.
Content
Meet Hana! She's a new playable character,
fighting with the fire element and a mid-range play style.
The complete set of all 17 required animations as well as their associated sound effects was added to the game.
The Evig Sol arena was reworked to make a better use of the platform system of Hikou no mizu:
It now features 11 blocks which may climbed on and interacted with while playing.
Similarly, Traezh is a new arena designed for large scale games, with many players.
It features a climbeable rock hill in a far out camera view.
Gameplay
The major gameplay update in 1.0 is the introduction of a round system.
Players used to be thrown right into a fight that would start immediately after arena selection and end
as soon as a player was the last one standing. To restart a game, the fight data had to be re-loaded and you had to
manually keep track of scores to simulate playing multiple rounds.
A game is now divided into one or several rounds, and the player winning the game
is the first player to win the required amount of rounds.
A round starts by a ready... fight! sequence, and ends by a short pause showing the round winner.
This new system makes it easy to play 'best of three/five/...' games, and allows a neat organization of fights in networked mode
Other gameplay updates include support for draw games
(players may mutually hit within a short time window) and
tweaked player characteristics and attacks for increased balance
Graphics and GUI
The graphics of the interface in general were reworked to
be more consistent and look better.
Display coordinates were made relative so that the game stretches nicely to very high (and very low) resolutions.
An optional camera shake effect on player hit was added, and an option to play
up to 6 players in local games was added (previously 5).
Note that this only applies to
local games as up to 255 players can theoretically join a networked game.
Audio
A good amount of additions and improvements has been pushed on the audio side of things.
Ambient sound effects were added that are specific to each arena.
The volume of ambient sounds can be configured independently from music or other sound effects.
Sounds effects were completed for each character, and their volume harmonized.
A whoosh sound effect was added for flying shurikens, as well as elemental sound effects for
attacks involving water, lighting or fire.
Music were updated and their volume also harmonized and lowered.
The list of all new ambient sounds, musics and their authors can be found in the
datasrc/COPYING file!
Under the hood
The source code was restructured in other to complete uncouple the core mechanics of the game
with the graphics and audio systems.
This allows the server to run games completely in memory, without graphics or audio dependencies.
Joystick default bindings were improved as game controllers are now detected and a default binding is
configured on their first detection
Many other changes and fixes include the ability to restart local games without reloading the data,
more robust resource loaders...
For GNU/Linux users, note that Hikou no mizu now follows
the XDG base directory specification to place its configuration files.
It will now look for $XDG_CONFIG_HOME or ~/.config/hikounomizu by default,
rather than ~/.hikounomizu.
Bug fixes
- Fixed AI cheating in versus mode (able to hit backwards)
- Fixed the ability of AI to run into their own shurikens :)
- Fixed the ability to jump higher by calling jump() multiple times in a row
- Added a physics epsilon to avoid collision errors due to float rounding errors
- Especially relevant in networked mode which transmits floats at a lower precision
- Fixed a bug that could allow selecting only one player for a local game
- Fixed a bug that would have done weird things when loading a malformed ogg file
- Generally improved error checking and robustness of resources loading
- Use ov_fopen to open sound files rather than ov_open that causes permission issues on some platforms
As usual, the complete list of changes can be accessed on the download page.
You can report any bug you encounter on the issue tracker
and feel free to join and chat on @hikounomizu@floss.social!
Packages for the various operating systems supported by Hikou no mizu are being built and updated at the moment...
Until then, hope to see you around in an online Hikou no mizu game!
31/08/2023 - 20:30
Community platforms
This web page lacks interactivity, and it is not optimal to share progress updates more often, as they happen.
Which is a shame!
To make up for it, a mastodon account was just recently opened at
@hikounomizu@floss.social
.
It will be used as a micro-blogging platform to share development news
and aims to interact with Hikou no mizu players and the rest of the FLOSS community!
Along with it, a community page was added to share more information on how to check it out.
It will be regularly updated with any future platform that is set up to interact with the community.
There has been massive progress on the networked multiplayer mode since the last release in May, maybe then it can be used to
schedule networked games :)
See you there!
28/11/2022 - 18:08
Hikou no mizu 0.9.2 update
Hello there!
Hikou no mizu 0.9.2 was released yesterday evening. It includes new features on the display side,
changes under the hood to modernize the source code, and bug fixes!
New features
More configuration options are now available and accessible from the option screen of the game.
Specifically, vertical synchronization can be enabled to avoid screen tearing, or disabled, and then an
option to cap the framerate is available.
An optimization pass has been added to the data building script. It significantly reduces the
size of the spritesheets generated for character animations without noticeable quality loss, using
pngquant.
As a consequence, both the loading times for fight scenes and the size of the game archive are
dramatically reduced in Hikou no mizu 0.9.2. The last fun feature to report is the support of colors
and emphasis in the command line output :)
Under the hood
A lot of work has been done under the hood on this release, as the source code has been
migrated from the C++98 to the C++11 standard. Besides modernizing the source code, this brought
extra benefits like switching to the C++11 <thread> library, which should be more portable than
the previous direct pthread implementation (especially on Windows). Another thing is the C++11 random
number generators, which should be less biased than the previous implementation.
In parallel, the xml parsing and writing code has been ported from TinyXML1 to
pugixml, which is significantly faster and more memory-efficient.
The other main reason for porting is that as TinyXML1 is getting old and unmaintained, pugixml is
more future-proof. In the process of porting the xml parsing code, the code has also been
improved to be more robust to malformed xml files!
Bug fixes
The main bug fix addresses a glitch on text rendering which was occuring on some platforms,
with some characters being rendered blurry and somewhat sliced.
Another fix solved an issue preventing joystick key bindings to be saved and loaded accurately.
As usual, you can find the full changelog and download links in the download section.
Next versions will focus on gameplay elements and networked gaming :)
Have fun!
Duncan
08/05/2022 - 18:05
Hikou no mizu 0.9 is out!
Hi there,
After a bit more than a year of development, Hikou no mizu 0.9 is released today!
It is a major update in four key aspects of the game.
Audio & Sound
Much work has been dedicated to make the audio
experience of the game more enjoyable and realistic.
In the past release, audio playback was hardcoded for each player action.
Every time a player would perform a kick attack, the corresponding sound would be played.
Similarly, moving would trigger a looping playback of a single footstep sound.
It lacked flexibility, as well as scalability to include more sound effects.
In Hikou no mizu 0.9, a sound effect description system was introduced.
The available sound effects can be listed in a configuration file, and directly
referred to in the description of a character's attacks and animations.
As such, multiple sounds may be triggered at precise timesteps of any animation,
without recompiling the game. This sound effect system is now used to support new audio content,
as listed below. What is more, to increase realism, sound effects are played with a
random variation in pitch, which avoids repeating exactly the same sound several times.
- Ground hit effects, after a jump or fall.
- Air friction effects, when a character attacks.
- Weapon hit effects, when a throwable weapon hits a target.
- Footstep effects which depend on the ground type.
Graphics
As a key improvement of the graphical quality of Hikou no mizu 0.9,
character animations have been regenerated with an increased resolution.
In turn, the game now supports a native resolution of 1080p without upscaling,
with the exception of the "Dōjō" arena (which has an increased level of zoom
adapted for versus gameplay). Under the hood, the re-generation of framesets
from source vectorized animation files has been further automated to be able to
generate framesets at an arbitrary scale. The size and layout of each
frameset is then recomputed at build time.
Other graphical improvements for Hikou no mizu 0.9 include:
- The ability to set display modes more flexibly (including in windowed mode).
- The dynamic adaptation of the UI layout to the display mode.
- A redrawn Takino default punch animation.
- Smoothened movements of the dynamic fight scene camera.
Gameplay
Hikou no mizu 0.9 marks a progress in the gameplay of fight scenes.
Three key new features have been added:
- A jump state for characters, with default, punch, kick, and hit animations.
It replaces the former behavior in which players were running in mid air :)
- A new "Versus" game mode, designed for 1v1 fights. In a versus fight,
the two players are always facing each other, and the speed of backwards move
is reduced.
- Specific camera zoom levels can be defined per arena. This allows to give
a different feel to the fight scenes of various arenas. For example, the "Dōjō" arena
has a high level of zoom which is adapted to versus fights.
User Interface & Options
The options menu has been reorganized to separate general parameters and key
bindings, which have been moved in another tab. It freed space in the general
parameters tab, in which sliders to independently control the volume of music and sound effects
were added. Other minor changes include:
- The removal of the "apply" button in the options,
as the changes are directly saved.
- Pressing the escape key in the main menu resets the menu.
The complete changelog as well as installation instructions are available
in the download page!
Specifically, Hikou no mizu is now available as a
flatpak package,
to ease its installation on most GNU/Linux distributions.
An Archlinux package
is also available on the AUR, and work is being
done to publish an Haiku package.
Alternatively, the project can still be compiled from source on
supported operating systems!
I hope you enjoy the update,
Take care,
Duncan
17/01/2022 - 15:50
Hikou no mizu 0.8.91, published in the AUR!
Hi!
A new development version, 0.8.91 is out. You can check it out in the download page!
Also, Hikou no mizu has been packaged for archlinux-based linux distributions and
published in the AUR!
If you are using, e.g., Archlinux or Manjaro, you can easily install it using a command such as:
# yay -S hikounomizu
Take care,
Duncan
08/08/2020 - 17:00
Hikou no mizu 0.8.9!
Hello there,
Hikou no mizu 0.8.9 is out! A lot of work has been done since version 0.6.2, further detailed in the changelog below.
See more of it in the screenshots and download sections!
- Migration to SDL2 (benefits include joysticks hot-plug support)
- New and improved characters selection menu (with graphics and preview)
- New and improved arena selection menu (with graphics and preview)
- Key binders added
- Joysticks support
- Takino animations drawing completed
- Added four arenas: Konomachi, Longyear, Ísui, and Järvi
- New musics: VHSailing Rally by Riverwave and Hai by Insan3Lik3
- Dynamic fight camera adapting to the position of players in the arena
- Improved fight interface, character icons added
- Hit-able platforms
- Better text rendering (kerning support)
- utf8 text printing
- Various gameplay adjustments
- Switch to the CMake building system
- Haiku support!
Take care,
Duncan
19/04/2020 - 16:34
Hikou no mizu 0.6.2
Hey!
Shortly after Hikou no mizu 0.6.1, here is Hikou no mizu 0.6.2, featuring graphical key bindings!
See the download page to download it!
Enjoy!
20/02/2016 - 19:15
Hikou no mizu 0.6.1
Hi there!
Shortly after Hikou no mizu 0.6, here is Hikou no mizu 0.6.1, featuring a functional AI.
The game is now playable alone! ;)
See the download page to download it!
Enjoy!
03/02/2016 - 15:15
Hikou no mizu 0.6 released!
Hey,
After some years without a news (due to time-demanding studies), I am happy to announce the release of Hikou no mizu 0.6!
See the download page to download it!
Changelog:
- Threaded Music handling
- Threaded Playlist handling (+ graphics notifiers)
- Menu playlist with epopsan's song (thanks to him)
- More fighting sounds
- Support for looping sounds: repeating step sounds
- New configurations items for sound & music volumes.
- Coherent GUI Art guidelines in options / menu screens...
- Structured GUI: Sound / image on focus
- Support for crouched characters / kick animations.
- Support for hit animations.
- Hikou: default kick, moving default & punch & kick, crouched default & punch & kick,
default hit, crouched hit.
- New Takino: default.
- Notification on fight-ends: winner, choice to replay or exit to main menu
- Debug mode: red squares on hits
- Prettier screens
TO-DO:
utf8 characters management?
AI
Jump animations
... :)
Enjoy!
30/01/2016 - 15:02