Jump to content
IGNORED

Beyond Castlevania...


Recommended Posts

Man been forever since i've posted. had an extremely crappy year. I got alot of stuff that will keep me away from any of my ongoing work. And yes castlevania is still at the forefront of my game work but it is still far off for a while atm. I had some strange drive to create an image even though I haven't had the time or the drive to do any artwork prior to the drive. lol so I just wanted to share the image for inspiration to others. here ya go.

 

post-10601-129687280789_thumb.png

Excellent!

The Immortal was a very good game.

Do isomethric games exists for VCS?

I think that with new bB v1.1 a scaled down version of Immortal could be made.

Link to comment
Share on other sites

 

Excellent!

The Immortal was a very good game.

Do isomethric games exists for VCS?

I think that with new bB v1.1 a scaled down version of Immortal could be made.

I suppose crystal castles counts as an isometric game. One person asked me if they cared if they tried rendering the 2 marble madness levels I drew. I look forward to seeing it on screen to see what it looked like but haven't heard anything back since he asked me. I used those as a template for this one. I may just check out this new kernel for bB that was created for Harmony/DPC+ Just to see how well the levels would look if they might be playable. The same goes for this one. The only thing I wonder about, especially since some arm code can be run briefly now, is that if the ARM could take over for scrolling the playfield??? :ponder:

  • Like 1
Link to comment
Share on other sites

One person asked me if they cared if they tried rendering the 2 marble madness levels I drew. I look forward to seeing it on screen to see what it looked like but haven't heard anything back since he asked me.

 

Actually, I was waiting for permission. :)

But, since I read this post this morning, I got a little bit excited, and put together something for ya.

Not scrollable, but you can see the general idea.

 

I got a little bit bored from the data entry (I just did PF0_1 and PF1_1), but I've shared the source, and I can help explain to people how to "fill in the gaps" if they feel like it. In fact, I encourage it!

 

Not bad for a pre-superbowl exercise.

 

-John

marble_2011_01_06_asm.zip

marble_2011_01_06_bin.zip

Link to comment
Share on other sites

Simple scrolling added. No new screenshot, since when you scroll up, all you see is a solid screen. :)

 

Limitations:

1) The current kernel has the screen limited to showing 95 pairs of blue and white lines, making a total of 190 lines visible at any time.

2) Due to a page boundary, at the moment, it'll only support up to 255 pairs of blue/white lines before scrolling stops. This can be fixed later with some smart logic/bankswitching, but I don't want to put the cart before the horse yet. :)

3) If you scroll ALL the way up, you'll see that the rightmost set of blue is messed up for the first 4 values.

This is because I currently have this data overlapping the start vectors. Of course, I can always move this out of there, but for now, it doesn't matter.

 

-John

marble_2011_01_07.zip

Link to comment
Share on other sites

It shouldn't be very difficult to do the title screen. I glanced through your asm file and it looked like you were loading the TIA registers PF0 PF1 and PF2 twice for 6 loads per scanline. I thought I would help by prearranging the data but by the time I got through it, it was that time when I noticed the difference in the kernel. I only did about half of the work on this breakdown image as I was going to shrink it verticaly by 50% 2 times and offset the second run so that the grey would be separate from the blue. I just wasn't too sure which data arrangement you were using. I flipped the image and separated the register load data and flipped accordingly ,but I did so on the basis of only 4 register loads and with mirroring turned on. But either way here is what I got so far. I can do more later.

post-10601-129719949511_thumb.png

  • Like 1
Link to comment
Share on other sites

It shouldn't be very difficult to do the title screen. I glanced through your asm file and it looked like you were loading the TIA registers PF0 PF1 and PF2 twice for 6 loads per scanline. I thought I would help by prearranging the data but by the time I got through it, it was that time when I noticed the difference in the kernel. I only did about half of the work on this breakdown image as I was going to shrink it verticaly by 50% 2 times and offset the second run so that the grey would be separate from the blue. I just wasn't too sure which data arrangement you were using. I flipped the image and separated the register load data and flipped accordingly ,but I did so on the basis of only 4 register loads and with mirroring turned on. But either way here is what I got so far. I can do more later.

 

Thanks!

 

Yeah, I stupidly realized that I don't need to load PF0 with a bunch of absolute,X commands; I could just LDA #0 and save 2 cycles.

So, at a minimum, it could be 5 absolute loads, and one immediate load.

 

For the reflected idea, it's a good one in theory, but I don't think I've ever seen any 2600 kernel in source code do reflected PF *and* PF updates, since you have to hit that cycle exactly every single time. That means any page-boundary crossings can't happen; things have to be really, really tight. That's ok, but it just means a very robust kernel. Honestly, since there are 3 color clocks per cycle, I didn't even consider a reflected PF with PF updates as a possibility. In fact, does that color clock hit right on the middle of the screen (i.e. pixel 80)? If it is off at all, that solution may not work.

 

The other thing I considered was... what if it's non-reflected, but shifted?

For example, what if shifted left? That would mean my second PF2 would be a load-immediate with #0.

But, then again, it's fundamentally the exact same as what I have now, but with the gross problem that HMOVE lines could be visible and interfere in the kernel.

 

So, yeah, I can give your proposed method a shot; I just want to make sure the math works out.

Does anyone know if any programmer has ever used that technique? Just curious. :)

 

-John

Link to comment
Share on other sites

Was wondering how well a kernel would do with the PF mirrored as compared to the previous method of rendering for freeing up cycles? I also noticed ya had the scrolling by every 2 scanlines because the grey/blue color pattern never shifted when scrolling. The scrolling is great but as far as allowing for player0 and player1 loads, ya think there will be enough free cycles for that? Possibly double pixel height?

  • Like 1
Link to comment
Share on other sites

Well, I'd never believe it, but you're right!

If I store to PF2 EXACTLY at cycle 48, preliminary tests seem to show that it'll draw the PF2_1 and PF2_2 seamlessly.

I'm going to rethink my kernel. :)

 

Yes, this trick does work if you store PF2 on exactly cycle 48. It is used in quite a few titles, including my Hunchy 2 game. The PF update in Hunchy 2 looks like this:

 

       lda (SPTR0),Y           ; [16] + 5
       sta PF1                 ; [21] + 3      < 28
       lda (SPTR1),Y           ; [24] + 5      
       sta PF2                 ; [29] + 3      < 38
       lda (SPTR3),Y           ; [32] + 5
       sta PF1                 ; [37] + 3      > 38 < 60
       lda (SPTR2),Y           ; [40] + 5
       sta PF2                 ; [45] + 3      = 48 EXACT

 

Chris

Link to comment
Share on other sites

Well, that's neat to know.

 

I kind of like it how the timing of the color clocks matches that exactly. I never would have thought it possible, and assumed we would have a pixel or two "bleed". I have a basic redesign, but I think I'd like to start with the "Beginner" level, since it doesn't cross 255 pixels in height per color. I'll need some time to get that done, but it's in progress.

 

For the scrolling, yes, grafixbmp, you're right-- it goes at a rate of "two". How the player graphic moves could probably be independent of the PF drawing, and since I'm doing 4 direct/absolute-indexed reads, there are cycles available for other tasks. For the scroll, I had an idea to make it go at the rate of "one", and that's in progress.

 

Oh, and in the beginner map, I noticed a teeny tiny bug. In the leftmost column, the second and third orange pieces (and the white piece in between) need to be shifted down 1 pixel I think. Yes?

 

For the orange/brown, which NTSC and PAL colors would be optimal?

http://www.qotile.net/minidig/docs/tia_color.html

 

Regards

-John

Link to comment
Share on other sites

Your right. I never really liked how that looked but couldn't for some reason figure out a good method to present the numbers well. I also meant to add the number spaces at the first ramp but forgot about it. If you can find a better look to the number spaces, go with that cause i was always unsure about that part and wanted some input but never heard anyone say otherwise.

 

As far as color, just any dark hue of 2. say between 02 and 52

  • Like 1
Link to comment
Share on other sites

Yes, take your time, don't rush.

I got bored last night. Since valentine's is getting closer, I'm seeing everyone hooking up around me (bow chika wow wow) and about the best i could do was text a girl till 1 in the morning. But while all this was going on, I decided to work on trying to complete all possible graphics for the main marble and I must say as compared to the original, they look rather decent. I'm not sure how they will animate. Not real sure what the sequence patterns are from the NES, since that is what I based these off of. I always had the notion for the marble's shape to be displayed frame 0 and the flow patterns of the crystals in the marble frame 1. I allowed for both possible outcomes to this: full rez and double pix height. Either will work however, for the double height, I left the ball shine off.

 

All this is just in case you want to play with animation possibilities.

 

post-10601-129743890569_thumb.png

  • Like 1
Link to comment
Share on other sites

The screens for Marble Madness look great. The main issue I see is how to get the marble to go behind the playfield in certain parts of the map. This is going to require some complex sprite masking to make it look convincing. Normally isometric games draw the screen from the back to the front, so the masking is taken care of automatically. However, that is not an option when using the playfield. Crystal castles cheated and made sure that nothing was ever obscured :)

 

Chris

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...