Blocks of Persia

Threads about other remakes and ports.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Blocks of Persia

Post by Norbert »

You've made a lot of improvements in a very short time, nicely done.

Did you increase the time gates stay open though?

Here are two requests/suggestions:

1. I think the thing that's currently most unlike the original as far as gameplay is concerned, is the following. If I press and hold down left or right, and then press and hold down the up arrow key, the prince never initiates a running jump. I think the game only accepts up after the prince has already entered the running animation. What I'm used to - and I'm sure everyone else here - is being able to press and hold down left or right, and then almost immediately, namely right after the standing jump up would've triggered, press up, to make the prince do a running jump after a small amount of running. The original game knows: we're not yet doing the running animation, so I'll start that first and then as soon as possible initiate the requested running jump.

More generally: a lot of animations do not yet queue. Another example is if you turn around from a standing position and simply keep the left or right key down. For instance, start facing left, then press and keep down the right arrow key. The prince will just turn around, while in the original he will also start running. Right and then down to hop, also doesn't queue. I could give more examples, but basically nothing queues. ;) It's not bad necessarily, but not like the original, and makes it feel like the prince is bit of a noob that can't think of more than one thing at a time. You know what I mean. If necessary, you could experiment with the original.

2. One other thing I've noticed during this (short) test-run and the Feb. 18th (longer) test-run, is that a forward jump from a standing position sometimes makes the prince jump instead, because I didn't get the timing exactly right. This is a problem near edges/abysses. The original game is very smart here, and helps the player. If you press just up, the prince jumps up. If you press just forward (left or right), the prince runs forward. If you press up and forward, the prince makes a forward jump. But, and this is what I'm getting at, if you press up and then within about 1/2 second press forward, the prince will first jump up - but then cut from that animation to a forward jump. Similarly, if you press forward and then within about 1/2 second press up, the prince will first run forward - but then cut from that animation to a forward jump. This means there is a much bigger window for the player to get the forward jump right. With your remaster, the keys must be pressed much more simultaneously. There are even tricks that (ab)use this help mechanism from the original. Not quite the same, but similar/related is trick 79:

This video shows two attempts to quickly pass two spiked tiles. The first (deliberately, to show the difference) fails, the second succeeds. The difference is the first jump during the successful attempt. You can see that, during the second attempt, the prince briefly looks up. This is because the player pressed just up, but during the start of the climb animation also presses left. That first bit of the climbing animation gave the prince just that little extra horizontal movement/realignment to later pass the second spiked tile.

When making a non-painful landing, basically the crouching, it would be nice if the prince would get up faster.
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

Oh I get it now, then that queue system is definitely a must.
My way of approaching the input from the player was just a simple "do this when the correct button is pressed" but just as you said it registers one key at a time leading to many problems or discrepancies with the original, like the forward jump, where one has to perfectly press the two buttons.

These kind of things are the reason why I love PoP so much, it was made 30 years ago but still has some impressive logic behind it.

You mention trick 79... how many are there? and is there a playlist available where I can see all those tricks? They will surely come in handy as reference.
If you have some spare time come and play Blocks of Persia,
a 3D remaster with real time physics of the original Prince of Persia I'm making :)
https://alberto-luviano.itch.io/blocks-of-persia
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Blocks of Persia

Post by Norbert »

Alberto wrote: February 24th, 2019, 12:08 amYou mention trick 79... how many are there? and is there a playlist available where I can see all those tricks? They will surely come in handy as reference.
It's probably best to ignore almost all the tricks.
The exceptions being 9, 25, 26 and 28.(*)
Too much pixel precision, and really only useful for (2D) mods.
They are fun to watch though, check them out. :)

(*)
Maybe all these except 9 are already possible.
Trick 9 is used by many more-experienced players, where the loose floor does no damage to the prince if he crouches at the right time. You could probably translate this to simply: if the prince is going to the crouch position or back while the loose floor passes he's unharmed. Used in, for example, room 2 of level 2.
Trick 25 is mostly used in level 12(a). Roughly translates to: being able to remove a loose floor that's not directly overhead without falling off the edge.
Trick 26 is self-explanatory. It's one (slow) way to pass, for example, the spikes in room 20 of level 7.
Trick 28 is used most notably in level 2, in the room that has the raise button that opens the level exit door. Stand at the edge, arrow left then right, to initiate a running jump using just two tiles. Basically, simultaneously creating momentum for a running jump by running back and forth, and preventing the prince from falling off the ledge. Also useful in, for example, level 12(a).
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

127 tricks! I feel like a complete noob. Now I understand why some mods are so difficult, they require these tricks, don't they?

When I was a kid I remember feeling like a true hacker while discovering the crouching technique to avoid damage, but phasing through gates? now, that's nasty :lol:

I'm guessing Jordan Mechner knew some of these tricks because the level design is just too convenient in some of the original levels, like the shortcut in level 2 just before the end of the level, or in level 4, where the guard has no other purpose than to open the gate for you and in level 12a, the game basically teaches you 25 in order to advance in the level.

Anyway, that was a good watch indeed. Thanks for the reference, I'll try to recreate the essential ones but as you said it will be best if I ignore them for now.
If you have some spare time come and play Blocks of Persia,
a 3D remaster with real time physics of the original Prince of Persia I'm making :)
https://alberto-luviano.itch.io/blocks-of-persia
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

version v0.3 released!

Updates:
-Added:
  • Kid's health & guard's health (color sensitive).
  • Check remaining time by pressing Spacebar.
-Changed:
  • Input actions are now continuous.
  • Reworked the gates logic. They now remain open for 4 secs before starting to close, and it takes 15secs to close. Except for the
    hard ones in level 3 & 9 which remain open for 9 secs before starting to close.
  • The echo button for Shift is now Z instead of Spacebar.
  • Falling tiles in level 12b were reworked and know behave like in the original.
-Known game breaking bugs:
  • Collision systems breaks occassionally, the most notable case is the one where you end up trapped in pits and spiked pits.(Quick fix: Reload the level with Ctrl+A)
  • In Level 6, as there is no Shadow kid to close the door yet, you can trap yourself.(Quick fix: Reload the level with Ctrl+A)
  • In Level 9 screen 3 when grabbing the ledge of the switch to open the gate below, the collision system stops working and you will fall forever.
    (Quick fix: Before falling down you can climb up and then climb back down, this will fix the collision system. After falling down, reload the level with Ctrl+A)
    Fixed.
I know there are more bugs but I'm listing the ones that I'm aware of that completely take you out of the experience. If any of you find more bugs, you'll be helping me alot by posting them here.
If you have some spare time come and play Blocks of Persia,
a 3D remaster with real time physics of the original Prince of Persia I'm making :)
https://alberto-luviano.itch.io/blocks-of-persia
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

Small update this week:
  • The level editor is starting to take shape, still has lots of bugs hence I don't dare to include it in a new version for public release. However, it always makes me happy seeing a game come to life. :)
Here is a demo video:
If you have some spare time come and play Blocks of Persia,
a 3D remaster with real time physics of the original Prince of Persia I'm making :)
https://alberto-luviano.itch.io/blocks-of-persia
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Blocks of Persia

Post by David »

Alberto wrote: March 9th, 2019, 2:11 am Here is a demo video:
I see you took an unusual approach: Levels are built by typing text into a textbox. Every letter creates a different tile.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Blocks of Persia

Post by Norbert »

Alberto, if you want I can make apoplexy export BoP level files. You'd have to share the format you're using. Although I can imagine you're having fun creating the level editing functionalities, so maybe better if you keep going. :)
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

David wrote: March 9th, 2019, 9:35 pm I see you took an unusual approach: Levels are built by typing text into a textbox. Every letter creates a different tile.
Good eye David. I was afraid because the implemented method differs so much from current editors but as I read your comment I feel relieved that the general idea is understandable. It's not nearly as powerful as apoplexy as my editor is limited by individual alphanumeric values and it needs several layers to build the levels but I never thought I was going to get this far implementing an editor. It feels nice :)
David wrote: February 23rd, 2019, 2:55 pm ...
However, Blocks of Persia shows me an error message:
The browser could not allocate enough memory for the WebGL content. If you are the developer of this content, try allocating less memory to your WebGL build in the WebGL player settings.
...
This past week I was able to do some tests on an old laptop (TravelMate 4010) which has XP installed, and it throws the same errors you describe. Maybe (and it is a big maybe) with some luck I'll get the game to work there so it can be played on older systems.
Norbert wrote: March 10th, 2019, 12:25 am Alberto, if you want I can make apoplexy export BoP level files. You'd have to share the format you're using. Although I can imagine you're having fun creating the level editing functionalities, so maybe better if you keep going. :)
That would be incredible :D and would be an awesome step to connect BoP to the community. I think the alpha of the editor can be ready by next weekend so everyone can test it. I'll have the details prepared by then, since I only have the relationships written down on a post-it :lol:

As a preview, the general logic is as follows:
There are 5 layers of plain text:
  • Main tileset (walkable for the prince & enemies)
  • Backgrounds tileset
  • Switches
  • Gates
  • Guards
Then I have 3 more layers, which add additional info to the switches, gates and guards.

Here is another video I just made of the weekend's progress:
If you have some spare time come and play Blocks of Persia,
a 3D remaster with real time physics of the original Prince of Persia I'm making :)
https://alberto-luviano.itch.io/blocks-of-persia
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

Update time:
  • The map editor is here, yay :). It still has bugs but it's playable. Most of the issues can be solved by exiting the editor and going back in. In theory the game can create limitless levels or as much as your computer can handle... whatever comes first.
    Note: There isn't a save button yet, so if you want to keep your level please copy+paste all the layers to any external text file before exiting.
  • A basic title screen was added.
Some funny things you could try in the editor are:
  • Playing as two, three or.... infinite Princes! since the editor doesn't have a limit to the princes you can generate in the level, you can actually play as multiple princes :lol:
  • Place the prince or guards inside walls and see them fly away because of collision detection issues.
  • Fall into a bottomless pit and see the prince fall at 88 miles per hour!
And I think that's about it for this week. As always, if you have any issues with the game please let me know.
Have a nice week!
If you have some spare time come and play Blocks of Persia,
a 3D remaster with real time physics of the original Prince of Persia I'm making :)
https://alberto-luviano.itch.io/blocks-of-persia
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Blocks of Persia

Post by Norbert »

Nice title screen. :)

https://www.facebook.com/permalink.php? ... 2517387796
https://twitter.com/PoPModding/status/1 ... 6291588097

Small suggestion: when you mention the game, maybe include a link to its page.
Even though it's already included elsewhere in the thread, it's just easy if readers don't need to search.
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

Thank you for the facebook & twitter mentions :)

That's a nice idea, I'll add a link to any relevant updates from now on.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Blocks of Persia

Post by David »

Norbert wrote: March 18th, 2019, 8:17 pm Small suggestion: when you mention the game, maybe include a link to its page.
Even though it's already included elsewhere in the thread, it's just easy if readers don't need to search.
I see he put it into his signature. :)
Alberto wrote: March 18th, 2019, 5:32 am Update time:
I tried the new version, but I still can't play it.

On Windows I get the same error message as earlier.

I see you added a Linux version this time.
On Linux, the configuration window opens, but when I press the OK button then it just closes itself.
(More precisely, a "BlocksOfPersia" window opens with an empty inside, and then both this window and the config window closes.)

The game writes this to the console:

Code: Select all

$ ./BlocksOfPersia.x86
Set current directory to /media/nagy/K/DTemp/pop/Blocks of Persia/BoPV0.4Linux32
Found path: /media/nagy/K/DTemp/pop/Blocks of Persia/BoPV0.4Linux32/BlocksOfPersia.x86
Mono path[0] = '/media/nagy/K/DTemp/pop/Blocks of Persia/BoPV0.4Linux32/BlocksOfPersia_Data/Managed'
Mono config path = '/media/nagy/K/DTemp/pop/Blocks of Persia/BoPV0.4Linux32/BlocksOfPersia_Data/MonoBleedingEdge/etc'
Preloaded 'ScreenSelector.so'
Display 0 'PHILIPS FTV 29"': 1920x1080 (primary device).
Logging to /home/nagy/.config/unity3d/ALM/BlocksOfPersia/Player.log
And the logfile mentioned in the last line contains this:

Code: Select all

$ cat /home/nagy/.config/unity3d/ALM/BlocksOfPersia/Player.log
Desktop is 1920 x 1080 @ 60 Hz
Unable to find a supported OpenGL core profile
Failed to create valid graphics context: please ensure you meet the minimum requirements
E.g. OpenGL core profile 3.2 or later for OpenGL Core renderer
[Vulkan init] extensions: count=2
[Vulkan init] extensions: name=VK_EXT_debug_report, enabled=0
[Vulkan init] extensions: name=VK_EXT_debug_utils, enabled=0
Vulkan error VK_ERROR_INCOMPATIBLE_DRIVER (-9) file: ./Runtime/GfxDevice/vulkan/VKContext.cpp, line: 332
Vulkan detection: 0
No supported renderers found, exiting

(Filename:  Line: 634)
The OpenGL version supported by the hardware (and/or the driver) is 2.1.2, which is less than the 3.2 mentioned in the log.

Code: Select all

$ glxinfo | less
[...]
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 6150SE nForce 430/integrated/SSE2/3DNOW!
OpenGL version string: 2.1.2 NVIDIA 304.137
OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
User avatar
Alberto
Sheikh
Sheikh
Posts: 48
Joined: February 13th, 2019, 6:55 am
Contact:

Re: Blocks of Persia

Post by Alberto »

hey thanks, that log is really useful :D I guess we are making some progress... well at least it tried to launch this time.
David wrote: March 23rd, 2019, 11:05 pm I see he put it into his signature. :)
I promise I'll use it responsibly and disable it on other posts to avoid being spammy about my project ;)

This week I didn't really change much, my main focus was to build a WinXP package trying every trick from forums and unity docs but to no avail. That is without changing my Unity Editor version because converting an existing project back to an older version can crash the program... and it did. When I installed Unity 5.6 and converted the project, BOOM, I had to restart the whole thing.

The next idea is to recreate the game in the 5.6 Editor with DirectX 9 enabled, I just hope that works.

However, something was added to the game... colored torches! ever since I saw this: https://github.com/NagyD/SDLPoP/issues/189 I wanted to add it as soon as possible to the map editor.

If you have some spare time come and play Blocks of Persia,
a 3D remaster with real time physics of the original Prince of Persia I'm making :)
https://alberto-luviano.itch.io/blocks-of-persia
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Blocks of Persia

Post by David »

Alberto wrote: March 24th, 2019, 9:26 am This week I didn't really change much, my main focus was to build a WinXP package trying every trick from forums and unity docs but to no avail. That is without changing my Unity Editor version because converting an existing project back to an older version can crash the program... and it did. When I installed Unity 5.6 and converted the project, BOOM, I had to restart the whole thing.

The next idea is to recreate the game in the 5.6 Editor with DirectX 9 enabled, I just hope that works.
I'm glad you're trying to make it work for me; however...
If it's this hard to make it work on Windows XP then maybe don't bother with it. I can live without this game. :)
Post Reply