Hikou no mizu

About Hikou no mizu

Preview screenshot

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!

Note

The project is under active development, you can download the latest binaries or grab the source code from git.

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

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 Mastodon logo @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.

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:

Gameplay

Hikou no mizu 0.9 marks a progress in the gameplay of fight scenes. Three key new features have been added:

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 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!

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:

TO-DO:
utf8 characters management?
AI
Jump animations
... :)

Enjoy!


30/01/2016 - 15:02