Bumped to v1.3.0, changelog at https://github.com/toggins/Klawiatura/releases/tag/v1.3.0
toggins
Posts
-
Klawiatura v1.1.0 - Mario Forever with Multiplayer -
Klawiatura v1.1.0 - Mario Forever with MultiplayerBumped to v1.1.0, changelog at https://github.com/toggins/Klawiatura/releases/tag/v1.1.0
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerI'm considering Klawiatura done now, so the 1.0.0 release build is up. There are no plans for new stuff, just random bugfixes and backend updates from time to time.
-
All-Stars Mario!Looks fine to me besides the beetroot suit sprites. If anything, Mario Forever's sprites are naturally uglier since they're all just ripped through upscaled emulator screenshots and barely even cleaned up.
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerTest recording on Funny Tanks with 4 players. Average ping was 300ms and rollback frames at 10 to reduce frequent pauses.
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerEverything that has happened from October to November:
- The rewrite is now complete, 99% of the previous features are now available with some improvements:
- Players have coyote time and more responsive crouching.
- Items can be touched while sprouting from an item block.
- Added infinite lives to Kevin mode.
- Multiplayer kicks some more ass:
- 3+ player games are fully working! So is Windows/Linux crossplay!!!
- Added a note when entering Multiplayer for the first time, in case people are blindly opening up a stable/dev build.
- Raised the input prediction window so now you're able to play with fellow Argentinians without slow motion gameplay.
- Multiplayer input delay can be changed with the "Input Delay" option in Options.
- Level warping is now possible in multiplayer, no more awkward softlocks.
- Added a scoreboard for when you complete a scenario or lose all lives:

The only thing left is to figure out why most VPNs are messing up P2P connections. @nonk has been hard at work on refactoring the hell out of the backend and it shows, so hopefully the VPN issue will be resolved pretty soon.
- The rewrite is now complete, 99% of the previous features are now available with some improvements:
-
Klawiatura v1.1.0 - Mario Forever with Multiplayer@miyameon
Binds aren't reconfigurable right now, the controls are only displayed just so you know which key does what.Nobody else seems to have the resolution problem though. I pinged you on Discord so we can discuss further.Sidenote,
rewritebranch is now onmaster, sodevbuilds are back to being alive now. -
Klawiatura v1.1.0 - Mario Forever with MultiplayerStill a ways to go. And a lot has changed:
-
The source code is being completely rewritten. The entire application now runs in a single loop, no more giant switch cases, objects have been decoupled from
K_gamefor clean game code, ... ... ... -
Console window is no longer visible, you will need to launch Klawiatura through the Command Prompt to see logs.
-
Assets are no longer limited to 8-character file names.
-
@nonk added IPv6 support.
-
Lobbies are now either hosted or joined explicitly, there are no longer implicit lobby setups.
-
3+ player desyncs are FINALLY FIXED, but it will take a while for the GekkoNet dev to merge the fix for a stable update.
-
You can actually configure things for once (also a new menu system):

-
Lobbies no longer autostart, you can configure game rules on the go. -
Since the application window can be resized now, you'll get widescreen borders around the game screen:

-
Kevin is no longer a menu option. Figure out how else to summon him.
Most of the new stuff can be found GitHub on the
rewritebranch. -
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerSingleplayer footage of Hardcore World 1. All of the multiplayer features are disabled when playing alone, so restarting and going between levels is possible. There's still no level changing in multiplayer though, I'm still figuring out a stable way to do that.
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerThe bare minimum of the backend is now fully set up. Windows/Linux support is maxed out and crossplay is working. All that's left is to port the rest of the game mechanics.
There's now a basic UI for changing levels and gimmicks (and a lobby list!). It'll also boot you back there after exiting the game, but you can use the-levelcommand to skip all that and quickstart in singleplayer, useful for testing.Anyway, go forth my Funny Tanks:

Gameplay video coming soon if I could somehow lure out 3 more players for stress testing (3+ player desyncs are still there, just don't lose any packets or that happens...)
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerTo catch up on what happened since the last post:
- 32-bit builds (labelled WinXP). Crossplay between Win64 and WinXP is possible.
- @nonk rewrote the whole lobby system so it doesn't time out the 3rd player anymore. Linux support is also very close, but it was only tested using WSL.
- KlaEditor moved to its own repository. Also, it has a pre-release build. Editing objects is very cryptic for now, since you have to work with raw fixed-point numbers (
65536or0x00010000means1) or object indices from the game's code.
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerGot that level editor up and running, might have to move it to its own repository soon. The game can now read level files from it, all that's left are custom object properties.
Editor:

In-game:

Fun fact, collision boxes for objects can't go past 256x256 pixels because of static limits. That's why solid markers are placed oddly in the editor.
-
Klawiatura v1.1.0 - Mario Forever with Multiplayer@looper231 No. Just most of the active objects since those are hardcoded here. I don't think anything will be taking MFCE off of its throne anytime soon either.
-
Klawiatura v1.1.0 - Mario Forever with MultiplayerSource codes & release/dev builds:
- GAME: https://github.com/toggins/Klawiatura/releases/latest
- LEVEL EDITOR: https://github.com/toggins/KlaEditor/releases/latest
Klawiatura is an experiment written by me and @nonk that implements multiplayer using GekkoNet's rollback netcode. In layman's terms, the game uses save states to sync up the entire level with other players, so only your input is sent over the network.
Usually, this kind of networking where save states are utilized is intended for less demanding games, such as one-on-one fighting games. But since Mario Forever is simple enough, you can fit its entire game state into ~200 KB of static data...which is why I wrote Klawiatura in C. Not having to worry about performance and easily implementing save states using direct memory copies is a big plus.Current features
- Up to 8 players!
- Lobby system using NutPunch. You can enter games as a player or spectator.
- Fully playable examples of World 1 (
1_1), World 2's ambush (hammer_bros), Hardcore World 1 (hardcore_1_1) and Funny Tanks (funny_tanks). KEVINandFRED.
So yeah, that's pretty much it. Check out the GitHub link at the top.
-
Welcome to your NodeBB!yeah okay
-
hey guys its me mario from forever (community the edition)Wooooooow marw former Bes tgame! Is fgood.