Lighting

Open-source port of PoP that runs natively on Windows, Linux, etc.

Moderator: English Moderator Team

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

Lighting

Post by Norbert » April 9th, 2017, 4:31 am

I was thinking it would be cool if lighting would be more modern (example; mirror). I very briefly looked into it for SDL, but it's too complicated. If I'm not mistaken, it would require rendering the entire scene to a texture (*), then pixel manipulation (*,*) to add a black layer of 50% opacity, excluding 200px circles around flames. If each scene only had 1 flame, I could've probably pulled it off by using a large, partially transparent, image. Of course, the 'real' way to do it would be a 2.5D side-scrolling remake in a modern game engine. Then adding the light sources would be relatively easy. Actually, that would be Prince of Persia Classic then, I guess.

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

Re: Various

Post by David » April 9th, 2017, 5:27 pm

Norbert wrote:I was thinking it would be cool if lighting would be more modern (example; mirror).
Here is my attempt on a separate branch: https://github.com/NagyD/SDLPoP/commit/ ... 2e72e9cfd8
I did not use per-pixel manipulation, only an image of a circle, and clever use of blend modes.

BTW, the Genesis version has something similar, but it's only a background: https://www.popot.org/level_editors/ima ... p-0.7b.png

Also, I have seen a few 2D games that do lighting, like SuperTux, or ZZT in dark rooms.

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

Re: Various

Post by Norbert » April 9th, 2017, 5:31 pm

David wrote:
Norbert wrote:I was thinking it would be cool if lighting would be more modern (example; mirror).
Here is my attempt [...]
Very cool! :D

[Edit: Suggestion, maybe if a room has no torches at all, make everything even darker. Or maybe the number of torches could determine how dark the room is? Either way, I really like this. This should totally make it into the main branch (as an option)...]

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

Re: Lighting

Post by David » April 15th, 2017, 9:28 am

Moved posts to a new topic.

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

Re: Lighting

Post by David » April 30th, 2017, 9:26 am


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

Re: Various

Post by David » May 7th, 2017, 9:59 am

Norbert wrote:This should totally make it into the main branch (as an option)...
I merged this into the master branch: https://github.com/NagyD/SDLPoP/commit/ ... 76356aa79c

Falcury
Wise Scribe
Wise Scribe
Posts: 371
Joined: June 25th, 2009, 10:01 pm

Re: Lighting

Post by Falcury » September 12th, 2017, 8:57 pm

Suggestion: maybe we could use a noise function (e.g., 2D Perlin noise) to generate a couple of animation frames with varying amounts of darkening, in order to simulate a flickering effect. The radius of the effect would then probably have to be a bit bigger, and the intensity would have to smoothly decrease with distance to the torch.

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

Re: Various

Post by salvadorc17 » January 3rd, 2018, 10:28 pm

David wrote:
April 9th, 2017, 5:27 pm

Also, I have seen a few 2D games that do lighting, like SuperTux, or ZZT in dark rooms.
Right, seems Genesis version is the one that tried it mostly, but for old games is not common, i have seen something similar in Nosferatu.

Post Reply