pixelpedant Posted January 2, 2023 Share Posted January 2, 2023 ere's a very early teaser for the next TI BASIC cassette project I've been working on - Hell's Heart. The teaser just being the in-progress (and doubtless substantially to be revised) intro sequence (and in the background, pattern/palette loading process). This game intends to use more or less the entire range of available patterns (32-159), so pattern loading (and the intro which serves as a distraction, whilst this occurs) is even longer than was the case for Hell's Halls, at present. 2023-01-07 04-19-52.mp4 Project criteria are very similar to Hell's Halls: - TI Console BASIC - Type-in compatible: nothing which can't be typed directly into the TI BASIC interactive mode prompt. Characters 127-159 are used (for graphics) and 176-198 are used (for interpreter tokens), as these can all be typed with 99/4A-specific control/function key combinations. I was quite tickled by the fact that at least one person actually typed in and ran the type-in version of Hell's Halls. So I will definitely repeat that exercise. - Cassette compatible: nothing which can't be loaded from cassette in a single load (I considered loading patterns 128-159 via one program, then the remainder in the main program, immediately following on the same tape, but ultimately dismissed this as too cumbersome a loading process). Differences vis-a-vis Hell's Halls are: - My subprogram for drawing screen graphics (via HCHAR and VCHAR of course, as this is TI BASIC) has been hugely improved, to allow for detailed, compact, relatively fast (in TI BASIC terms) drawing of graphical components. The subprogram uses a (like practically everything here, 8-bit tokenised) data structure supporting repetition of HCHAR or VCHAR commands at specified offsets either horizontally or vertically. Such that, for example, all the graphics in the "table and candles" scene in the title sequence are drawn using the following data string: *MHq,4><CV4<C;)KL(KL>VK?VV which specifies (aside from Y,X,CHAR) a horizontal offset of three with four recurrences for all of 1) the candle flames, 2) candlesticks and 3) candle bases, and a vertical repetition of two for each candlestick. Repetition, Recurrence and Offset arguments are all optional, and so do not add to the length of the command in bytes for those commands not using them. The presence of each of these optional arguments is flagged in a preceding byte (of otherwise unrelated purpose), two earlier in the sequence, so that the subprogram knows whether to expect another argument or a new command. - My sound subprogram has been greatly improved, by virtue of arriving at a satisfactory method for approximating the sequence of frequencies of notes on the chromatic scale via multiplication/division/addition/subtraction alone (crucially, given the speed of exponentiation in TI BASIC). So in a music data string the character "C" now represents the note following "B" which represents the note after "A" etc. - Optional support for allophone speech via TE2 (with restrictions, as part of the allophone range and various allophone speech control characters cannot be typed in TI BASIC). We'll have to see how useful and desirable this ends up being. In any case, use of TE2 will be optional. But including speech has a significant memory cost (mainly due to the file buffer it uses, rather than the speech itself), so unless it's really adding something, it's arguably better to skip it. - Pattern loading is now handled by the interpreter like everything else, so patterns can be inserted into any DATA statement to be loaded, which makes it easier to seamlessly mix pattern loading and other events. Development is currently ongoing, mainly using Classic99 and Ralph Benzinger's xdt99 TI-99 cross-development tools. Though I had to make certain modifications to the latter, mainly to permit the extensive use of non-ASCII (128-159 and 176-198) characters in my program source. 18 4 Quote Link to comment Share on other sites More sharing options...
oddemann Posted January 7, 2023 Share Posted January 7, 2023 Ready to pay up... Where is the link??? 3 Quote Link to comment Share on other sites More sharing options...
pixelpedant Posted January 7, 2023 Author Share Posted January 7, 2023 It's a long way away from any of that, yet. But thank you for the vote of confidence! I've been working on the underlying subroutines and dungeon map generation and whatnot for a couple months now. But I'd say it'll take several more to get it to a playable state. Hopefully Summer 2023 sort of thing. 1 1 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted January 7, 2023 Share Posted January 7, 2023 I would love the opportunity to exercise my TE II cart Looking forward to the sequel. 2 Quote Link to comment Share on other sites More sharing options...
+dhe Posted September 30, 2023 Share Posted September 30, 2023 Hey @pixelpedant how's Hell's Heart going? 1 Quote Link to comment Share on other sites More sharing options...
pixelpedant Posted October 1, 2023 Author Share Posted October 1, 2023 I'm very pleased with how the overall vision came together, though it's perhaps an absurdly overambitious one (which is trying to be more so a proper RPG, with a totally different dungeon generation/exploration model). I do hope to get back to it in earnest. TI stuff has just taken a back seat lately, and I haven't been online in the retrocomputing space much at all. I'll hopefully get myself back in the swing of things, in the next month. Real life has just taken precedence, of late. 9 2 Quote Link to comment Share on other sites More sharing options...
Appeelicious Posted December 29, 2023 Share Posted December 29, 2023 I'm as late as usual and digesting months of delicious forum. This looks great and I'm sorry I didn't hear about it sooner to chime in on its merit. 1 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.