I have just released a bugfixed version (v1.1).
There is no update option - updating a previously installed copy consists simply in deleting the latter and installing the new version.
Due to the bugs and the changes, v1.0 snapshots are no longer supported - using them will cause unpredictable results, so do not use them.Despite the v1.0 had been released after having been played from start to finish many times on multiple machines, some bugs managed to slip in
The first one was found without looking at the game or at the code: it presented itself out of the blue during the sleepless night following the release of the game. The second one was spotted while watching somebody else play the game and the third one was reported by him after I revealed the other bug. Then, quite a few other bugs were found and fixed after the revision of the code started.
I seized the chance to include also some improvements.
The detailed list of changes goes as follows...
v1.1 (17/03/2023)* Fixed the cave entrances (they could be entered from above; also, they brought the protagonist to the place from where he last exited the cave, which might be different).
* Fixed the protagonist escape from the cave when he needs to sleep and the closest exit is the north one, but the access to it is blocked by the chasm (he would virtually take that exit anyway).
* Fixed the handling of the protagonist's sleep when requested by the player (multiple tiles replacements where generated whereas none were needed; when sleeping just because of the physical need, the protagonist would sleep while standing on his feet).
* Fixed the drinking balance handling (a check was done too late, which could cause the thirst to seem quenced when, instead, it was quite strong).
* Fixed the palette of the game over screen (was slightly off).
* Fixed the initialization (did not handle errors relatively to a certain group of operations).
* Fixed the triggering of the earthquake (it could happen because of the loading of a snapshot if saving had been done in the upper part of the cave).
* Fixed the protagonist bob image upon loading of a snapshot (its index was calculated, but that did not work when he was standing on the raft).
* Fixed a boundary check in a tile replacement procedure (was using a wrong upper boundary).
* Fixed the replacements of several tiles (multiple instances of the internal data were used for each tile; in most cases it was actually just an ill-advised choice).
* Added a workaround to OS memory fragmentation, which could cause out-of-memory errors when switching location on 1 MB RAM machines.
* Refined the location loading so that, upon failure, a second attempt is made after freeing the memory occupied by cached chat data.
* Removed the current snapshot preservation upon snapshot loading (obsolete since quite a while).
* Saved some memory by reducing the variables buffer and tweaking the AMOS Professional Interpreter configuration.
* Modified the double buffering system to allow limiting the graphics refresh rate arbitrarily.
* Limited the graphics refresh rate to 25 fps when the protagonist moves or animates (expanded machines executed at 50 fps, which looked worse).
* Replaced AMCAF's Raster Wait and Y Raster() with more reliable assembly routines (which include also the loops that made use of them).
* Changed the effect the non-player characters phrases are printed with (this one looks better and avoids that partially updated graphics show on underpowered machines).
* Improved the synchronization of some graphics/palette updates.
* Made palette changes faster.
* Made the movement of the pointer smoother when exploring the world area (it was assigned the image on every graphical refresh with Change Mouse and that caused it to stutter).
* Made the protagonist turn towards the destination tile also when his movement is initiated by the program control (i.e. not by the player).
* Made the protagonist turn towards the right direction in a situation where he did not.
* Simplified the time-based events code.
* Added a time-based event that removes the imprints/pits from the sand after some in-game hours.
* Touched up the metal plate graphics.
* Fixed 'I' and ']' of the non-player character texts font.
* Added a sound effect.
* Made other minor changes/optimizations.
* Reprocessed the executable with an improved optimizer tool which optimizes also Colour, Colour(), Exit If ... and While ... Wend.
* Made a few minor changes/additions to the manual.
https://www.retream.com/Ring_around_the_Worldhttps://retream.itch.io/ring-around-the-world
Edited by saimo on 2023/3/17 18:08:43