Jump to content
José Pereira

Prince of Persia

Recommended Posts

I discarded using chars at the moment. Take in account that each level has more than 128 graphics, and many of them are larger than 4x8 pixels. They are mixed in several ways. I can tell you because I had to make several little adjustments to get the rendering right, including shifting and masking.

 

You may like to read also this (sometimes derailed but still intresting) thread: http://atariage.com/forums/topic/188835-wich-one-of-these-two-prince-of-persia-you-prefer/

Regarding char mode, I provided an example there: http://atariage.com/forums/topic/188835-wich-one-of-these-two-prince-of-persia-you-prefer/page-23?do=findComment&comment=2395627

 

Let me know if you need support in the graphics department.

Share this post


Link to post
Share on other sites

I see two risks going the CharSet route

 

1) There is no way to make sure that all combination of screens and background animations + sprites will fit in 256 chars, until you get the code running. If you need just 1 additional char, you have to get rid of the code and start again.

 

2) The drawing complexity increases a lot. And once the code is complete, it may be useless according to the first risk.

 

Sure that you can take one screen and make an estimate, but other screens that may look similar, can be completely different. Just look my slideshow of level 1 and see all the holes and missing graphics, those are the graphics not present in the first screens. And that doesn't include the animations.

 

For me (as a coder), taking the CharSet route is just premature optimization, and we can get stuck there for a long time without any advancement. If you are worried for perfomance, I must remember that the sprite animation is just 15fps for memory reasons, the game just can't go further than that.

 

Anyway, I plan to make the source public, so my first priority is to have the game running. Prince of Persia for Atari 8 bit... just think of how cool will be that. Then if somebody want to try the CharSet way (the remake of the port), it will be easier to test and finish, and the "worst" possible result is that we would have just one PoP.

 

On the graphics side, yes I will need help. At this stage I prefer to do the graphics myself based in the ones I've taken for my tests. This is because the graphics are been fixed/modified to fit the original PoP rendering method (masking, shifting, and so on). Once complete, you can take them as reference to make an improved version.

 

By the way, this is what MrSid wrote about the graphics. And he went all through it:

 

Imagine you're working on the game, and suddenly you find out that the game has falling floors, which don't fit into your graphics mode plans. So you have to throw everything away and start from scratch. Trust me, the various animated bits of the game are the hardest part. It's not just background and a few character sprites...

 

 

  • Like 4

Share this post


Link to post
Share on other sites

1) There is no way to make sure that all combination of screens and background animations + sprites will fit in 256 chars, until you get the code running. If you need just 1 additional char, you have to get rid of the code and start again.

 

Or join two similar char representations and free one. (BTW: Unfortunately we have only 128 chars per font, but otherwise you can also use more than one font for different horizontal sections, which could also form a solution for the problem above.)

 

2) The drawing complexity increases a lot. And once the code is complete, it may be useless according to the first risk.

 

AFAIK, these are the tiles of the C64 version:

http://atariage.com/forums/uploads/monthly_10_2011/post-6517-0-25517500-1318665683.png

 

I do not see any increase of complexity when substituting those building blocks by others relying on chars... (and matching char alignment)

 

For me (as a coder), taking the CharSet route is just premature optimization, and we can get stuck there for a long time without any advancement.

 

I see the this mode mainly as an advantage to improve the look while offering a 5th colour -

but I'm far from persuading you to go the char route. I would appreaciate any usable PoP on the A8 - independent from the kind of creation.

 

 

On the graphics side, yes I will need help. At this stage I prefer to do the graphics myself based in the ones I've taken for my tests. This is because the graphics are been fixed/modified to fit the original PoP rendering method (masking, shifting, and so on). Once complete, you can take them as reference to make an improved version.

 

OK. Thanks!

Share this post


Link to post
Share on other sites

 

AFAIK, these are the tiles of the C64 version:

http://atariage.com/forums/uploads/monthly_10_2011/post-6517-0-25517500-1318665683.png

 

I do not see any increase of complexity when substituting those building blocks by others relying on chars... (and matching char alignment)

 

 

If you look at those graphics, you can't just put them together, you have to combine them. Because of the perspective, one block must be blended into the next. If you put them together as they are, you will end with black triangles everywhere.

Share this post


Link to post
Share on other sites

I am agreeing with Franco on this particular approach. The Apple II DHGR is _not_ a tile based mode, and PoP's code has been highly optimized to take advantage of that fact, notwithstanding its highly unusual non-linear, artifacted nature. You would be wasting CPU cycles translating everything into tiles, and you'd lose a great deal of granularity with all of the animation needed (moving floors, torches, spikes, etc.), as has been mentioned before, the Apple II has no sprites, and the game wasn't written to the constraints usually associated with Atari 8-bit, Commodore 64, or even TMS9918 based sprites.) (not to mention that PoP has lots of little graphic flourishes that can easily overwhelm an 8-bit character set!) so you would be gaining absolutely nothing in terms of performance, and very little memory efficiency.

 

-Thom

  • Like 2

Share this post


Link to post
Share on other sites

It is just HGR, but yes. The renderer takes full advantage of how the Apple works.

 

One alternative, if a 5th color is worth it, would be to make a bitmap char mode. Stack them up and use DLI to set new charbase values so that the screen is all unique chars.

 

This is as convoluted as the Apple is, but it would be 5 color and a renderer will be similar.

  • Like 2

Share this post


Link to post
Share on other sites

I've just published a new video showing the rendering engine.

It includes an animation test (loose floors)

 

 

BTW, the big and small stone designs can be varied a little so they don't look as much like repeated patterns -- since the graphic sections are made up of more than one stone (The shaded small stones were done with variations, for example). I just used a repeated pattern on the others in order to make throwing a design together quicker back when I did these. I can work something better up if I get a little time later today.

Edited by MrFish

Share this post


Link to post
Share on other sites

What are you coding these rendering tests in? are they just rendering simulations approximating the graphics mode, at this point?

 

-Thom

Share this post


Link to post
Share on other sites

They are rendering simulations limited by the ATARI restrictions. The code is in java but taking in account that it must be ported to the 6502. It's a fast way to understand and test the rendering as you can see.

Share this post


Link to post
Share on other sites

While I can greatly admire how Prince of Persia is/was a great game - but because this is now 2015 - I wonder if you will add to the game - making it into a plus or extended version?

 

I'm not a fan of doing conversions - unless you also add something new to it - since this is now so many decades? later.

Yes - do the straight conversion - as perfect as you want to - but consider also - an improved? version that'll add some new twists/etc to it - to take it beyond the original game.

 

Harvey

Share this post


Link to post
Share on other sites

MrFish I send a message to Franco and wanted to add you but it seems I can't... Is there any problem with me?

Thanks.

 

Yeah Jose, I put your sig on "Hide" a while back and I must have accidentally included ignoring messages when I did that. Go ahead and try it now.

Share this post


Link to post
Share on other sites

We are "on it". We moved the development to a private conversation, drop me a line if you are interested.

 

Several ideas for graphics (combinations of PM/PF) are on the table.

On my side, the 6502 coding has begun.

  • Like 4

Share this post


Link to post
Share on other sites

Cool beans. Bummer about it being private, but I totally get the hassle.

 

Please consider keeping dev logs. Should be an interesting read after the fact.

 

Heck, I will help to format and make avaliable when the time is right.

  • Like 2

Share this post


Link to post
Share on other sites

I didn't wanted to go private, but now that I see it, I think that was for good. And looking at this topic entirely, I see that things could get messy when too much people want to have a saying on everything but are not willing to help working on it.

 

Of course I want a development log. I started working on this after reading MrSid dev log for the C64 version. Just loved it.

 

For now, I'm taking screenshots and videos of the process.

  • Like 5

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...