Omnimaga

Calculator Community => Other Calculators => Topic started by: DJ Omnimaga on January 01, 2014, 10:13:45 am

Title: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: DJ Omnimaga on January 01, 2014, 10:13:45 am
Dual-layer RPG Graphics Demo

This nowhere close to finished, but this program from December 2012 (I made this to experiment with dual-layer ASCII when the 84+CSE was leaked, but such technique was finally impossible on the new calc) showcases an RPG-like map engine and tile-mapper, with missing random battle and menu code. However, a monster graphic and battle background still show up as well as a window box at the bottom of the screen before quitting.

Its main features, however, is that it uses dual-layer ASCII (superposing two ASCII characters on top of each others to generate nice-looking sprites) and limited drawing commands in order to achieve ASM-like graphics, and a simplified map engine to keep map data as small as possible. All of this is done in TI-BASIC. Although this program is simple, it can show that very good stuff can be done in this language without using a single ASM library.

(http://img.ourl.ca/duallayer.gif)

Use arrows to move around, 2nd or Enter to continue and ON to quit.

http://www.omnimaga.org/index.php?action=downloads;sa=view;down=879
Title: Re: Dual-layer RPG Graphics Demo
Post by: Matrefeytontias on January 01, 2014, 12:33:32 pm
Wow, that's one good-looking demo ! What characters do you superpose to get this tilemap ?
Title: Re: Dual-layer RPG Graphics Demo
Post by: DJ Omnimaga on January 01, 2014, 06:35:49 pm
Thanks, for this tile map, I used "[xhat]" and "K" (the first is the lowercase X with an horizontal bar above). One of them is offset by 1 pixel, but I forgot which one.
Title: Re: Dual-layer RPG Graphics Demo
Post by: tr1p1ea on January 02, 2014, 12:18:11 am
So it wasnt plausible on the CSE? Mainly because of speed reasons?

Could xLIB help in any way?
Title: Re: Dual-layer RPG Graphics Demo
Post by: DJ Omnimaga on January 02, 2014, 12:28:23 am
on the 84+, when using RecallPic, the OR logic is used, meaning that only black pixels from the pics get displayed on the screen, white remaining transparent.

On the color model, white pixels stored inside a picture overwrites the screen content like colored pixels would, and sadly, Text() generates a non-transparent white background (or gray, depending of the text color), preventing the dual-layer trick from even working at all.

I doubt that speed would be an issue, but the only text sprite tricks that still work are horizontal/vertical text sprites (which are already slow on monochrome models to begin with).

That said, if Celtic2CSE had text transparency options for the graph screen, I am fairly sure that it would allow people to use dual-layer ASCII sprites fine, but given that xLIBC also comes with Celtic2CSE (Doors CSE 8), I don't see the point, since we can just use xLIBC text or actual sprites anyway. But again, using ASM libs would kinda defeat the point of this particular BASIC program, which is to show an example of how far TI-BASIC graphics can be pushed without aid from ASM libs, while still rendering at somewhat fast speed. :P
Title: Re: Dual-layer RPG Graphics Demo
Post by: tr1p1ea on January 02, 2014, 03:30:31 pm
Oh ok, BASIC only, i get ya now :).

Very impressive B&W screenies btw, looks amazing :).
Title: Re: Dual-layer RPG Graphics Demo
Post by: TIfanx1999 on January 02, 2014, 04:43:39 pm
Yepp, I have to say, looks great. :D Too bad it's only a demo.
Title: Re: Dual-layer RPG Graphics Demo
Post by: DJ Omnimaga on January 02, 2014, 08:17:19 pm
Thanks. What I am curious about really is if, with such engine (and small map data, which is basically just a bunch of letters displayed on top of each others to form a mini-map), it would be possible to produce an above average (per ticalc standards) calc RPG and still keep it to Mario/Lotus-like file sizes. In Illusiat 13, I already use heavy compression/size saving measures on magic spell animations by using the same code for almost every animation but a different tileset, and enemy graphics using dual-layer ASCII and the engine above wouldn't be too large, especially considering the monster above looks fine regardless of if the bottom rows of tiles are omitted or not. See an example below:

(http://img.ourl.ca/4spritesduallayer.png)

Basically, the 1st is like a slime, the 2nd a warrior with two lances, the 3rd is an hornet and the 4th is some sort of giant dragonfly.

Title: Re: Dual-layer RPG Graphics Demo
Post by: The_King on January 02, 2014, 11:17:07 pm
Those are real good dj o

keep it up

Title: Re: Dual-layer RPG Graphics Demo
Post by: Sorunome on January 04, 2014, 11:55:49 am
That demo is looking awesome DJ, keep up the great work! :D
Title: Re: Dual-layer RPG Graphics Demo
Post by: DJ Omnimaga on September 06, 2021, 12:22:10 pm
So this shifted, layered text-sprite RPG engine got a revival:

https://i.imgur.com/orglXJP.gif

Currently, the map data is about 105 bytes per dungeon (30 bytes of which is for event location data, for a total of 5 events per dungeon), each of which can contain a maximum of 221 rooms (even at 221 rooms an entire dungeon can be as small as 65 bytes).
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: DJ Omnimaga on September 07, 2021, 05:39:16 pm
It's official: The game is called Darkblasters and all maps are now implemented and linked together. There are over 390 rooms to explore in 6 different areas and the game takes a little under 5 KB so far.

(https://i.imgur.com/LL3wJqi.gif) (https://i.imgur.com/xl0f3an.gif) (https://i.imgur.com/vg1rRTs.gif) (https://i.imgur.com/MH3eZll.gif)

Battles are not included yet, so they just show a monster with the screen flashing then exits.
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: E37 on September 08, 2021, 08:33:33 pm
That is some seriously nice graphics for basic! I definitely thought you were using an asm library. Also, (c)2091? That's optimistic... or perhaps pessimistic. I guess it depends on what you are aiming for.
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: DJ Omnimaga on September 09, 2021, 09:12:50 am
Thanks! And yeah I usually set copyright dates very far now in case I don't respect them. XD

Here is a complete battle in action, although not with the real stats:
(https://i.imgur.com/lgYx6LF.gif)
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: SpiroH on September 09, 2021, 04:35:03 pm
It's official: The game is called Darkblasters and all maps are now implemented and linked together. There are over 390 rooms to explore in 6 different areas and the game takes a little under 5 KB so far.
....

Battles are not included yet, so they just show a monster with the screen flashing then exits.
It does look very entertaining!
Please keep up the good work.
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: DJ Omnimaga on September 11, 2021, 12:10:48 pm
Thanks! An UPDATE!
-There are now two actual monsters
-You start with 500 HP instead of 300
-All battle commands and enemy moves are implemented, except one boss attack pattern.
-You can now activate switches to open new paths
-NPC's are implemented, including those who give items.
-You can grab items from the ground.
-Some random optimizations to save space or increase speed, because the game is over 11 KB now.

I made a Youtube video:
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: Xeda112358 on September 11, 2021, 12:16:59 pm
That is absolutely amazing, and especially for having been done in TI-BASIC  :o
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: E37 on September 12, 2021, 04:21:15 pm
11k is really small. Maybe I inflate my Axe source file sizes with long variable names and lowercase but I can't make anything near that functional in that size.
Is there a saving system?
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: DJ Omnimaga on September 13, 2021, 08:14:04 pm
Thanks! Here's a boss fight:

(https://i.imgur.com/AdpUZCw.gif)

Note that the stats are placeholders and I still need to fix the damn wall magic spell. It kept stopping working entirely for no reason over and over again so I gave up and altered it, but the battle system I am using makes it near impossible to keep it under control and from glitching out.
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: DJ Omnimaga on September 15, 2021, 08:07:24 pm
20 years minus 7 days ago, I released my first ever TI-83 Plus RPG, Illusiat. Today, after over 16 years without releasing an original RPG for calculators, I am finally releasing a new one: Darkblasters!

(https://i.imgur.com/lBHM8S7.png)
(https://i.imgur.com/SvupArG.gif) (https://i.imgur.com/SzEC0F7.gif)


Inspired by Lufia, Quest 64, Dragon Quest, Illusiat and Mana Force series, Darkblasters is a role-playing game meant to showcase pure TI-BASIC graphical capabilities while trying to keep speed as fast as possible. It features over 390 rooms to explore, NPC's, some items and magic spells, many monsters and sprite-based graphics. No ASM/Axe/Grammer lib were used, in order to ensure full compatibility with 15 MHz z80 calculator models that lacks official ASM support.

Quote
A long time ago, mankind became nearly extinct after the entire world population did the Tide Pod
eating challenge simultaneously. From the dead rose a new illness that transformed animals into
monsters and many humnan survivors into Darkblasters, evil mages that look like knights.

Today, the Darkblasters stole the three crystals protecting the Kingdom of Walritia. You must defeat
the mages before they take over the world.

Here are the download links:
https://www.ticalc.org/archives/files/fileinfo/476/47684.html
https://tiplanet.org/forum/archives_voir.php?id=2790407
https://www.cemetech.net/downloads/files/2178
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: SpiroH on September 22, 2021, 09:05:20 am
This looks great indeed!
I wonder, would it be possible (not too hard) to port it to the 'TI-84 Plus CE Color' to show us some of the game "true colors"?
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: E37 on September 22, 2021, 05:42:22 pm
This looks great indeed!
I wonder, would it be possible (not too hard) to port it to the 'TI-84 Plus CE Color' to show us some of the game "true colors"?

I doubt a port would add much since the sprites are done by mixing characters. Also I think I remember hearing somewhere that 84ce text characters include a white background that would ruin it. But I dont have any color calcs so I don't know too much about them.
Title: Re: Darkblasters: A new graphical TI-84+/SE BASIC RPG
Post by: DJ Omnimaga on September 22, 2021, 06:06:16 pm
If I did a color port, I'd have two options, which is grosged's sprite and text lib, which would probably not be too slow given the extra CE CPU speed. I could also use ICE, but it tends to break after a while when new C libs come out and I haven't used it in a long while. If I use grosged's libs, the game won't be in one file, but two other games I made use the same libs so if people have them installed then it's not too bad.

But yeah the layered text sprites trick doesn't work on the color models, sadly.