Skip to content

MININIM 201701122309

Latest
Compare
Choose a tag to compare
@oitofelix oitofelix released this 13 Jan 01:37
· 82 commits to master since this release

I'm glad to announce the release of MININIM 201701122309.

  • Allegro upgrade
    • MININIM releases now use my own fork of Allegro 5.2.3. That's a significant upgrade from the previously used 5.0.10. My fork may have improvements brought to the library through MININIM. Like these. If you are building from source consider using it for best results.
    • I plan no rupture from upstream Allegro. MININIM future releases should continue to build properly using vanilla 5.0.10 or my own fork of the latest development version, the only difference being the set of available features.
    • Windows releases of MININIM now come with a default "allegro5.cfg" file which the user may use to fine tune Allegro.
    • Unfortunately recent versions of Allegro have a bug where joystick initialization fails on Windows. That has been reported by me here. The workaround is to use debug builds of Allegro (with debug symbols stripped off, of course). Users should notice no difference (besides some additional Allegro debug/logging optional facilities, useful for bug reports of low level failures).
    • Useful features made available in recent versions of Allegro are planned to be used in next MININIM releases.

News of this release:

  • Haptics fully integrated into game mechanics.

    • The player can feel kid's muscular effort and body movement, falls, collisions, harm, potion effects, sword hits and bumps, its surroundings, pressing, shaking and breaking floors, choppers closing, spikes coming out, and more.
    • The option --gamepad-rumble-gain scales down every effect proportionally in case the default is too intense for the available gamepad (or the player's taste). A value of 0 disables haptic effects altogether.
    • Option --joystick-info reports all haptic effects supported by the connected joystick. However, all effects used by MININIM are implemented in software using just the simplest constant force feedback for maximum portability and perfect timing with in-game events. The currently implemented software effects are: gain, sine, triangle and queue of effects.
    • CTRL+J: enables joystick (implicitly calibrating it) at first call, and subsequently calibrates it, rumbling in case it's haptic-capable. Keyboard input continues to work as usual. This is the default mode in case a joystick has been detected.
    • CTRL+K: disables joystick and haptics.
    • Allegro support for haptics is experimental. Allegro developers told me MININIM is the first game to use its API. That's MININIM on the cutting edge ;). I'm providing feedback to them on improving Allegro's haptics API.
    • Haptics require Allegro 5.2.0 or superior, but MININIM still can build fine against 5.0.10. In this case haptics support is unavailable and a proper message remarking this fact is printed next to the documentation of --gamepad-rumble-gain option in --help output.
    • Because of an Allegro bug, haptics is not properly supported on Windows. I've reported this to Allegro developers here, and I'll be following this closely, providing help if possible. In the unlikely case of it magically working for you on Windows, please let me know.
    • I tried to make haptics in MININIM natural and enjoyable. Feedback from users, critics or suggestions are very welcome. After all, I had access only to one (cheap) device. Please, let me know if haptics doesn't turn out to be what I/you expected using your device.
    • I had an idea for haptics implementation back when I introduced joystick support in MININIM. However at that time the stable version of Allegro didn't have any API for that (not even an experimental one). Recently this idea came back to me thanks to Falcury. Fortunately this time Allegro was mature enough (kind of).
  • Option --random-seed sets the initial seed for the random number generator. This is potentially useful for debugging purposes. Thanks to Norbert for suggesting it.

  • Regarding MININIM saving and loading of files:

    • Save files (actually configuration files in general) have the extension "mcf".
    • All load dialogs show only valid files.
    • All save dialogs hint the correct file extension.
  • ALT+ENTER is an alias to F, = is an alias to + and _ is an alias to -.

  • In MININIM, everybody screams!

  • General improvements to the physics and specially the fight system. David had a point when he said:

    • The first guard of level 8 seems to be quite easy. I just pressed left and shift and I defeated him... He's too inactive, perhaps?
    • Hey, this works for all guards?! (Except Jaffar, because he immediately strikes back.)

    Of course, as I replied, the problem with those guards were their derivation of skills from the legacy profiles. Fine tuning guard skills allowed one to make guards that couldn't be defeated by mechanical tricks.

    I've, however, revised the fight system and implemented an scheme (based on the concept of anger) to hopefully make any guard, no matter how unskilled he might be, immune to repetitive tactics, like that one David described. Fights are quite more enjoyable now.

  • As usual, many bugs have been fixed.