Jump to content

Dragon's Verse (just a place for 7800 RPG Prototypes at the moment)


Recommended Posts





This is still something of a tease - not even really worth posting as a "coming soon" game yet - I've been outlining various RPG mechanics, what might fit within 7800 performance and ROM space, and what kind of RPG I'd like to personally make.  

I figured I'd post this little "sketch" before various 7800 tricks and developments make it obsolete.  It's as much a test of "how many Display List Lists can I fit onscreen in a very ineffecient scrolling system." as much as a test of how my overworld map *could* work.


It's really pretty simple, I just draw a ton of single DLLs as map tiles, and have the crystal ball graphic act as a mask for the edges.
I don't do any optimization, each "tile" is a "sprite" - no optimization of colors, but that also means I can paint the world how I want.  It also means each tile can be whatever palette I want, and they're pretty easy to animate since they're drawn each frame.  

I'll admit the lookahead isn't great, but MARIA gets a little overwhelmed with any more graphics drawn, especially with the crystal ball "mask" on top.  I *can* add a character (and drop shadow) in the middle, and kept the text counters from the sample code I started from as a way of seeing how much text I can plot to the screen under the main scrolling section of the screen.


The map is small, at 16x16.  I have a few ways I could make it bigger, but that wasn't the thing being tested in this prototype - it was mainly the way one looks at and travels the map. 


The graphics are also incredibly temporary - I just wanted to get one animated and throw in a few palettes to make sure the system worked.  If I can do it once, I can do it many, many times.


I'm looking at a lot of elements, like ROM/RAM layouts, this new banksets feature that just got 7800Basic support, how much text I could fit into a hypothetical game, how much information I can squeeze out of a SaveKey/AtariVox save slot (my go-to for a save system), etc. etc.  even as I plan out what the actual game could and would be like, so there's a lot of moving targets and specs at the moment.


And yes, you'll likely play as a dragon.  I find it odd that folks find this odd - given the choice between playing as a plumber or a primal flying force of destruction, I'd generally opt for the latter within a video game :)  Honestly, my working design is that this would be a roving monster party, kind of like a Shin Megami Tensei group or Pokemon team without a human in the center.


I'll post any other little developments or prototypes here as I tinker with things.  I'll also add I have at least one other project in the works (post-Harpy's Curse) I want to get to before this, so, again, don't hold your breath for too long.  And don't wait for this to be released before getting the already released games in The Dragon Trilogy ;) 

  • Like 11
Link to comment
Share on other sites

4 hours ago, Revontuli said:

It's really pretty simple, I just draw a ton of single DLLs as map tiles, and have the crystal ball graphic act as a mask for the edges.

This sounds interesting. Although I have no clue of how to draw a ton of DLL's. Or mask stuff with a circle...

  • Like 1
Link to comment
Share on other sites

9 hours ago, karri said:

This sounds interesting. Although I have no clue of how to draw a ton of DLL's. Or mask stuff with a circle...

I'm using 7800Basic, which handles a lot of the graphics weirdness the 7800 requires, and using that interface I'm simply drawing a lot of 16x16 pixels elements (Display Lists, or "sprites") as tiles:



It's a 6x8 tile map, that moves around with a 1-tile margin on all sides.  Yes, that means I call "plotsprite" 48 times, and they're not guaranteed to be entirely within 1 zone, so in a way I'm usually calling it 96 times.  I know there's a possible workaround for vertical shifting, but that would also change a lot of how I'd thinking about making a 4-way scrolling system in the first place.  


The "mask" is just another graphic I draw on top of the whole thing, with a black border and a transparent interior (magenta being the transparent color for this example):


Combining the two we get a scrolling "window" that hides the constantly shifting tile margins:


As you can see, there's a lot of space that's blacked out at any given time, but that extra portion could be on any side (top, bottom, left, or right) of the scrolling map, so I'm literally covering my bases.  Of course there are any number of ways to optimize this, but I found it to be a good starting point.



  • Like 4
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.

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...