Jump to content

Photo

ISOmetric RPG in development


65 replies to this topic

#1 enthusi OFFLINE  

enthusi

    Dragonstomper

  • 506 posts
  • Location:Potsdam, Germany

Posted Mon Sep 3, 2018 8:00 AM

For quite a while now I have been thinking of doing an isometric title for the Lynx since

(at the time!) it seems like the ideal plattform for this with SUSY's fast bitmap drawing etc.

 

A couple of weeks ago Dan Thoresen started posting some mockup screens of a hypothetical RPG style isometric game.

Recently he started implementing it for the hypothetical hardware plattform Pico8 ;-)

 

I was in awe und since he sent me his original spritesheets with the tiles I started testing how this would work and look on the Lynx.

I would not post here if I wasnt determined to develop this into a full scale Atari Lynx game. Ever since we are inclose contact on this endeavor and Dan was most helpful and we had some great chats on layout and general issues.

The maps are 10x10 with the outer tiles usually being defined as (back)walls or exits/doors.

My first proof of concept would draw all 10x10 tiles sorted by z-position in a long 100 sprite chain each frame.

Then go on with the player, items and the doors in case they are located at the south/east sides.

It turned out that this is about twice as fast in handysdl or mednafen than on real hardware. What a bummer ;-(

Setting the skip-this-sprite flag was roughly about as fast as pointing the data to a 1 pixel transparent sprite.

 

Drawing isometric tiles is somewhat tricky as i.e. walls are not at the center of a tile but instead are shifted to one side.

Outward corners hence require two tiles to be drawn at the same position, something a Sprite-chain for SUSY couldnt easily reflect.

There is no simple way to redraw individual tiles (quickly) as for isometric view you never know in advance which tiles will overdraw what areas unlike for top-view set ups.

 

Also the conversion map-position, tile-position and screen x,y coordinates can get a bit tedious.

During the weekend I decided to drop the draw-all-tiles each (2nd, 3rd..) frame and instead went for the classic approach to handle this in software via CPU.

So still all 100 tiles are checked for subterrain structure, then all 100 tiles are plotted but that only happens once per room change.

Only the player and the objects in the room (much less than 100) are drawn each (double buffered) frame.

 

When the player (or other movable objects later on) are being drawn, the data beneath the player gfx is buffered and restored before the player gets drawn at another position. This happens each frame.

To allow the player to walk in front of objects as well as behind them I parse the list of items and replace the next_in_chain pointer of the object that is just being further away then the player by the sprite data for the player itself.

The player sprite definition points again back to chain and continues to draw all objects in front. The player sort of gets injected into the ONE sprite chain SUZY is drawing.

Despite all the buffering and restoring of bitmap data and pointers this is much faster now and I am more than happy with the overall result.

 

It is still in a pretty early stage but I think there are no further showstoppers now that the engine runs fast enough (with quite some raster time left).

The numbers on screen show the amount of raster lines used after start, after the player sprite is buffered and the data injected, after some minor pointer changes (just 1 line currently) and after all of the items including the player are being drawn. 0x16 = 22 rasterlines including some dummy IRQ placeholder in handy_sdl.

Not yet verified on real Lynx but even if a factor 2 applies again, I feel fine.

 

If there is interest, I will happily keep posting here on the progress.

Cheers,
Martin /enthusi & Dan

 

Edit:

Igor of Atarigamer.com wrote a small article on "Lacim's Legacy":

https://atarigamer.c...-for-atari-lynx

Attached Thumbnails

  • screentest.png


#2 Maddog OFFLINE  

Maddog

    Star Raider

  • 59 posts
  • Location:Oxford, UK

Posted Mon Sep 3, 2018 9:44 AM

There is certainly interest and look forward to see how this progresses

 

That screen shot looks great  ;-)



#3 enthusi OFFLINE  

enthusi

    Dragonstomper

  • Topic Starter
  • 506 posts
  • Location:Potsdam, Germany

Posted Mon Sep 3, 2018 1:26 PM

Thank you. Any feedback means alot to me :)

Attached a shot from a real Lynx. Much worse timing but still right where I wanted it to be :)

Attached Thumbnails

  • speed.png


#4 Trew OFFLINE  

Trew

    Chopper Commander

  • 246 posts

Posted Mon Sep 3, 2018 3:59 PM

This looks incredible. I already cannot wait... but as a Lynx fan, I, of course, know how long these things take. Just know that we're all going to be lining up for this one.



#5 sirlynxalot OFFLINE  

sirlynxalot

    Dragonstomper

  • 535 posts

Posted Mon Sep 3, 2018 4:03 PM

Cool. Looks like a nice fresh concept for the lynx!



#6 necrocia ONLINE  

necrocia

    Chopper Commander

  • 166 posts

Posted Tue Sep 4, 2018 12:04 AM

That's looking great! Please do keep the updates coming!



#7 BadPricey ONLINE  

BadPricey

    Moonsweeper

  • 419 posts

Posted Tue Sep 4, 2018 12:50 AM

That graphics style looks very nice. Pity games looking this good weren't made in the early days of the Lynx. Can't wait for further updates on this.

#8 Ninjabba OFFLINE  

Ninjabba

    Dragonstomper

  • 669 posts
  • Location:Lurking in the Darkness

Posted Tue Sep 4, 2018 4:03 AM

Wow, this looks really great! I love isometric RPGs, though it comes with a fair amount of challenges that I wasn't willing to deal with :P

Make it happen and let me get a copy :D

 

Do you have any references to the gameplay that you can share? (eg. Wyvern Tales was clearly inspired by Final Fantasy)



#9 Turbo Laser Lynx OFFLINE  

Turbo Laser Lynx

    Moonsweeper

  • 456 posts
  • Location:Finland

Posted Tue Sep 4, 2018 1:13 PM

Looks really great! :)  Especially the real Lynx screenshot is exciting!
 

 

It is still in a pretty early stage but I think there are no further showstoppers now that the engine runs fast enough

 

I learned it the hard way ;D but in my experience it's smart to add music and/or sfx early in the development, to see how much they drag down performance (in unexpected and annoying places) :-D

Edited by Turbo Laser Lynx, Tue Sep 4, 2018 1:14 PM.


#10 zooperdan OFFLINE  

zooperdan

    Combat Commando

  • 1 posts

Posted Tue Sep 4, 2018 1:34 PM

Hey guys. Thanks for the positive feedback :)

 

Do you have any references to the gameplay that you can share? (eg. Wyvern Tales was clearly inspired by Final Fantasy)

 

I've always had a particular fondness for isometric games ever since Knight Lore on ZX Spectrum, which to date is one of the games that have really captivated me the most. Other sources of inspiration is the great classics Cadaver, Darkmere and Hero Quest (1) on Amiga.

 

The gameplay will resemble Cadaver the most but with more static environment (no pushing stuff around). Game will feature a bit of puzzles and hazards (traps), monsters encounters with the occasional boss, some peaceful creatures, basic character progression and a number of equippable and useable items. There will be several types of areas to be explored such as forest, mountains, grassy field, desert, castle interiors, village houses and of course lots of dungeons!

 

The initial idea behind this came (as enthusi wrote) from me doing a quick pixelart screen mockup of a fictional rpg for PICO-8 platform. The mockup got an amazing amount of attention and positive feedback so I decided to put some code behind it and see how it would actually play. Enthusi approached me and wanted to see if this could be done on Lynx and couple days later and lots of special kind of asm magic by enthusi we have something that resembles a game concept on Lynx, and I'm ecstatic about it :)

 

References:

Knight Lore: https://www.youtube....h?v=7n7qtErhF-A

Cadaver: https://www.youtube....h?v=KZH2iWt9kgA

Darkmere: https://www.youtube....h?v=ztLKChowUXI

Hero Quest: https://www.youtube....h?v=tBr2IYiPWlM


Edited by zooperdan, Tue Sep 4, 2018 2:03 PM.


#11 hikachi OFFLINE  

hikachi

    Space Invader

  • 45 posts
  • Location:Poland

Posted Wed Sep 5, 2018 3:02 AM

I really like the graphics of this project. Great color usage! Please continue working on this :)



#12 enthusi OFFLINE  

enthusi

    Dragonstomper

  • Topic Starter
  • 506 posts
  • Location:Potsdam, Germany

Posted Wed Sep 5, 2018 5:24 AM

Here is another shot with items and furniture.

I too love the gfx :)

Yes, thanks for the heads up about the music. I intend to use my own player. If feasible sample based. Hence the dummy HBL raster already. So I already burn some extra cycles right now.

A 'proper' (err.. preliminary) sound engine is something I will add once the basic functionality (walking around) is implemented.Then we really know where we stand.

Attached Thumbnails

  • shot.png


#13 enthusi OFFLINE  

enthusi

    Dragonstomper

  • Topic Starter
  • 506 posts
  • Location:Potsdam, Germany

Posted Wed Sep 5, 2018 3:33 PM

Another update.

All coordinate transformations (that I need so far) are implemented and *drum roll* working.

That helped alot debugging a few things and now the proper z-depth sorting with objects and the player also are fully working. And you can't walk through objects and out of screen anymore. It starts to feel like a game, actually (in my biased opinion).



#14 SlidellMan OFFLINE  

SlidellMan

    Moonsweeper

  • 298 posts
  • Location:Slidell, Louisiana

Posted Wed Sep 5, 2018 5:55 PM

This reminds me of Solstice on the NES, in a good way. Plus, you have an excellent eye for color theory.



#15 enthusi OFFLINE  

enthusi

    Dragonstomper

  • Topic Starter
  • 506 posts
  • Location:Potsdam, Germany

Posted Wed Sep 5, 2018 6:07 PM

I am only responsible for the code :-)
Dan made all the gfx.
Here is a (bad) quick video of the engine's current status:


#16 Turbo Laser Lynx OFFLINE  

Turbo Laser Lynx

    Moonsweeper

  • 456 posts
  • Location:Finland

Posted Thu Sep 6, 2018 12:22 AM

Beautiful! :thumbsup:



#17 LordKraken ONLINE  

LordKraken

    Chopper Commander

  • 129 posts
  • Location:Sverige

Posted Thu Sep 6, 2018 12:40 AM

Look great! Nice game engine :)

 

The tileset and the palette give a feeling that is more of a SNES game rather than a 8bit games!!!



#18 Stephen Moss OFFLINE  

Stephen Moss

    Stargunner

  • 1,098 posts
  • Location:Cambridge, United Kingdom

Posted Thu Sep 6, 2018 2:50 AM

Looks good



#19 Cyprian_K OFFLINE  

Cyprian_K

    Star Raider

  • 85 posts

Posted Thu Sep 6, 2018 5:02 AM

looks really promising



#20 enthusi OFFLINE  

enthusi

    Dragonstomper

  • Topic Starter
  • 506 posts
  • Location:Potsdam, Germany

Posted Sat Sep 8, 2018 7:33 AM

The game runs well (even still at 60 FPS) with four channel sampled music but memory will probably prevent us from going that road unfortunately.

Attached is a memory usage layout with the music and samples. White is RAM left ;-)

Attached Thumbnails

  • memmap.png


#21 sage OFFLINE  

sage

    Dragonstomper

  • 929 posts
  • Location:Germany

Posted Sat Sep 8, 2018 7:51 AM

stream the sound effects from rom. eats cpu, saves memoty



#22 enthusi OFFLINE  

enthusi

    Dragonstomper

  • Topic Starter
  • 506 posts
  • Location:Potsdam, Germany

Posted Sun Sep 9, 2018 5:27 AM

Yes, that would be an option. However, I dont think that sound effects will be the problem in the end. They can easily be reloaded on a room by room basis anyway. I was rather concerned of a whole musical arrangement based on samples. The memory map I showed is for the Jazztune  I recently uploaded with a picture scroller. So it has high quality samples but also already makes use of looped samples, etc. Well, currently I investigate a bit on the waveforms and chiptune music with the Lynx.

abcmusic and HandyMusic appear to be the only progressed tools/engines for this that I found?

(and chipper of course!)



#23 sage OFFLINE  

sage

    Dragonstomper

  • 929 posts
  • Location:Germany

Posted Sun Sep 9, 2018 9:18 AM

the good old Duranik mod player of course. East up even more ram.



#24 sage OFFLINE  

sage

    Dragonstomper

  • 929 posts
  • Location:Germany

Posted Sun Sep 9, 2018 9:19 AM

and you can use the epyx sound driver....



#25 mcclure911 OFFLINE  

mcclure911

    Combat Commando

  • 2 posts

Posted Mon Sep 10, 2018 6:26 AM

Everything you said was way beyond my pay grade but the play video looked fantastic.  I look forward to seeing more play videos as you continue to work on the project.   

 

Definitely excited to hear about a new title being worked on!  

 

 

Sean

(new guy)


Edited by mcclure911, Mon Sep 10, 2018 6:28 AM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users