Dreamworld Pogie compiled!

You can talk about almost anything that you want to on this board.

Moderator: Moderators

Post Reply
Denine
Posts: 397
Joined: Wed Feb 17, 2010 5:42 pm

Dreamworld Pogie compiled!

Post by Denine »

**Copy-paste from yolkfolk.com**
Hi, about 10 minutes ago I was found a page on yolkfolk.com which had downloadable dreamworld pogie source.
(http://yolkfolk.com/site/news.php?id=137)
When I opened archive, it was like "Oh, no!!"
but..name of files, and numbers of it was logical.For second I though it's too easy, but...
The only thing that needed to be done with sources was...merging files together..that's all.Oh, and change file to *NES.Header from Adventurer Dizzy plays it's role excellent.
And so, I'm first Dizzy fan to play this game(?).
I knew Yolkfolk.com and Dizzy.pl powers combined can overcome anything.
Since Yolkfolk.com is strict about downloading official games from internet I won't give ROM here.
But my site don;t care about such things.
You can download ROM in Download at
engdenine.cba.pl

Here's a very short gameplay:
http://www.youtube.com/watch?v=ZZendV6WHTI
And some explainations:
Dreamworld Pogie was to be a game for the Aladdin Deck Enhancer with Pogie as the main star, but due to budget cuts the game was never completed.

Not much is known as to how far the game was in completion or what kind of game Dreamworld Pogie would be, but by the looks of the screenshot (taken from the back of the Aladdin Deck Enhancer box) it was to be a Mario style game.
Oh, and there's something...I was reading about CHR RAM ability to change background tiles in Vblank.Inthis topic
Tokumaru says you can update 4~8 tiles per frame.
Isn't Dreamworld Pogie updating..12 tiles per frame? :shock:
And these tiles are in different PPU adresses, so it'll take (a little) longer to update it.
Any thoughs on that?
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Dreamworld Pogie compiled!

Post by tokumaru »

Denine wrote:Tokumaru says you can update 4~8 tiles per frame.
Isn't Dreamworld Pogie updating..12 tiles per frame? :shock:
And these tiles are in different PPU adresses, so it'll take (a little) longer to update it.
It greatly depends on the technique used, and also on what other tasks are performed in the same VBlank. With the fastest code possible (unrolled chain of LDAs + STAs) you can update a little over 16 tiles if you aren't doing anything else in the same VBlank.

However, if you need to perform a sprite DMA, update the palette and a handful of name and attribute table bytes, you'll realistically update a maximum of 8 tiles. You can of course disable rendering and extend the blanking time a bit, which will allow you to update more.

In my game, I have 3 "update slots" in VBlank. If all 3 slots are used for updating patterns, 24 tiles are updated. Of course this hardly happens when the screen is moving at fast speeds, so most of the time only 1 or 2 slots will be used for patterns.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

I just looked at the game you are talking about. Notice that there's a big blue area at the bottom of the screen. That's because the game disables rendering 23 or so scanlines earlier, so it more than doubles the VBlank time. This is how this game gets away with updating all those tiles even with a fairly slow loop.
3gengames
Formerly 65024U
Posts: 2284
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames »

This is awesome.
Denine
Posts: 397
Joined: Wed Feb 17, 2010 5:42 pm

Post by Denine »

tokumaru wrote:I just looked at the game you are talking about. Notice that there's a big blue area at the bottom of the screen. That's because the game disables rendering 23 or so scanlines earlier, so it more than doubles the VBlank time. This is how this game gets away with updating all those tiles even with a fairly slow loop.
Oh, that's how it works!
Thanks for pointing it out.
This may be a useful trick if I need more Vblank Time.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

When you need more VBlank time than what's available, you have 2 options: start it earlier (which this game does) or end it late. Both methods have advantages and disadvantages:

Disable rendering earlier: requires mapper IRQs or sprite 0 hits. Sprite hits are hard to guarantee when you have vertical scrolling as well, and you must be absolute sure that the game logic will finish before the sprite hit, otherwise you'll miss it and there will be side effects (that range from the bottom of the screen blinking - if you have prepared for this problem - to corrupt VRAM writes and bad scrolling - if you are less careful). There's also a recently discovered hardware quirk that causes sprites to glitch in the next frame if you are not really careful about when and how the rendering is disabled.

Enabling rendering late: The VBlank handling starts with an NMI, as usual, but rendering is kept disabled after the start of the frame. Requires timed code or mapper IRQs that work when rendering is off, so that rendering is always enabled at the same point. Writing constant-timed Vblank code can be tough (but not impossible by any means), but there are techniques that allow you to detect the end of VBlank, in which case only the code past that point would need to be constant-timed (updating the pattern tables for example is a good thing to do here).
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Post by Kasumi »

I'm loving the debug functions in this game. A+B = Free movement.

Also, I don't think it's updating 12 tiles per frame. Looks more like fourish tiles most frames. Maybe one or two more that I'm not seeing. This makes the animations of the tiles not even match up. Like the stars. The bottom isn't synced to the top, which is distracting to me. I even noticed it before I played frame by frame.

Stars:
Top left tile changes on frame 1
Top right tile change on frame 2
Bottom left tile changes on frame 3
Bottom right tile changes on frame 4.
Doesn't change on frames 5-8

Peppermint Swirl:
Doesn't change on frames 1-4
Top left tile changes on frame 5
Top right changes on frame 6
Bottom left changes on frame 7
Bottom right changes on frame 8

Pepperment Poles:
Update every frame.

Gears:
Work identical to stars

Sand Dunes:
Only have two tiles, but update with the Pepperment swirls.


So just four tiles in a frame, that I can see.

Edit: Actually, the thing that impresses me is that this game swaps sprite background priority for the main character fairly often. It's simple to do, but I can't recall another game that does it quite like this. You walk behind palm trees, but in front of green blocks and candy canes. SMB3 and other games I can think of do it in really specific cases, this game goes crazy with it.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Kasumi wrote:Actually, the thing that impresses me is that this game swaps sprite background priority for the main character fairly often. It's simple to do, but I can't recall another game that does it quite like this.
Could it be because a lot of games don't have a solid-color-0 background and would need to use a SMB3-style mask sprite at the boundary?
Denine
Posts: 397
Joined: Wed Feb 17, 2010 5:42 pm

Post by Denine »

So just four tiles in a frame, that I can see.
Wow. You are right.I didn't noticed it, thanks for pointing it out.
SMB3 and other games I can think of do it in really specific cases, this game goes crazy with it.
"Yolkfolk Forest" and "Mines" from Fantastic Adventures Of Dizzy also play tricks like that.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Post by thefox »

tokumaru wrote:Enabling rendering late:
One more disadvantage: the dot-crawl pattern changes, because one PPU clock isn't skipped on the pre-render scanline. How big of a deal this really is is of course up for debate. :)
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Dreamworld Pogie compiled!

Post by thefox »

Denine wrote:**Copy-paste from yolkfolk.com**
Hi, about 10 minutes ago I was found a page on yolkfolk.com which had downloadable dreamworld pogie source.
(http://yolkfolk.com/site/news.php?id=137)
Unfortunately there's no source code at that address, it's just the 8 16KB PRG-ROM banks of the game in separate files. Calling it "source code" is very very misleading. :)
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

thefox wrote:One more disadvantage: the dot-crawl pattern changes, because one PPU clock isn't skipped on the pre-render scanline.
This isn't necessarily a disadvantage... more like a side effect. In some cases I think that the different dot-crawl pattern actually looks better, but most of the time I'm indifferent.
thefox wrote:Unfortunately there's no source code at that address
The person who first called that "source code" probably doesn't even know what source code is.
Post Reply