New tile ideas

Open-source port of PoP that runs natively on Windows, Linux, etc.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

New tile ideas

Post by Norbert »

All these ideas assume there would be a way for the player to differentiate between the regular tiles and new special tiles.
Some ways these differences could be visually accomplished are displaying the tile as black+white, inverting the tile colors, pulsating the tile colors towards one color (e.g. white) and back, etc. The ideas:

1. Text potions. (Already mentioned and have a feature request on GitHub.)

2. A small pillar that, if you walk into it, sends you to another small pillar in the level.

3. A torch that, if you pass it, auto-quicksaves, allowing you to return there after death.

4. A potion that allows the player to jump twice as high.

5. Swords that can be collected, and a gate that only opens if a certain number of swords were collected.

6. Ice floors, that make the prince slide.

7. One-way pillars, that can be passed only to the left or only to the right.

8. Gates that are all part of the same group, and that all toggle at the same time if a raise/drop button is used. So, if toggled, all closed gates open (and stay open), and all open gates close. Then, if toggled again, the reverse happens.

9. Swords that can be collected and used as quicksaves whenever the player chooses. Each collected sword can be used only once. Like the Reincarnation Fish mentioned here.

10. A potion that temporarily makes all traps harmless (spikes, chompers, falls, guards). Similar to the potion in the Mega Drive port.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: New tile ideas

Post by Norbert »

Colored torch flames. (Already mentioned and have a feature request on GitHub.)
User avatar
atrueprincefanfrom18
Site Shah
Site Shah
Posts: 1782
Joined: January 21st, 2020, 2:53 pm
Contact:

Re: New tile ideas

Post by atrueprincefanfrom18 »

1. Potions that increase time (I think, it's already done by Falcury in "Secrets Of Citadel").
2. Potions that decrease all enemies health by x points.
3. Potions which increase the Kid's sword strike ability, which means if you hit once, two points are taken away of the guard instead of regular one. (Can be for a limited time) (and maybe the vice versa!?)
4. (Can be difficult to implement) Potion to hypnotise the current guard on the screen, and take the place of him: It may have technical difficulties implementing it, because there can be only one character apart from Kid, but what I am currently thinking is something like, we can take the guard's position (after drinking this potion) and we would continue the journey, if we die, we return back to the original Kid character. Don't know why it would be useful but as of now seems interesting to me!
Love to create new MODS :)

My complete list of mods until now!

My channel. Do consider subscribing it! :)
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: New tile ideas

Post by Norbert »

atrueprincefanfrom18 wrote: March 18th, 2020, 8:06 pmtake the guard's position (after drinking this potion) and we would continue the journey, if we die, we return back to the original Kid character
Yes, could be interesting.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: New tile ideas

Post by David »

atrueprincefanfrom18 wrote: March 18th, 2020, 8:06 pm 1. Potions that increase time (I think, it's already done by Falcury in "Secrets Of Citadel").
2. Potions that decrease all enemies health by x points.
3. Potions which increase the Kid's sword strike ability, which means if you hit once, two points are taken away of the guard instead of regular one. (Can be for a limited time) (and maybe the vice versa!?)
New potion effects can be added in SDLPoP here: https://github.com/NagyD/SDLPoP/blob/ma ... 06.c#L1682

atrueprincefanfrom18 wrote: March 18th, 2020, 8:06 pm 4. (Can be difficult to implement) Potion to hypnotise the current guard on the screen, and take the place of him:
Do you mean that the player would control the guard?

The original games have a couple cheats/bugs which let you do something similar.
All these show that internally, the guards are controlled by the game through simulated keypresses.

1. In the Apple II version, with cheats: viewtopic.php?p=15343#p15343
David wrote: September 2nd, 2014, 5:11 pm a: [kautoman] toggle auto/manual controlling of the guard (you need to switch to joystick mode, control guard with UIOJKL, kid with joystick)
2. In PoP2, with cheats: viewtopic.php?p=13613#p13613
David wrote: July 24th, 2013, 7:26 pm This was on PoPUW: With the SAYCHEESE command line parameter, you can look at other rooms with the arrow keys. However, it's very buggy.
In this case, the kid became a guard.
3. In PoP1, with hex-editing:

Code: Select all

set_start_pos()
seg003:0299 C6 06 2F 3D FF  mov  char.alive, 0FFh
seg003:029E C6 06 2D 3D 00  mov  char.charid, charid_0_kid
seg003:02A3 2B C0           sub  ax, ax
Search: C6 06 2D 3D 00 2B C0
Change: 00 to one of the following:
01: The prince will change into a guard when he's holding the sword.
02: The prince will always be a guard. It works only on level 1, because it needs the falling entry.
04: Like 02.
18: The prince will start holding the sword. Again, this works only on level 1.

The SDLPoP equivalent is here: https://github.com/NagyD/SDLPoP/blob/ma ... 003.c#L185
User avatar
atrueprincefanfrom18
Site Shah
Site Shah
Posts: 1782
Joined: January 21st, 2020, 2:53 pm
Contact:

Re: New tile ideas

Post by atrueprincefanfrom18 »

David wrote: March 21st, 2020, 6:38 pm Do you mean that the player would control the guard?
Yes, kind of. And when the guard (which Kid has occupied the control (hypnotised)) is killed, Kid returns back to the original Kid. Maybe need custom code for that? Or can be done by hex-editing as told by you in the earlier post?

(David, You are a seriously a hexpert! :))
Love to create new MODS :)

My complete list of mods until now!

My channel. Do consider subscribing it! :)
User avatar
atrueprincefanfrom18
Site Shah
Site Shah
Posts: 1782
Joined: January 21st, 2020, 2:53 pm
Contact:

Re: New tile ideas

Post by atrueprincefanfrom18 »

Also worth to look into this post... Timestamp 16:40 to 16:55.
Seems Jordan Mechner had more ideas than what was actually implemented in PoP1. Some can be added into this category.
Love to create new MODS :)

My complete list of mods until now!

My channel. Do consider subscribing it! :)
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: New tile ideas

Post by Norbert »

I'm too lazy to check which ones were already mentioned, but...
All the tiles unique to SNES.
Including teleporting (potion and entrance/exit), guillotine, crusher, fire, spinning log, stars (on the floor), moving walkways, and kill (instadeath) potion.
poirot
Developer
Developer
Posts: 394
Joined: March 24th, 2003, 8:52 pm
Location: Australia
Contact:

Re: New tile ideas

Post by poirot »

I've created two new tile types: torch without floor and torch with loose floor. For the second there is a limitation as there can only be 30 trobs per room and a torch+loose floor contains two trobs on the same tile, there was a humongous amount of code change in order to make it work and you'll need to sanitise the torch tiles on every level (feature added to the editor); sorry about that but I needed to save 9 frames for the torch (4 bits), a not-fall flag (1 bit) and 12 frames for the loose tile (4 bits), so I had to use arithmetic to fit it to 8 bits (9*2*12 is still < 256 so it could be done).

How to add them to SDLPoP?
Cherry pick the following two commits:
https://github.com/ecalot/SDLPoP/commit ... 255b1096c7
https://github.com/ecalot/SDLPoP/commit ... eed49bbb72
User avatar
atrueprincefanfrom18
Site Shah
Site Shah
Posts: 1782
Joined: January 21st, 2020, 2:53 pm
Contact:

Re: New tile ideas

Post by atrueprincefanfrom18 »

I just saw this video and saw this amazing moving tiles with a wall (at 1:15) I wonder how difficult it would be to get in SDLPoP?
You need following things to store:
1. The starting position
2. The ending position
3. The moving speed
4. How many times to move (infinite or 1 or 2 times)
5. When to start moving (maybe a trigger button/potion/default when the screen is shown on the screen/when the prince enters the room)
6. The direction of moving (either up and down, or left and right)

Edit: Maybe we can use a modifiers to calculate all the values and store them similar to Linux Octal File Permissions (4, 2 and 1)?
Love to create new MODS :)

My complete list of mods until now!

My channel. Do consider subscribing it! :)
User avatar
dmitrys
Developer
Developer
Posts: 195
Joined: October 1st, 2020, 6:05 am

Re: New tile ideas

Post by dmitrys »

The problem is all the tiles are retrieved using a 3 (visible) row system. Also all the logic when a character runs, falls, etc cannot be based off a random y value. I believe you have seen that when implementing a kid's positioning cheat. Vertically implementing a wall that jumps up and down a row at a time should not be a big deal but it would be weird imo.

A wall that moves horizontally would be easier mechanics wise because x coodinate system is a lot more flexible. But I am not quite sure what is involved from the drawing point of view.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: New tile ideas

Post by Norbert »

dmitrys wrote: April 11th, 2021, 5:17 amA wall that moves horizontally would be easier mechanics wise because x coodinate system is a lot more flexible.
Horizontally would still be interesting for modders, I think.
User avatar
atrueprincefanfrom18
Site Shah
Site Shah
Posts: 1782
Joined: January 21st, 2020, 2:53 pm
Contact:

Re: New tile ideas

Post by atrueprincefanfrom18 »

Norbert wrote: April 11th, 2021, 11:27 am
dmitrys wrote: April 11th, 2021, 5:17 amA wall that moves horizontally would be easier mechanics wise because x coodinate system is a lot more flexible.
Horizontally would still be interesting for modders, I think.
Definitely, let's see if David gets time to create/reply with something.
Love to create new MODS :)

My complete list of mods until now!

My channel. Do consider subscribing it! :)
User avatar
dmitrys
Developer
Developer
Posts: 195
Joined: October 1st, 2020, 6:05 am

Re: New tile ideas

Post by dmitrys »

Norbert wrote: January 2nd, 2019, 12:29 am 4. A potion that allows the player to jump twice as high.
There is actually a sequence table entry for that called super high jump that was supposed to be used in the floating mode.

It requires some additional coding to allow grabbing tiles and having loose tiles fall once you are all the way up. Not only you need to change kid's action so the grab function becomes active, but there are also some nuances when jumping from an edge of the room. This might be why it is not a part of the game.

But I was able to make it work.
viewtopic.php?f=126&t=4683
User avatar
atrueprincefanfrom18
Site Shah
Site Shah
Posts: 1782
Joined: January 21st, 2020, 2:53 pm
Contact:

Re: New tile ideas

Post by atrueprincefanfrom18 »

You should really send a pull request to SDLPoP.
Love to create new MODS :)

My complete list of mods until now!

My channel. Do consider subscribing it! :)
Post Reply