Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Hexatron on June 02, 2014, 04:02:11 pm

Title: Illusiat 11 CSE Port
Post by: Hexatron on June 02, 2014, 04:02:11 pm
Hello, I decided to port the old Illusiat 11 game to the 84+CSE.  The original game can be found here (http://www.omnimaga.org/files/Our-TI-PC-Products-Music-and-Calculator-Videos/Our-TI-83-Plus-TI-84-Plus-Silver-Edition-games/illusiat11.zip).
The CSE version uses Doors CSE.  Download it at dcs.cemetech.net
I have included a screenshot of the game running.
Things still to do:
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 02, 2014, 04:03:00 pm
Maybe use xlib to make it faster.
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 02, 2014, 08:39:14 pm
I've added a much nicer title screen to the game, and am currently working on adding palettes for each area.
Here's the new title screen:
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 02, 2014, 11:02:15 pm
Looks nice so far and glad you managed to get it to run. About the title screen, though, IMHO you should maybe move the copyright thing at the bottom, else it kinda looks weird in the middle, especially since the title is technically Illusiat 11, Illusiat XI or Illusiat Eleven.


As for the rest of the game, I know you are adding color palettes through Celtic commands. Do you think you could do something about the screen size issue to make the game not look weird? One solution could be to just do like in Illusiat 6 and 7 and add an HUD on the right side in the empty space and removing the current battle HUD. The in-game menu could be slightly altered to accomodate such HUD (basically the HUD could expand like in Illusiat 7 when entering the menu). For the rest of the screen you could just move everything down by one or two lines then add black bars at the top and bottom like in movies.

Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 02, 2014, 11:04:08 pm
Right now I'm using a big XLibC picture border that says "ILLUSIAT XI + C"
And yea I might center the game horizontally and vertically instead.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 02, 2014, 11:59:06 pm
Output() works when xLIBC commands are being used?? O.O

I tried using xLIBC before it always screwed up home screen commands ???
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 02, 2014, 11:59:39 pm
Only the drawshape commands don't play nice with Celtic.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 03, 2014, 12:00:40 am
Oh ok, that might explain it. Do you have any screenshot of the border as well as demonstrating the color palettes by the way?


EDIT: I also wish that Celtic or xLIB had a way to store 1-bit map data where each tile is  only 1 bit large (meaning 8 tiles are 1 byte), so that it would be possible to make an Illusiat port as small as the 83+ counterpart. 8xi files on the CSE are close to 22 KB large, while on the 83+ they're 767 bytes.
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 03, 2014, 12:19:31 am
Here's a new screenshot.  I don't know what messed up with the palette in the intro, though.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 03, 2014, 12:30:48 am
Question, is the floor in the first dungeon supposed to be black?


EDIT: Nevermind, further in the screenshot it's green again. Did you use jsTified for the screenie? It tends to mess up screenshots heavily >.<


Also if I was you, if you can find a way other than ClrHome to clear the screen, you could erase that gray bar at the top using xLIBC. Also, maybe make the gray border on the graph screen white.
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 03, 2014, 12:32:33 am
I read it as "Corree Cave," so the first thing that comes to my mind when I think cave is grey.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 03, 2014, 12:43:35 am
To be honest, in the original game the name was a bit inspired from Korea, but not meant to be translated so the names for the most part were left intact in the English version. :P


Also, I was wondering if with xLIBC there was a way to turn the entire screen black and still use Celtic colors+Output() afterward? You would have to use For(Z,1,10:Output(Z,1,"                          ":End instead of ClrHome to erase text but you could make the game look like this if it was feasible (perhaps placed differently, though, and maybe with an HUD as replacement of the logo?):

(http://img.ourl.ca/illusiat11mockup.png)

(I know the busy indicator can't be erased, though, unless in 160x240 mode)
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 03, 2014, 12:47:59 am
I'm going to be adding an options menu, where you can toggle on and off the logo, and I can put an option there for a HUD instead.  I can give the real(3,4,0,1 command a try, but I don't know if it'll work.
UPDATE: It does work, but I have to call real(0,1,0,1 (redraw status bar) for output to be fixed.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 03, 2014, 01:08:08 am
Aaah ok that would be nice. And I see about the status bar.
 
Did you try with plain black sprites? Try the sprite commands (some let you draw a big rectangle made of just 1 sprite) and there are tilemapping commands. I wonder if they would also break Output?

Also, since I was kinda bored, I made more mockups :P

(http://img.ourl.ca/illusiat11mockup-1.png)

(http://img.ourl.ca/illusiat11mockup-2.png)

Although now it looks more and more Atari ish :P (maybe the title could be placed at the top and the copyright at the bottom like in Pitfall?)
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 03, 2014, 01:10:08 am
Dude, those mockups actually look really nice!
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 03, 2014, 01:14:33 am
Thanks, this is some rather old school stuff lol. Now if only Sprites or tilemaps didn't screw up Output you could finally get rid of the gray 84+CSE bar.

EDIT: Ok so since it's clear that every xLIB draw commands break output, here's an alternate mockup:

(http://img.ourl.ca/illusiat11mockup-3.png)

But this one would require major changes to the game code, since everything would be moved down by 1 spot.
Title: Re: Illusiat 11 CSE Port
Post by: rw24 on June 03, 2014, 07:49:50 am
With those mockups, it actually looks really nice!
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 03, 2014, 07:59:37 am
You should see the actual one.  It looks almost exactly like that.  I'll attach a screenshot and do another download once I can beat the stupid Hell River boss.  :(
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 03, 2014, 08:53:53 am
I can't wait for the screenshot and yeah the Hell River boss is insane. I usually only beat him at level 5 with the best armors of the chapter but even then it's hard unless I do the elixir trick. >.<
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 03, 2014, 07:54:33 pm
Just beat the boss, so here's the download.  It works up to Chapter 2.
(http://i.imgur.com/sK9ET0U.gif)
EDIT: Oops, I had a new version of the title screen with the text at the bottom, but forgot to add it to the archive  ._.
Title: Re: Illusiat 11 CSE Port
Post by: ordelore on June 03, 2014, 08:01:24 pm
Wait, is this a menu-based RPG? :trollface:
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 04, 2014, 02:14:08 am
No, this is Illusiat. The same game I'm remaking in Axe (see my signature), but with the original ASCII art while I use actual tiles and sprites. :P
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 02:22:03 am
Yeah it's an ASCII-art-based RPG. Towns and villages are menu-based, though.




Also I tried this and so far it seems kinda cool, although it definitively needs major polishing in some areas.

-For example, the game text remains the same color as the maps and in many cases it's very hard to read. IMHO maybe the text could be altered to always show the same amount at a time (eg 3 lines only filling the map area of the screen) and perhaps the same color as the HUD (eg white text on dark blue bg). It could also maybe be moved entirely out of the in-game/HUD area, such as the unused part of the screen at the bottom (2 rows of 26 chars available). Heck, even the battle menu could probably be moved there.
-I think the King's courtyard might be better if the walls are gray-ish, since they're not plants, after all. Also some other palettes seemed wrong, such as the bosses using the wall background color instead of floor's. Maybe use a different palette for the event/boss sprites? Also the river water seems a bit dark so maybe you could make the ^'s white or light blue like Reuben CSE water
-The character is incredibly hard to see on some maps. Maybe it should be always brown or black?
-The title screen is not consistent as it's not full screen like the rest of the game. It's mainly a BASIC limitation, but since the game requires Doors CSE and that the logo code is quite large, you would be better off setting up the title screen in 160x240 mode, dropping the ELEVEN logo and just reusing an horizontal version of the ILLUSIAT XI+C logo. It would also take less time to show up on the slow 84+C display. Else, you could just take the original animation and just use 2-pixel thick lines with 2 pixel space intervals rather than 1 space interval.
-The HUD is redrawn on every map reload. Maybe replace every ClrHome command with For(Z,1,8:Output(Z,1,"                ":End? Like in Illusiat 6/7, you could probably remove the HP/MP from battles and just move it to the new HUD.
-Saving results into an ERR:MEMORY.
-Doors CSE icon?
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 04, 2014, 02:24:01 am
That's weird, I never get an ERR:Memory when I save :X
How much empty RAM do you have?  In chapter 1, I have 4465 bytes and saving has worked fine.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 02:28:44 am
With everything archived before installing the game I had about 21180 bytes of free RAM. I think the solution would be to always keep LB and LB1 archived unless they are needed, same for LA, LC and LE, kinda like in Illusiat 13. Of course it's impossible to do it to the same extent as I13 without recoding the game but just keeping the battle programs archived when outside battles would already help.

You could also get rid of multiple save files and only use one file, since not many people need them nowadays anyway.
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 04, 2014, 02:29:55 am
Ok, I'll add a few extra det(11 commands so all of the programs run archived.  That would also eliminate the bug in which you cannot load a save from a previous chapter.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 02:31:25 am
Yeah true, although for that bug, in Illusiat 7 and 9 what I did was using a program to auto-archive/unarchive chapters (when loading a game it would detect which chapter needs to be copied to RAM and when in-game, it automatically switched without launching the menu), but this resulted in the new version of the game no longer being pure BASIC :P
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 04, 2014, 02:32:56 am
I sometimes get a memory error when saving on the monochrome calcs. Manually going back (cause I know the internals) allows me to save properly. Probably because the main program takes too much RAM.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 02:34:55 am
I sometimes get a memory error when saving on the monochrome calcs. Manually going back (cause I know the internals) allows me to save properly. Probably because the main program takes too much RAM.
Nah it's because the game has many Goto's nested inside For/Repeat/While/Then loops >.<
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 04, 2014, 02:37:16 am
Oh OK. FYI I usually have ILLUSI11 archived, L1 and L<letter> unarchived. Running L1 directly always works while loading from ILLUSI11 can fail.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 03:10:32 am
Yeah same, although in the 2002 release I remember the boss program was just 1 file instead of 2 and the river would ERR:MEMORY no matter what unless you only had 1 save file.

Also even today, if you play for hours it still errors after a while because of leaks. (But again people rarely play a calculator game for 4 hours in one sitting)
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 04, 2014, 03:26:42 am
Depends of the game. I remember that Embers:Phoenix got me pretty busy. :P
Title: Re: Illusiat 11 CSE Port
Post by: Sorunome on June 04, 2014, 07:58:44 am
Just beat the boss, so here's the download.  It works up to Chapter 2.
(http://i.imgur.com/sK9ET0U.gif)
EDIT: Oops, I had a new version of the title screen with the text at the bottom, but forgot to add it to the archive  ._.
This is looking pretty awesome! :D
Title: Re: Illusiat 11 CSE Port
Post by: ordelore on June 04, 2014, 01:14:15 pm
No, this is Illusiat. The same game I'm remaking in Axe (see my signature), but with the original ASCII art while I use actual tiles and sprites. :P
I was kidding about when I saw the menu. For some reason, my trollface didn't show up.
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 04, 2014, 01:37:34 pm
Oh lol. Well I guess my comment will make me look like the guy who didn't understand. :P
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 04, 2014, 03:28:04 pm
Just beat the boss, so here's the download.  It works up to Chapter 2.
(http://i.imgur.com/sK9ET0U.gif)
EDIT: Oops, I had a new version of the title screen with the text at the bottom, but forgot to add it to the archive  ._.
This is looking pretty awesome! :D
Thanks, I'll be releasing another version soon which has a larger title screen and is compatible up to Chapter 3.
Title: Re: Illusiat 11 CSE Port
Post by: Eiyeron on June 04, 2014, 03:30:46 pm
Are the list free? YOu could use PlotGraph or PlotStats or something like this, I don't remember the name of the function that draws points with the lists used as coordinates.
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 04, 2014, 03:33:17 pm
Stat plots, and I'm thinking about doing that instead.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 05:29:53 pm
That would definitively be a nice idea, as long as the main Illusiat logo isn't totally butchered :P and that the title screen doesn't actually take more space than an actual xLIBC picvar.
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 04, 2014, 05:57:09 pm
Ok, I've got good news and bad news.
The good news is that most of the programs are now run from archive.
The bad news is that I dropped my calculator and had to reset it, losing both all my progress in the game and all my unarchived subprograms.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 05:59:51 pm
That sucks. Did you lose anything mentionned in your last post including all progress made on chapter 2 and 3? >.<
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 04, 2014, 06:02:21 pm
I didn't lose the actual chapter code, but I did lose my save data and the new title screen.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 04, 2014, 06:22:56 pm
Ah  that sucks, still. As for saving, what you could do to speed up game dev is change the battle experience code so you get 90 times more experience and gold per battle. After all, you are not planning to re-balance the game so you don't need to test difficulty :P
Title: Re: Illusiat 11 CSE Port
Post by: chickendude on June 05, 2014, 02:00:10 pm
I was just wondering if it wouldn't be faster if you just updated the map rather than clearing the screen and redrawing everything. Output( should overwrite whatever's there anyway.

EDIT: Just wanted to add that it's looking great :)
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 05, 2014, 02:01:26 pm
YEah that is why I suggested replacing ClrHome with something that just erases the map. THe CSE screen is incredibly slow so unlike on the old models, it matters a lot in that case.
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 05, 2014, 02:33:58 pm
Even on older models (only tried on 15MHz calcs, I don't have a be and don't want one either) it is very slow to display the maps and thus annoying.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 05, 2014, 03:26:53 pm
Oh I think he meant how the HUD is redrawn everytime the map is. Hence why we suggest only erasing parts of the screen that need to be modified.
Title: Re: Illusiat 11 CSE Port
Post by: 123outerme on June 05, 2014, 04:50:12 pm
I'm not sure if it's helpful to say this, but that's what I did for Source Seekers. I used a For(X command next to an Output(X,2,"                        " (or store that into a string, like what I did) to erase everything onscreen except for the border.
Title: Re: Illusiat 11 CSE Port
Post by: chickendude on June 05, 2014, 06:44:12 pm
You don't even need to erase it, though, since Output( should overwrite what was there. So you can just draw the new map over top the old one and avoid the ClrHome and outputting spaces.
Title: Re: Illusiat 11 CSE Port
Post by: 123outerme on June 05, 2014, 07:59:37 pm
You don't even need to erase it, though, since Output( should overwrite what was there. So you can just draw the new map over top the old one and avoid the ClrHome and outputting spaces.
Yeah, that's what I meant :P
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 05, 2014, 11:26:11 pm
You don't even need to erase it, though, since Output( should overwrite what was there. So you can just draw the new map over top the old one and avoid the ClrHome and outputting spaces.
In Illusiat 11 case, though, I think it's best to erase the map before redrawing the next one, because back in the days I tried not doing that and it looked confusing during map transitions for the player, especially when two maps looked identical.
Title: Re: Illusiat 11 CSE Port
Post by: chickendude on June 06, 2014, 06:23:42 am
That's true, though i think seeing that the player's changed position would indicate that you've changed to a different screen. Really the idea is just to reduce loading times between screens a little.
Title: Re: Illusiat 11 CSE Port
Post by: Streetwalrus on June 06, 2014, 12:25:55 pm
Yeah on the CSE with the slow display it matters, but on the monochrome calcs the impact on speed is zero to none. ;)
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 06, 2014, 01:23:36 pm
Right now, it doesn't overwrite the entire screen anymore like before, but it does replace the 8*16 area with whitespace before drawing the next map, it's just too confusing to do it any other way.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 06, 2014, 06:16:53 pm
Yeah I agree. Trust me I tried in 2002 lol. It works better when maps display in one or two seconds.

Also btw don't be afraid of using the same color for the floor and objects whenever other options make maps look ugly.

EDIT: Btw the new version of xLIBC fixes the Output() glitch with drawing commands so you probably won't need your ASM program anymore.
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 19, 2014, 06:11:21 pm
I know this is probably not gonna be implemented since the game uses pictures for map data, but I thought it would be cool to see how parts of the game could look like if the map engine was more complex, such as using two pictures at once for maps or Illusiat 13-style data:

(http://img.ourl.ca/mockup3.png)

(http://img.ourl.ca/mockup2.png)
Title: Re: Illusiat 11 CSE Port
Post by: Hexatron on June 19, 2014, 06:13:15 pm
I know this is probably not gonna be implemented since the game uses pictures for map data, but I thought it would be cool to see how parts of the game could look like if the map engine was more complex, such as using two pictures at once for maps or Illusiat 13-style data:

(http://img.ourl.ca/mockup3.png)

(http://img.ourl.ca/mockup2.png)
If I still have the full 6 pic vars, I could, in theory, add two clones of the map to each image for an effect like this. It would be pretty cool :P
Title: Re: Illusiat 11 CSE Port
Post by: DJ Omnimaga on June 19, 2014, 06:14:18 pm
Yeah at first I suggested merging multiple map pics into one to save space because one pic is over 21 KB large, but I guess you could take advantage of pics for such effects too.