enthusi Posted September 3, 2018 Share Posted September 3, 2018 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.com/articles/lacim-s-legacy---a-new-isometric-rpg-in-development-for-atari-lynx 22 Quote Link to comment Share on other sites More sharing options...
Maddog Posted September 3, 2018 Share Posted September 3, 2018 There is certainly interest and look forward to see how this progresses That screen shot looks great 2 Quote Link to comment Share on other sites More sharing options...
enthusi Posted September 3, 2018 Author Share Posted September 3, 2018 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 5 Quote Link to comment Share on other sites More sharing options...
Trew Posted September 3, 2018 Share Posted September 3, 2018 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. 2 Quote Link to comment Share on other sites More sharing options...
sirlynxalot Posted September 3, 2018 Share Posted September 3, 2018 Cool. Looks like a nice fresh concept for the lynx! 1 Quote Link to comment Share on other sites More sharing options...
Igor Posted September 4, 2018 Share Posted September 4, 2018 That's looking great! Please do keep the updates coming! 1 Quote Link to comment Share on other sites More sharing options...
BadPricey Posted September 4, 2018 Share Posted September 4, 2018 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. 1 Quote Link to comment Share on other sites More sharing options...
Ninjabba Posted September 4, 2018 Share Posted September 4, 2018 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 Make it happen and let me get a copy Do you have any references to the gameplay that you can share? (eg. Wyvern Tales was clearly inspired by Final Fantasy) 1 Quote Link to comment Share on other sites More sharing options...
Turbo Laser Lynx Posted September 4, 2018 Share Posted September 4, 2018 (edited) 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) Edited September 4, 2018 by Turbo Laser Lynx Quote Link to comment Share on other sites More sharing options...
zooperdan Posted September 4, 2018 Share Posted September 4, 2018 (edited) 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.com/watch?v=7n7qtErhF-A Cadaver: https://www.youtube.com/watch?v=KZH2iWt9kgA Darkmere: https://www.youtube.com/watch?v=ztLKChowUXI Hero Quest: https://www.youtube.com/watch?v=tBr2IYiPWlM Edited September 4, 2018 by zooperdan 4 Quote Link to comment Share on other sites More sharing options...
hikachi Posted September 5, 2018 Share Posted September 5, 2018 I really like the graphics of this project. Great color usage! Please continue working on this Quote Link to comment Share on other sites More sharing options...
enthusi Posted September 5, 2018 Author Share Posted September 5, 2018 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. 5 Quote Link to comment Share on other sites More sharing options...
enthusi Posted September 5, 2018 Author Share Posted September 5, 2018 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). Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted September 5, 2018 Share Posted September 5, 2018 This reminds me of Solstice on the NES, in a good way. Plus, you have an excellent eye for color theory. Quote Link to comment Share on other sites More sharing options...
enthusi Posted September 6, 2018 Author Share Posted September 6, 2018 I am only responsible for the code :-) Dan made all the gfx. Here is a (bad) quick video of the engine's current status: 10 Quote Link to comment Share on other sites More sharing options...
Turbo Laser Lynx Posted September 6, 2018 Share Posted September 6, 2018 Beautiful! 1 Quote Link to comment Share on other sites More sharing options...
LordKraken Posted September 6, 2018 Share Posted September 6, 2018 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!!! Quote Link to comment Share on other sites More sharing options...
+Stephen Moss Posted September 6, 2018 Share Posted September 6, 2018 Looks good Quote Link to comment Share on other sites More sharing options...
Cyprian Posted September 6, 2018 Share Posted September 6, 2018 looks really promising Quote Link to comment Share on other sites More sharing options...
enthusi Posted September 8, 2018 Author Share Posted September 8, 2018 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 Quote Link to comment Share on other sites More sharing options...
sage Posted September 8, 2018 Share Posted September 8, 2018 stream the sound effects from rom. eats cpu, saves memoty Quote Link to comment Share on other sites More sharing options...
enthusi Posted September 9, 2018 Author Share Posted September 9, 2018 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!) Quote Link to comment Share on other sites More sharing options...
sage Posted September 9, 2018 Share Posted September 9, 2018 the good old Duranik mod player of course. East up even more ram. Quote Link to comment Share on other sites More sharing options...
sage Posted September 9, 2018 Share Posted September 9, 2018 and you can use the epyx sound driver.... Quote Link to comment Share on other sites More sharing options...
mcclure911 Posted September 10, 2018 Share Posted September 10, 2018 (edited) 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 September 10, 2018 by mcclure911 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.