MININIM updates

A free software implementation of Prince of Persia 1.

Moderator: English Moderator Team

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: MININIM updates

Post by David » December 30th, 2016, 1:06 pm

oitofelix wrote:In the unfortunate case you already use Windows :P, I'd ask you to try it there, because that port needs testing, specially regarding performance.
I'm testing this version: https://github.com/oitofelix/mininim/re ... -win32.zip
I'm playing the original levels, without any command line options.

MININIM works well for me under Windows.
As for performance, it eats 11-15% of CPU in windowed mode, and 25-30% in fullscreen mode.
But otherwise there is no noticeable slowness.

Some things I noticed:
* I can't avoid harm from a landing loose floor by crouching. I suppose this is intended.
* The prince can climb up much faster after grabbing.
* It can be a bit surprising when the view changes to scroll a guard into view.
* When a guard has only 1 HP, that HP should blink. Like it already does for the prince.
* When the skeleton falls, it screams like the prince! :)
* I see (hear) that multiple sound effects can play at the same time. For example, gate closing + exit opening. Or slow-fall music + other sounds.
* Guards will follow the prince if they can reach him by falling later. For example, the orange guard on level 4, if the prince goes to the nearby potion. Or the yellow guard on level 10. That one was quite annoying, as the gate (where he came from) closed while I was fighting him.
* It's not so easy to defeat a cornered guard.
* This no-auto-sword-drawing is good when I have to sneak behind a guard who's not looking. :)
* I get to see the mirror appearing immediately (with music) when the exit fully opens.
* I tried to stab the shadow on level 5, but I can't...
* It was interesting to fight against two guards at the same time on level 5...
* I see you put spikes behind the un-openable gate on level 5.
* Guards seem to be tougher...
* And they stab me when I'm trying to run away!
* The fat guard can scream, too!
* At the end of level 6, it's a bit scary/confusing to see all those spikes in the pit...
* The Manual seems somewhat outdated. It does not mention multi-room modes, for example.
* Ctrl+G pops up a save file dialog. This was a bit unexpected. But then we can save multiple games, as in the MacOS version.
* Sometimes the display does not follow the prince after I used Shift+H/J/U/N.
* Okay, it seems that regular guards scream, too. (Level 7 purple guard)
* 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.)
* Chomper timings seem to be different. For example, the twin chompers after the rightmost guard chomped together.
* When I climb up from a guard's view, he stays active until I do something else. Example: The orange guard on level 8.
* It was funny to see the mouse appear in the other room, out of nowhere... :)
* The flip potion has yellow bubbles.
* At the flip potion, I could break the two loose floors at the same time, the prince fell down, and it seems he didn't lose any HP?
* I think the prince fell into the wall near the second flip potion. After you climb down where the loose floor was, crouch twice, and do a standing jump.
* Shift does not work with numpad 4/6 if Num Lock is on!
* What!? A guard can survive a two-row drop!? He loses only 1 HP. Example: Last guard on level 9. Or the purple guard on level 10.
* But loose floors hurt them too!
* Ctrl+G shows only *.sav files, but Ctrl+L shows all files. Also, Ctrl+G does not automatically add the .sav extension.
* On level 13, the exit opens immediately when Jaffar dies. No need to change rooms.
* Level 14 is oddly blue...
* And it's odd to see the empty room before meeting the princess...
* Is there no Hall of Fame? Or it just didn't appear because I interrupted the ending music?

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3163
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: MININIM updates

Post by Norbert » December 30th, 2016, 6:13 pm

Norbert wrote:I've done Prince of Wateria today, I'll do Micro Palace tomorrow.
I just did Micro Palace.
Again, I will only mention things that I believe may be worth looking into.
Once again I noticed that several special events don't appear, which means I cannot 'work' with the shadows.
(By the way, I was unable to replicate the crash I mentioned that I ran into with Prince of Wateria.)

MININIM doesn't know about closed chompers (18/2).
These are mentioned on page 13 of this document.

In level 2, right after the start, if you go down, the application ignores the actual room link down to 2, and sends the prince to room 8.

It's possible to enter walls. I could do this in level 2, with specific jumps to the right.
One easier way to replicate this is in level 3, right after the start.
With the loose tile on the left, do this (no need to jump up).

In level 7, the game starts in a room I'm unfamiliar with.
The prince is actually located in room 17, 2nd tile from the lower left.

In level 9, right after the start, go down and keep pushing the guard to the left, you'll see the application semi-hangs.

In level 11, a raise button does not make a stuck loose floor fall.
Mods occasionally use this 'triggering of any tile'.

In level 12, go one room to the left, make sure to walk over the loose tile.
When the loose tile is about to fall onto the button, the application hangs for a short while.
Last edited by Norbert on December 30th, 2016, 11:01 pm, edited 1 time in total.

salvadorc17
Calif
Calif
Posts: 523
Joined: August 27th, 2011, 2:04 am

Re: MININIM updates

Post by salvadorc17 » December 30th, 2016, 9:59 pm

I jsut have tested with editor and seems very interesting to have all in same application, just want to be sure for things that does work different in vanilla game, like guards following and reacting from different rooms, and traps activating same way, those extra elements are considerer as engine improvement or just havent been fixed?

Also why not to use a configuration file for extra options instead of command line, becuase it will allow easy setup for friendly users, that are not used to commands usage.

User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 202
Joined: February 17th, 2016, 1:59 pm
Contact:

Re: MININIM updates

Post by oitofelix » January 6th, 2017, 1:22 am

I'm glad to announce that full support for replays have been implemented in the latest MININIM release.

MININIM replays are very small (1 byte per cycle overhead), architecture independent (wideness and endianness) binary files that, along with their respective level set, allow players to record, playback, share and mechanically verify their and other's exact solution to levels. For a technical discussion about its format and design rationale see this post. For the replay feature in action see the MININIM's standard legacy level set walkthrough.

Given a level set, each MININIM replay file is intended to record a particular level walkthrough extending from the very beginning to the very end of the level (but possibly terminating earlier). A replay file that solves a level (meaning that it finishes it) is called a "complete replay", otherwise it's called "incomplete replay" (whatever the situation the kid is left at: dead, out of time or stuck). A sequence of replays sorted by increasing level order belonging to the same level set is called a replay chain. It's used for playback and validation of solutions to entire level sets. If all replays in the chain are complete and all sequent replay pairs are valid, in the informal sense of the former replay final conditions matching the initial conditions of the latter one --- in a possible cheatless uninterrupted play --- then we say the replay chain is complete and valid (or just valid), meaning that it presents a solution to the whole level set associated with it.

Pressing ALT+F7 while the engine is in normal mode (no replay), starts the countdown sequence (3 seconds) to begin replay recording. If you press F7 or ALT+F7 before the countdown runs out, the recording is aborted. If you invoke replay recording within a level, that same level is restarted at the end of the countdown and recording starts from the first time cycle, until the level is somehow exited (by completing it, warping to the next, closing the game, restarting the level...) or you press F7 or ALT+F7 again, what happens first. Whatever the case, a save dialog box is shown for you to save your replay file. You may choose to discard the replay you just recorded (e.g. by pressing ESC). Either way, after this, the engine is put in normal mode (no replay). If you invoke replay recording while a cutscene is playing, at the end of the countdown recording starts at the very beginning of the next level. If you invoke it while the final cutscene is playing, it warps around. In particular it works at the title sequence as intended, and respects the option '--start-level', which in this case defines the level to record. While recording, trying to invoke any command that may affect the reproducibility of the replay (level editor, SHIFT+S, SHIT+W, changing remaning time,...) is disallowed. Benign commands like printing location information, changing multi-room visualization, changing environment or video modes, disabling sound, etc, work normally.

Pressing F7 while the engine is in normal mode (no replay), opens a dialog box for the selection of replay files (one or more at once --- which by default have the "mrp" extension) to load for the current replay chain. If no replay file is selected or none of them is valid (invalid ones are ignored when at least one valid replay file has been selected), the engine warns you and is kept in normal mode, otherwise the engine is put in the state described by the first replay file in the chain (the one belonging to the earliest level), including warping to the recorded level, and then the replay file starts to play. While a replay is playing, its summary is printed to the console standard output and the playback progress to the standard error output (by default). Trying to invoke any command that may affect the reproducibility of the replay is disallowed, this amounts for the same set of commands replay recording disallows and additionally the commands for controlling the kid. As for replay recording benign commands work normally. In particular, you may use ( and ) to modify the time frequency and consequently the playback speed (selecting 0 disables time frequency constraint allowing for the fastest playback possible in the current rendering mode). If you press ALT+F7 or F7 again, the replay playing stops at that very time cycle and you are given full (normal) control of the engine and the kid. If the replay file has finished playing, the message "NO FURTHER REPLAY DATA" is printed on the bottom row, and then just in a few moments MININIM declares the (in)completeness of that replay in its summary and go on to the next one in the chain, in case there is one. Naturally, replays are automatically stopped if the level is somehow exited. After an incomplete replay chain has been played, the engine is left in the exact state for potentially recording subsequent replays for completing the chain (actually this is the case at any stage of the replay chain playback progression, sufficing to abort the replay at the desired moment, and then start recording there --- at the same level).

From the command line perspective (and thus any supported configuration backend) the following options are relevant for replays:
  • --time-frequency=N Set nominal time frequency to N Hz in case N > 0, or disable time frequency constraint for N = 0. The default is 12Hz. Valid integers range from 0 to UNLIMITED_HZ (usually 10000). Notice that if N is too large for the system to keep up with, timed events may present incorrect duration. Use 0 for fastest verification of replay chains. This can be changed in-game using the ( and ) key bindings.
  • --rendering=RENDERING-MODE Select rendering mode. Valid values for RENDERING-MODE are: BOTH, VIDEO, AUDIO and NONE. The default is BOTH. Notice that video rendering makes replays slower, thus consider using NONE for batch processing of replay chains.
  • --record-replay Starts recording replay countdown at game beginning. Use this in conjunction with '--start-level' to start recording a given level. This can be done in-game using the ALT+F7 key binding.
  • --replay-info Print information about all REPLAY files in replay chain and exit. The 'initial' field of each replay summary lists arguments intended to be used for recording other replay files with same initial conditions.
  • --validate-replay-chain=MODE Validate replay chain. Valid values for MODE are: NONE, READ and WRITE. The default is NONE. If MODE is READ, instead of reporting invalid sequent replay pairs, modify replay parameters just enough to validate pairs. Notice that this requires consecutive replay levels to succeed. WRITE does the same, additionally updating replay files in case the resulting chain is complete and valid.
mininim --help wrote: Unless '--replay-info' is specified, REPLAY files given on command line are added to the replay chain in order to play and check for completion and sequence validity. The replay chain is sorted by increasing level order before processing. For each replay in the chain a replay summary is printed.
Unless '--validate-replay-chain' is specified, in case there is any invalid sequent pairs in the chain, their incompatible options are printed between
their replay summaries. For any complete replay summary, its 'final' field lists arguments intended to be used for continuing the game from where its respective replay ends. If the replay chain is complete and valid, MININIM automatically exits with zero status (non-zero otherwise). Replay chains can be played in-game using the F7 key binding. One can use '--time-frequency' and its related key bindings to control the playback speed, in particular use '--time-frequency=0' and '--rendering=NONE' for the fastest batch processing of replays.
MININIM now implements the title replay demonstration that executes after the intro cutscene. Currently a replay for the level 0 (like in the original game) is played. Actually, MININIM just retrieves the replay from data/replays/title.mrp file, thus any replay for the standard legacy level set will work.

On the development side, MININIM replays will be used to produce unity tests to ensure the engine is fit for release and introduces no regression. That's the virtual equivalent of a dedicated team committed to testing exhaustively the engine mechanics. In particular, for each legacy level set finishable in MININIM, a valid and complete replay chain along with test scripts will be provided (at least in the VCS) to ensure --semantics=legacy continues to move forward. There is much room for exploration here. This can potentially bring MININIM QA to a whole new level ;).

I'm looking forward to your thoughts.

Have fun!
Last edited by oitofelix on January 6th, 2017, 4:07 am, edited 1 time in total.

Code: Select all

 88888  FFFFF Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
 8   8  F     http://oitofelix.freeshell.org/mininim/
 88888  FFFF  mailto:oitofelix@gnu.org
 8   8  F     irc://chat.freenode.org/oitofelix
 88888  F     Please, support my work: http://oitofelix.freeshell.org/funding.html

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3163
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: MININIM updates

Post by Norbert » January 6th, 2017, 3:25 am

oitofelix wrote:I'm looking forward to your thoughts.
Maybe provide regular users with a single paragraph of text that summarizes these three posts:
viewtopic.php?p=20345#p20345
viewtopic.php?p=20344#p20344
viewtopic.php?p=20346#p20346
Excluding all technical details, and just describing what new functionality has been added and how it can be used.

Regular users be like whoa!. :lol:

User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 202
Joined: February 17th, 2016, 1:59 pm
Contact:

Re: MININIM updates

Post by oitofelix » January 6th, 2017, 5:00 am

Norbert wrote:Regular users be like whoa!. :lol:
Regular users, please, raise your hands. ;)
  • Use ALT+F7 to record a replay file for the current level, or the next one in case you are in a cutscene.
  • Use F7 to load a replay chain (a collection of replay files to play in sequence).
Suggestion: Instead of recording a walkthrough while you play, record a replay, and then capture that replay's playback. Upload your replay files to popot.org and your walkthrough videos to YouTube at the same time. Optionally, make an additional video to prove your replay files can throughly and successfully complete the level set at hand by video capturing MININIM's entire replay chain playback, and its replay summary console output.

If you want to know how command line replay features work, you are by definition not a regular user and should therefore, dive into the aforementioned three detailed posts. :lol:

Code: Select all

 88888  FFFFF Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
 8   8  F     http://oitofelix.freeshell.org/mininim/
 88888  FFFF  mailto:oitofelix@gnu.org
 8   8  F     irc://chat.freenode.org/oitofelix
 88888  F     Please, support my work: http://oitofelix.freeshell.org/funding.html

User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 202
Joined: February 17th, 2016, 1:59 pm
Contact:

Re: MININIM updates

Post by oitofelix » January 6th, 2017, 5:12 pm

Norbert wrote:
oitofelix wrote:I don't see any compelling reason to use the legacy single room display by default.
Easier to see the (bigger) single room, where the action takes place.
No secrets and other things visible that a mod author did not intend to be visible.
Ok. Now MININIM uses --multi-room=1x1 as the default for --semantics=legacy (of course, this can be overridden using the command line or multi-room key bindings). My intention is to make --semantics=legacy behave in the most desirable way for people playing legacy mods, while having an ideal balance between legacy semantics and new features, when the latter are benign to the finishability of level sets. The opinion of experienced players, modders and developers are very significant to me in this process. If you think something could be improved, please say so.

Norbert wrote:I've done Prince of Wateria today, I'll do Micro Palace tomorrow.
David wrote:I'm playing the original levels, without any command line options.
Norbert wrote:I just did Micro Palace.
I'm very glad you have taken the time to test MININIM thoroughly. I'll work on your reports next. Thank you. :)

salvadorc17 wrote:just want to be sure for things that does work different in vanilla game, like guards following and reacting from different rooms, and traps activating same way, those extra elements are considerer as engine improvement or just havent been fixed?
Those are considered improvements. If you want the legacy behavior use the --semantics=legacy switch. If you think that option doesn't cover a behavior you'd expect, please let me know.

salvadorc17 wrote:Also why not to use a configuration file for extra options instead of command line, becuase it will allow easy setup for friendly users, that are not used to commands usage.
That has been supported since first release, I think. The documentation bundled with the latest MININIM release is acceptably complete on that matter. Please, see chapter 4, "Configuration".

Code: Select all

 88888  FFFFF Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
 8   8  F     http://oitofelix.freeshell.org/mininim/
 88888  FFFF  mailto:oitofelix@gnu.org
 8   8  F     irc://chat.freenode.org/oitofelix
 88888  F     Please, support my work: http://oitofelix.freeshell.org/funding.html

User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 202
Joined: February 17th, 2016, 1:59 pm
Contact:

Re: MININIM updates

Post by oitofelix » January 7th, 2017, 6:26 am

This post is about Norbert's Prince of Wateria level set.

Norbert wrote:I noticed the balcony stars blink, and the flip potions flip horizontally. :)
I'm glad people like that behavior. Currently the direction of flipping is determined randomly, based on the potion place within the level.

Norbert wrote:There's one thing I'm still looking into myself, a crash somewhere in level 3:

Code: Select all

mininim: ../../nouveau/pushbuf.c:238: pushbuf_krel: Assertion `bkref' failed.
Aborted
I've recompiled to make sure a core will be dumped, but I still need to find a way to replicate the crash.
Norbert wrote:(By the way, I was unable to replicate the crash I mentioned that I ran into with Prince of Wateria.)
That sounds like an Allegro or graphics card driver issue. Can't help any further. Perhaps it was an isolated event.

Norbet wrote:I was also able to walk through an almost (i.e. ~2 pixels open) closed gate at the end of level 4. I'm not going to look into this though. I could not replicate it and it was probably a very rare/exceptional occurrence based on a combination of floating being enabled and a specific prince offset.
While working on replays, I noticed that MININIM didn't handle diagonal collisions well, although the new collision algorithm works as expected for purely horizontal moves, and, on the other hand, purely vertical ones are handled by the traversability concept that has demonstrated its fitness so far. The problem emerges when both directions are combined under certain circumstances on fall. This bug was unveiled after the recent increase of running jump inertia (to match the original game). I've added ad-hoc code to kid's falling logic to handle this. Considering my tests, it should be safe now.

Norbert wrote:One suggestion, maybe make Alt+Enter trigger the same code as "f".
Done.
Norbert wrote:Several special events do not appear to happen.
Did you list all you are aware of?

Norbert wrote:Examples are the checkpoint in level 3
MININIM originally activated the checkpoint if, and only if, place (2, 0, 8) had been reached. Inspecting SDLPoP's code I see that the expected semantics is to activate the checkpoint if, and only if, room 7 has been exited to the left. As this is related to legacy special events, I considered it a general MININIM bug (meaning that it's independent of the --semantics option). This bug has been fixed.

Norbert wrote:the mouse in level 8
This happens because originally MININIM created the mouse two places to the right of room 16. It happens that in Prince of Wateria that's a place in room 0. Thus, basically the mouse got trapped there. I solved this by creating the mouse at the very edge of the rightmost place of room 16, as if the mouse was hiding behind the wall, in a blind spot. A natural consequence of how the mouse character is implemented in MININIM (it's a physical character like the kid) is that it keeps running side to side after it appears, because it can't exit that room (which would be the event that would trigger its destruction). It's kinda nice, and benign, so I left it that way. I considered this a general MININIM bug.

Norbert wrote:the shadow in level 12 (which means no merger and no tiles appear)
The problem here was twofold. First MININIM required the kid to be on floor 0 to create the shadow. As the special events document says, there should be no constraint on the floor, so I removed it. Second, similarly to the mouse, the shadow was created at the lowest floor of the room above room 15, and in Prince of Wateria that's room 0, so the shadow got trapped. I solved this by creating the shadow at the top edge of floor 0, place 1 in room 15, as high as possible as long no harm from the fall was inflicted on him. I also considered these general MININIM bugs.

Norbert wrote:in level 6 the shadow did not walk forward in response to my running jumps (probably because I stayed on the same row)
The problem here is that MININIM checked for the existence of a opened door at position (1, 1, 2). I fixed this, which I consider a general bug. Also, I've made the shadow mortal like in the original game.

Norbert wrote:Level 13 (12b) consistently starts showing a wrong room; one that does not contain the prince.
This was due to a misguided camera centralization logic. Another general MININIM bug in the legacy special events that has been fixed.

Norbert wrote:Depending on where I move the prince with a level editor, I can also make the application crash. This is probably an important issue to look into.
Are you talking about MININIM's level editor? I guess not, because I moved the kid to all places within the level without a problem. Could you describe exactly how to reproduce the crash?

Norbert wrote:Maybe floating could move the prince forward a bit more; the DOS port moves the prince forward quite substantially.
Especially when doing a running jump.
I added half of the preceding-fall movement's natural inertia on top of the base floating inertia. Thus now floating has dynamic (and extra) inertia. I think this should be enough. Please, tell me what you think.
Norbert wrote:Finally, one thing that I ran into several times is that it's not possible to make a running jump similar to this if there's either a wall attached to one side or if one of the tiles is a loose floor.
(Similarly, landing with a running-jump onto a set of two loose tiles and then doing another run-jump away from the set isn't possible.)
Maybe as a modder I happen to build levels that require the prince to do the aforementioned movement frequently.
But I think it's fairly common for modders to require the prince to run-jump away from such a set of two tiles attached to a wall.
I've found a way to generalize the concept of "constrained position" and implement a clean and non-intrusive logic for allowing both constrained running turn and running jump (contemplating all construction configurations you are concerned about) to integrate naturally into MININIM's special movement set, respecting the smoothness of animations and the physics consistency. (Notice that they only trigger at the specific circumstances for which they are useful, not everywhere like in the original game). After implementing them I became convinced that they are elegant and useful movements that deserve to be declared native. Give them a try! :)

(The ad-hoc partial and ugly solution I had implemented for the legacy semantics while testing Twisted Ideas mod was gladly removed)


Next, I plan to make a video walkthrough of a MININIM solution to Prince of Wateria, recorded from a valid replay chain. This will allow me to fix remaining issues and demonstrate the progress being made on supporting legacy mods. I'll post the discussion about bug fixes and features implemented for that goal to the thread MININIM compatibility with mods. Of course, the walkthrough will be made available here, and I plan to release each video/replay as they get ready, as opposed to the complete set at once. This way we can keep the discussion flowing.


PS: I've also fixed the climbing animation that had a 2 pixel bump and an audio issue where the sword attack sound was played along with the sword defense one (if an attack was initiated from a far range). Both of which had been driving me crazy for quite some time.

Code: Select all

 88888  FFFFF Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
 8   8  F     http://oitofelix.freeshell.org/mininim/
 88888  FFFF  mailto:oitofelix@gnu.org
 8   8  F     irc://chat.freenode.org/oitofelix
 88888  F     Please, support my work: http://oitofelix.freeshell.org/funding.html

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3163
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: MININIM updates

Post by Norbert » January 7th, 2017, 11:39 am

It's nice that you have improved the program.
I haven't fully read your post yet, but saw this remark:
oitofelix wrote:Next, I plan to make a video walkthrough of a MININIM solution to Prince of Wateria, [...]
Of course it's interesting for me to read about your plan to play through that mod, but the mod is not very suitable for use with MININIM. As I wrote in my previous posts, I didn't mention everything I ran into while trying my mods. For one, they heavily use tricks/bugs. Also, their custom graphics modify the meaning of some objects. Also, even if it looks like things work as expected, they may not. An example is the second room you run into in level 1, where loose tiles should remove floors above chompers, but if they don't you may not know they should. More generally speaking, Prince of Wateria is not very suitable to create walkthroughs for period. It's my first mod, I was still learning how to create proper levels. Some of its levels are a struggle to get through. Some are very hard too, especially if you want to obtain life potions.

User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 202
Joined: February 17th, 2016, 1:59 pm
Contact:

Re: MININIM updates

Post by oitofelix » January 7th, 2017, 1:45 pm

Norbert wrote:Of course it's interesting for me to read about your plan to play through that mod, but the mod is not very suitable for use with MININIM. As I wrote in my previous posts, I didn't mention everything I ran into while trying my mods. For one, they heavily use tricks/bugs. Also, their custom graphics modify the meaning of some objects. Also, even if it looks like things work as expected, they may not. An example is the second room you run into in level 1, where loose tiles should remove floors above chompers, but if they don't you may not know they should. More generally speaking, Prince of Wateria is not very suitable to create walkthroughs for period. It's my first mod, I was still learning how to create proper levels. Some of its levels are a struggle to get through. Some are very hard too, especially if you want to obtain life potions.
Mods like this are ideal for improving MININIM's legacy semantics and to access the limits of this endeavor. Even if Prince of Wateria turns out to be irreconcilably unfinishable in MININIM, it'll be worth the good side effects it will probably bring. As for the "intended meaning" of mechanics, don't worry, I'll play along in parallel using SDLPoP (and watching previos walkthroughs, like SuavePrince's one) to make sure I get it right.

Code: Select all

 88888  FFFFF Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
 8   8  F     http://oitofelix.freeshell.org/mininim/
 88888  FFFF  mailto:oitofelix@gnu.org
 8   8  F     irc://chat.freenode.org/oitofelix
 88888  F     Please, support my work: http://oitofelix.freeshell.org/funding.html

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3163
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: MININIM updates

Post by Norbert » January 7th, 2017, 3:51 pm

Your call.
Note that SuavePrince may use tricks that I didn't plan for (didn't expect to be used/usable).

User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 202
Joined: February 17th, 2016, 1:59 pm
Contact:

Re: MININIM updates

Post by oitofelix » January 7th, 2017, 3:55 pm

Norbert wrote:Note that SuavePrince may use tricks that I didn't plan for (didn't expect to be used/usable).
Have you made a walkthrough video of your mod? I think it could be interesting to show (to me and everybody else) the canonical way you intended your level set to be solved.

Code: Select all

 88888  FFFFF Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
 8   8  F     http://oitofelix.freeshell.org/mininim/
 88888  FFFF  mailto:oitofelix@gnu.org
 8   8  F     irc://chat.freenode.org/oitofelix
 88888  F     Please, support my work: http://oitofelix.freeshell.org/funding.html

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3163
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: MININIM updates

Post by Norbert » January 7th, 2017, 5:29 pm

oitofelix wrote:Have you made a walkthrough video of your mod?
Well, I did reserve space for the videos years ago. :)
I have the videos. They were once at YouTube, but Google annoyed me.
Tomorrow, I'll ask a forum moderator to edit the first-mentioned post to re-include self-hosted videos.

User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 202
Joined: February 17th, 2016, 1:59 pm
Contact:

Re: MININIM updates

Post by oitofelix » January 7th, 2017, 5:43 pm

Norbert wrote:Tomorrow, I'll ask a forum moderator to edit the first-mentioned post to re-include self-hosted videos.
Thank you. That's appreciated. :)

Code: Select all

 88888  FFFFF Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
 8   8  F     http://oitofelix.freeshell.org/mininim/
 88888  FFFF  mailto:oitofelix@gnu.org
 8   8  F     irc://chat.freenode.org/oitofelix
 88888  F     Please, support my work: http://oitofelix.freeshell.org/funding.html

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: MININIM updates

Post by David » January 8th, 2017, 12:48 pm

Norbert wrote:Tomorrow, I'll ask a forum moderator to edit the first-mentioned post to re-include self-hosted videos.
Done: viewtopic.php?p=13417#p13417

Post Reply