EasyRPG Player 0.4.1 “Blind Attack”

It’s time for the first bug fix release since December. The new release features a heavily improved event interpreter, many fixes to the battle system and other minor improvements.

But at first something completely different: In December one of our developers held a lightning talk at the 32c3. Check out the article and the slides. And there is the lightning talk:

One port that is not maintained by us, is for the Pandora. The user “Ingo Reis” has a Youtube channel where he showcases all the homebrew for the Pandora. Check out running “Zelda Links Awakening” (Inofficial RPG Maker version) on the Pandora:

Watch the Video

Now back to the changelog. As usual we group the detailed changes in our blog post in “Interpreter”, “Battle system” and “The other stuff” ;).

Interpreter

The way how interpreter updates are executed in the original engine was figured out via many hours of testing and using a tool we invented (“event tracer”). This probably fixed hundreds of games. The games we are aware of the got fixed are Doraemon: Nobita’s Resident Evil (#692), Dungeoneer: A Beautiful Escape (#677), the combat system of Violated Heroine and speaking with Marin in Zelda: Link’s Awakening. Read the details in the linked issue if you want to know, how chaotic the interpreter is: #753

Event movement speed/acceleration was too high due to a script bug (#762), which made the school hunt event in .flow unplayable:

Above/Below hero events that collide with the Player character are now triggered. This fixes the game Dyhortfight. (#661)

After defeating Orca the game Wadanohara did not continue properly. This was a bug in the way how win-handlers are executed. (#702)

Orca was defeated
Orca was defeated

Nyria can rescue her mother now in Vampires Dawn 2. This was caused by a quirk in the way how RPG Maker encodes events. (#724)

The game Embric of Wulfhammer’s Castle got many issues resolved:

  • The “Frame” (a strange RPG Maker 2003 feature which overlays a frame over the map and is not scriptable) got implemented (#694)
  • Tile opacity was not restored after loading a savegame (#695)
  • Scripted events did not continue properly after losing a fight. We are not sure how this got fixed, probably same issue as Wadanohora. (#682)
embric
Left: Old version without frame and incorrect transparency. Right: New, corrected version

After using an Inn in 7thjojo a black screen appeared. #769

The Sacred Tears: TRUE crashed in the savegame scene. This was due a bug in the reencoding of strings in movement commands. This bug got fixed in liblcf. (#556)

Issues in Doraemon: Nobita’s Resident Evil got fixed by improvements to the event interpreter and by implementing “Condition: Started by Action Key”

Ara Fell heavily relies on variable changes for the fade-in effect on the title screen. This way we found a performance bug: The Player always refreshed common events when variables were updated. This doesn’t make sense because common events are only influenced by switches. Now the title screen in Ara Fell is fading in smoothly. Another title crash was caused by another data structure optimization of RPG Maker, this time in terrain data. (#785)

Events can now jump onto the field of the Player when they are above or below the hero. This fixes a game breaking bug at the end of のび太戦記ACE (Nobisen ACE). (#822)

Picture rotations calculates the angle now correctly. (#722)

The interpreter holds execution now when a vehicle is (un)boarded. (#768).

The ATB flag for RPG Maker 2003 battles is now saved and toggling and checking via event commands works now. (#796)

Calling a non-existant Event page shows a warning now instead of crashing. (#689)

When a message contained a “kill” (\^) command and a choice the kill flag was not reset and killed the next message. (#783)

Using of “*.script.wav” files result in a more descriptive warning now because they require Ineluki’s Key Patch which is not implemented (#731).

Exit Game (RPG Maker 2k3 1.11 feature) returns now to the Game Browser (if available) instead of closing the Player (#791).

Battle system

The using of skills and items in battle was improved. This fixes problems in Vampires Dawn 2 and Embric of Wulfhammer’s Castle. This affected especially equipment (swords & co.) which contained a skill. (#732). Equipped equipment is also listed now in the item window and usable as a skill. (#745)

Battle music did not play in Embric of Wulfhammer’s Castle (#600). This was again a liblcf issue, the battle music was not correctly set after loading a savegame created with the original engine (RPG_RT).

Spell drain (e.g. Blut saugen/sucking blood in Vampires Dawn) was draining HP and not SP due to a typo (#808)

Inflicting states (e.g. Poison) broke due to a bug invented months before 0.4. This works again now and additional effects (HP drain when poisoned) got invented. (#815) Furthermore RPG Maker 2003 battles did not apply states at all (#764)

The “0” (zero) was not always rendered in the Gauge battle system (RPG Maker 2003) because we failed in math (#678), e.g. in Vampires Dawn 2:

Missing numbers in the gauge battle style
Missing numbers in the gauge battle style

Another problem with Vampires Dawn 2 was, that it does not use cursors for actor selections. Therefore it was not possible to see which actor is highlighted for items or skills. The highlighted actor flashes now like in the original engine.(#825).

A crash was fixed in OFF when fighting with an enemy group which spawned additional enemies. Also the gauge of invisible enemies is not updated anymore and heal skills invoked by enemies don’t deal damage to them anymore. #723

The “Rundumschlag” Skill always missed in Unterwegs in Düsterburg because it had a base damage of zero (#766)

Return of Touhou Mother locked up in battles because it uses “Get Midi Ticks” for timing (#744). This is still not 100% reliable, at least the combo system won’t work.

The “End battle” command was not ending battles (#741, #739)

After reviving a character the dead state was not correctly removed when the item/skill had a power of 0. The revived actor gets now 1 HP instead (#825).

We fixed many deadlocks (battle hangs and you must close the Player) many happening because of death in the battle system (#825):

  • After reviving an actor the dead animation was not reset to the idle animation, which resulted in a hang because the battle system waits until the actor returns to the idle animation.
  • When an enemy and an actor reached a full gauge the same time and the enemy does the turn and kills the actor the dead actor will get the turn and hang the battle. Dead actors get now a gauge of 0.
  • The algorithm for picking the next movable actor had an error in the way how it looped over the party resulting in dead actors being selected which hangs the battle like in the previous case.
  • Enemy Self Destruct and Enemy Escape actions hang the RPG Maker 2003 battle. (#763)
  • The GameOver event command resulted in an hang when used in battles, too. (#771)

The algorithm for battles got improved and supports now the following features (#826):

  • Attribute multiplier and resistance are supported now (e.g. Fire skills that are weak to water enemies)
  • Weapons respect the “Attack attributes” now for getting damage multipliers
  • Weapons can increase the critical hit rate
  • Weapons can inflict conditions
  • Weapon can ignore the target’s dodge rate
  • Weapons consume SP now when they have a SP cost and are used as a normal weapon.
  • Atk, Def & co. changes as results of skill/item damaged are applied now in battle. (#767)

Save

Saving the next script line instead of the current one as the next executable line. This resulted in problems in loops because this way loops got exited when the saving occurred while an interpreter was on the “Continue Loop” command. (#770)

The way how states (Dead, Poison, …) are saved by RPG Maker was incompatible to the way we stored them. This was adjusted and we write more proper savegames now. Together with other minor fixes savegames created by EasyRPG Player are usable in RPG Maker Runtime (RPG_RT) now (though, in some cases, we found more incompatibilities)! (#670)

Android

Starting from Android 4.4 (KitKat) the SdCard is not writable anymore by default. This rendered our additional game directory implementation almost useless. The save directory is redirected now to a directory on the internal storage to work around this issue. (#534, #726)
The architectures armeabi, x86 and mips are supported now. (#413)

Our App is now also available in Korean language (#790).

The buttons enter/cancel/shift were not usable anymore in the layout editor, because their names were not translated. (#777)

You can now send bug report emails from the in-game menu. This feature is heavily used since then and we already got hundreds of emails. Thank you for your help improving the Player!

Emscripten

Player Emscripten failed to download sound effects invoked via “Play Sound” in movement commands (#509)

Because the emscripten version downloads game resources asynchronous race conditions can occur when assets finish downloading out of order. This was resolved now by rewriting the downloader to abort requests, that are not required anymore (e.g. because they were on the previous map or the BGM was already stopped).

OS X

OS X had a tearing issue in fullscreen (#704)

Wii

The Wii port got some love, too. Debug log messages are not spammed on the screen anymore (#742) and overscan issues got fixed. (#743)

Misc

System background mode “tiled” got implemented (#479), now the menus render correctly in AE:

ae041
Correct, tiled rendering mode in the background

Fixed equipment can’t be changed anymore in the Equip scene (#800)

The savegame path stayed at the toplevel directory when using the game browser (#750). When launching multiple games from the gamebrowser, the first engine of the first was used for all (#755).

Rendering issues for HP/MP got solved in RPG Maker 2003 games (#715), for example in El Heredero del Rey:

ehr041
The numbers are now readable

“F12” and “end game” stop now the music playback when returning to the title scene (#756).

The ICU data file got updated to support Thai. Thai itself is currently unusable in Player due to missing font support. But this is a first step. (#746) Another encoding problem got resolved in Nobita’s Biohazard (Korean version). Some files were not found (#649).

The Player is now packaged via the Open Build Service. (#499). You can download packages for your favourite Linux distributions.

We support now Windows RT. Read the previous blog post for additional information (#728).

We work around a bug in the audio library (SDL2_mixer) we use, which fixes MS ADPCM playback (#710).

liblcf

As mentioned earlier savegames in Sacred Tears broke due to an encoding bug in liblcf. (#155)

The message stretch settings was not written to the save game data. (#170)

Battle and other music effects were not correctly loaded from a savegame. (#173)

The ATB (for RPG 2003 battle) field was added. One field less to go. The savegame compatibility gets better and better! (#171)

The savegame parser is now more fault tolerant and should crash less when encountering bad savegames (#175)

For developers

  • The CMake build passes the C++11 flag now #737
  • Autotools generates proper (not tainted) tarballs now. #712
  • The “platform” subfolder got removed and the files are now stored in the src directory like all other files #772

3 thoughts on “EasyRPG Player 0.4.1 “Blind Attack””

  1. Congratulation guys !
    I look forward to have time to improve the Android port :).

Leave a Reply

Your email address will not be published. Required fields are marked *