PoP remakes on GitHub

Threads about other remakes and ports.

Moderator: English Moderator Team

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

PoP remakes on GitHub

Post by David » December 20th, 2015, 9:10 pm

I found this some time ago:
https://github.com/deckard93/Prince-of-Persia
It uses DirectX.
I could compile it, but I had to change a few things for that.

Strange... It does not appear in the search results now.

I found this now:
https://github.com/oitofelix/freepop
I did not try this yet.

Andrew
Wise Scribe
Wise Scribe
Posts: 313
Joined: July 16th, 2009, 4:39 pm

Re: PoP remakes on GitHub

Post by Andrew » December 20th, 2015, 9:17 pm

How about leaving a comment or sending a PM (if allowed on GitHub) to both? Maybe they'll be interested in contributing to SDLPoP in some way, or at least be introduced to our community here if they don't know about it yet.
David wrote:I could compile it, but I had to change a few things for that.
So it's a full reimplementation of the engine? Since you compiled it, how well does it work so far?

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

Re: PoP remakes on GitHub

Post by Norbert » December 20th, 2015, 9:47 pm

David wrote:I found this now:
https://github.com/oitofelix/freepop
I did not try this yet.
This one uses Allegro.
I installed some packages (liballegro5-dev liballegro-image5-dev liballegro-audio5-dev liballegro-acodec5-dev).
And changed six lines with asprintf (...); to if (asprintf (...) < 0) {} (one in kernel/video.c, five in engine/level.c).
After that I could compile it with a simple "make".
It seems to use resources that have been extracted with PR.
I does not seem to be a conversion using the full disassembly; the prince's movement (is not bad, but) feels too far from the original for this.
Includes some custom tiles, like a big blue potion that causes instant death.
In prince.c, uncomment play_title(); and play_level_1(); to test the intro and level 1.
A bunch of stuff works (gates open, drinking potions, chompers, loose tiles), other stuff doesn't (no guards, no level exit door).
It uses OGG files for music.
Overall it's definitely one of the better remakes out there, but it cannot compete with SDLPoP.
(Not that it's a competition, but to give you an idea of the quality.)

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

Re: PoP remakes on GitHub

Post by David » December 21st, 2015, 9:14 pm

EDIT: This post is about: https://github.com/oitofelix/freepop

I tried it now. (with Dev-C++ 5.11)

I had to add -D"NOMINMAX" to disable the min/max macros from stdlib.h.
Without this, the compiler will stop here: int max (int a, int b); even though there is a space before "(".

Then I defined a dummy error() because it is called but not defined.
Then I deleted "inline" before the declarations of pos() and lpos().

Now it compiled.

Something is still wrong because the window is all black.
But there are sounds and a red flash when the prince falls.

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

Re: PoP remakes on GitHub

Post by David » December 22nd, 2015, 5:12 pm

https://github.com/oitofelix/freepop
David wrote:Something is still wrong because the window is all black.
I figured out that the images are loaded all black (transparent?), but their size is correct.
This line at least made things visible as semi-transparent grey rectangles: (added to load_bitmap)

Code: Select all

memset(bitmap->memory, 0x80, bitmap->h * bitmap->pitch);
https://github.com/deckard93/Prince-of-Persia
Andrew wrote:So it's a full reimplementation of the engine? Since you compiled it, how well does it work so far?
Here is the compiled version with the changed source.
I didn't include the data files, you can get them from the original.
Attachments
deckcard93_compiled.zip
(251.27 KiB) Downloaded 19 times

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

Re: PoP remakes on GitHub

Post by David » December 22nd, 2015, 7:39 pm

https://github.com/oitofelix/freepop

I could finally make it work!
I have to lock and then unlock the image after it's loaded: (in load_bitmap)

Code: Select all

  al_lock_bitmap(bitmap, al_get_bitmap_format(bitmap), ALLEGRO_LOCK_READWRITE);
  al_unlock_bitmap(bitmap);
I wonder why is this necessary...

keys:

Code: Select all

arrows, shift: as in the original
ctrl = draw sword
A = toggle between prince and shadow
S = sound on/off
delete, page down = adjust kid's X position + debug info
enter = debug info
I = display flip (none,V,H,V+H)
H,J,U,N = move between rooms
C = display room numbers
V = version?
B = toggle blind mode
home = switch to kid's room
F11 = toggle dungeon/palace
esc = pause
P = un-pause
A,D,W,S = move a blue pixel + debug info (disabled)
The consistency-level is interesting:
It's generated randomly, then it's "fixed", i.e. the code (consistency.c) searches for things it "does not like", and changes them.
(Think of the "search errors" feature in RoomShaker.)

User avatar
poirot
Princed Developer
Princed Developer
Posts: 382
Joined: March 24th, 2003, 8:52 pm
Location: Ushuaia, Argentina
Contact:

Re: PoP remakes on GitHub

Post by poirot » January 27th, 2016, 5:51 am

Consistency.c would be very useful for the sanitation command in the editor of SDLPoP

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

Re: PoP remakes on GitHub

Post by David » June 29th, 2017, 2:32 pm

I searched for Prince of Persia on GitHub again.
Here are some of the results:

https://github.com/michaelDCurran/princ ... tAdventure (Python 2)
This is quite an interesting remake: PoP as a text adventure.
I found the idea kind of funny. :)
It's somewhat like playing in blind mode.
Luckily the levels are the original, so you can play from memory. :)
(It has all the levels from PoP1 DOS in the original format.)

I got stuck on level 2 where you have to jump over a 3 tiles wide chasm.
That jump is not possible in this remake.

https://github.com/InformaticAA/PrinceOfPersia (Java, Eclipse)
This one is quite good.
It even has a "versus" mode, where two people can play against each other.

I can't open the exit at the end of level 1.
It seems it does not even have level 2.

The readme says it was made as a project at the University of Zaragoza (Spain).

Post Reply