CodeWalrus

CodeWalrus Website => Game, Software and Music Downloads => Games => Topic started by: JamesV on December 14, 2016, 01:24:22 AM

Title: [ti-84+ce] SQRXZ for TI-84+CE
Post by: JamesV on December 14, 2016, 01:24:22 AM
EDIT:
Download Sqrxz CE v1.0.0 (https://www.cemetech.net/programs/index.php?mode=file&path=/84pce/asm/games/sqrxzce.zip)
Download Sqrxz World Editor v1.0.0 (for Windows) (https://www.cemetech.net/programs/index.php?mode=file&path=/win/sqrxzedit.zip)


I've had this on my to-do list for a while now, and seeing as I haven't made much progress with my other projects for a few months, I figured now is a good time. I contacted Jimmy Mardell who gave me his blessing, so I'm using the source code from his TI-86 version from 1998 (which in turn was an adaption of the Amiga/PC game) and adding/changing as required to suit the CE.

When finished, the game will play any of the TI-83(+)/85/86 worlds that people have created over the past 18 years. I'm using 16x16 tiles & sprites (taken from the PC version) to make a play screen of 240x128, plus status bars & information at the top/bottom of the screen.

The game will run any existing .8xp Sqrxz worlds, but I'll also be including a converter program to convert any .8xp, .83p or .86s worlds to .8xv app vars. That way, you can play any TI-83, TI-83+ or TI-86 worlds on your TI-84+CE and not clog up your programs list with the old .8xp files. I'm also considering writing a new level editor (for Windows).

Here's a quick screenshot. Not a whole lot happens yet, just shows the level and can scroll through. Many of the tile sprites are still missing (hence lots of junk on screen), but I'm working through those now.

(http://i.imgur.com/IwZyvNQ.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on December 14, 2016, 02:24:56 AM
Wow, I'm happy to see this being ported to the CE. It was very popular on older calculator models and reached some notoriety outside the calculator world. Keep up the good work :)
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on December 16, 2016, 09:38:13 AM
It was super popular back in the day! Hopefully it will be enjoyed on the CE :)

I've added the rest of the tile sprites and the title image. There is still a little junk showing in levels, which is just the player & enemy spawn points.

(http://i.imgur.com/Nl5wTfk.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on December 16, 2016, 05:21:34 PM
Looks very good. Will you add some enhancements such as  maybe sky gradient to spice it up further by the way? A gradient would definitively look cool
Title: Re: SQRXZ for TI-84+CE
Post by: p2 on December 19, 2016, 08:57:34 AM
that's a pretty strong contrast between the blocks and the background...
if they were darker, too, you could actually get a pertty creepy dark atmosphere inside this game :D (expecting skeletons and zombies) ^^

onestly it looks really nice, looking forward to your next gif ^.^
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on December 22, 2016, 01:02:55 AM
Quote from: DJ Omnimaga on December 16, 2016, 05:21:34 PM
Looks very good. Will you add some enhancements such as  maybe sky gradient to spice it up further by the way? A gradient would definitively look cool
Some kind of gradient or parallax scrolling background would be great, and are on my list of things to investigate down the track. I haven't immediately thought of a way to do it without losing a lot of performance, but I haven't really thought much into it yet either :)

Quote from: p2 on December 19, 2016, 08:57:34 AM
that's a pretty strong contrast between the blocks and the background...
if they were darker, too, you could actually get a pertty creepy dark atmosphere inside this game :D (expecting skeletons and zombies) ^^

onestly it looks really nice, looking forward to your next gif ^.^
The tile sprites are the original graphics from the PC game, and the enemies are Blobs, Hedgehogs, Piranhas, Bats and a running Green Man :P

I haven't done a whole lot over the last week (been too busy Xmas shopping and playing Minecraft), but here's a quick visual update. Just general movement testing, still no animations or enemies implemented.

(http://i.imgur.com/DpFXdCV.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on December 22, 2016, 01:23:16 AM
Very nice update. Also I love that title screen :) The game also looks very smooth. :)
Title: Re: SQRXZ for TI-84+CE
Post by: p2 on December 22, 2016, 01:26:41 PM
^yess it lookes very good, I loke that weid dark atmosphere of it ^.^
I'm not sure, but maybe you want to add some kind of vertical scrolling when the character jumps out of the screen on top...
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on December 28, 2016, 08:04:39 AM
A little more progress (although I keep getting distracted on this Minecraft CTM map I've been playing for the last month or so), but Sqrxz transparency is now done as well as tile animations/changes, collecting items, etc. Also, the "time" and "air" bars are now there and working :)

(http://i.imgur.com/imbpQT2.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: Lionel Debroux on December 28, 2016, 12:19:00 PM
That looks quite good, keep going :)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on December 28, 2016, 09:41:12 PM
The tile animations make this look even greater :)

Do you have any mockups for an HUD other than the life bars so far? Maybe you should add a border around the map like in early Ys games:

(http://www.rpgfan.com/reviews/ys3/ysIII1.jpg)
Title: Re: SQRXZ for TI-84+CE
Post by: p2 on December 29, 2016, 03:49:06 PM
such a frame is a great idea :D
But make sure it's just as dark as the rest of the game :)


Buuut I'm actually worried about aone part:
if he addds a border around it, the screen will get even smaller.
Then he would deefinitely have to implement y-scrolling.
Title: Re: SQRXZ for TI-84+CE
Post by: tr1p1ea on December 29, 2016, 08:10:46 PM
I think DJ suggested a border since the gameplay area is already smaller than the total screen size ... a way to make the unused space more appealing.
Title: Re: SQRXZ for TI-84+CE
Post by: p2 on December 29, 2016, 10:26:27 PM
uuuh right im sorry didnt see that
in that case I would recommend adding the border, but also moving down everything 1 block (even the status bars) so the actual scren will be +1 lines in height. (so ur still visible if you jump out of the screen) :)
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on December 29, 2016, 10:41:38 PM
Quote from: DJ Omnimaga on December 28, 2016, 09:41:12 PM
Do you have any mockups for an HUD other than the life bars so far? Maybe you should add a border around the map like in early Ys games
I haven't done any mockups, but it's planned to be fairly similar to the original PC game. In terms of the size of the play screen vs. having a border, etc. I've got a few ideas about maintaining compatibility with existing Sqrxz worlds but also allowing for a larger play screen for newer worlds... :)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on December 30, 2016, 06:50:09 AM
Quote from: p2 on December 29, 2016, 03:49:06 PM
such a frame is a great idea :D
But make sure it's just as dark as the rest of the game :)


Buuut I'm actually worried about aone part:
if he addds a border around it, the screen will get even smaller.
Then he would deefinitely have to implement y-scrolling.
The reason why the screen is smaller is because the original SQRXZ came out on the TI-86, which used 16x8 tilemaps. He's keeping the screen 16x8 on the CE because having to modify all maps to be adapted to the larger screen size would be too much hassle. Kinda the same reason why if I ever port Reuben to the CE that it will use 24x24 tiles or 3x zoom 8x8 tiles.

That said, for existing worlds, I guess it wouldn't be too hard to write a script that automatically adds extra rows of tiles at the top of each map, such as sky tiles or blocks, depending of if the world is underground or not, to make the map look larger.
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 06, 2017, 04:55:49 AM
Enemies have now been added in - you can see the Blob and Hedgehog in the below screenshot.

(http://i.imgur.com/qjxJvvP.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on January 06, 2017, 05:16:00 PM
I like how the metal blocks flashes a bit when you hit them :D
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 09, 2017, 06:23:36 AM
Another small update showing Sqrxz running animation, a couple of other enemies and simple status bar text at the bottom showing lives, sausages collected and the level number. I'll probably add a 2nd font for the status bar text to look like the original PC game.. :)

The game is almost running fully as per the TI-85/86/83, etc. versions. Once it is, I'll start refining it further.

(http://i.imgur.com/iAOS1Vu.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on January 09, 2017, 08:14:56 AM
Really beautiful. Do you plan to add stuff at the top of the screen too, such as the stage name, number, the game title and other stuff?
Title: Re: SQRXZ for TI-84+CE
Post by: p2 on January 09, 2017, 11:38:54 AM
Quote from: JamesV on January 06, 2017, 04:55:49 AM
Enemies have now been added in - you can see the Blob and Hedgehog in the below screenshot.

(http://i.imgur.com/qjxJvvP.gif)
I love the blob  :love:

but am I mistaken or is the ground as well as the big rock fickering a little bit...?
(might only be the gif of cause)
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 11, 2017, 05:00:02 AM
Quote from: DJ Omnimaga on January 09, 2017, 08:14:56 AM
Really beautiful. Do you plan to add stuff at the top of the screen too, such as the stage name, number, the game title and other stuff?
In the short term, yes I'll be putting the world name and author. Down the track I'll experiment with increasing the level height, depending on performance.

Quote from: p2 on January 09, 2017, 11:38:54 AM
I love the blob  :love:

but am I mistaken or is the ground as well as the big rock fickering a little bit...?
(might only be the gif of cause)
That's just the GIF :)

I've improved my font routines to now support multiple font packages (shown below in the status area). It's currently limited to monospace fonts, with the characters being 15x15 pixels maximum. But it allows for either textured or non-textured fonts, and the option for transparent font drawing if you want to maintain the background behind text, or opaque font drawing if you want to remove trash as the string is being rendered.

(http://i.imgur.com/FBH4M1k.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 12, 2017, 02:19:48 AM
The game is pretty much finished. I just have a couple of minor bugs to iron out, and I also want to experiment with the possibility of having a larger play screen size. Additionally, I think I'll write a Windows world editor, as the old world editor supplied back in the TI-83/85/86 days needs Dosbox to run on modern computers, which is inconvenient.

(http://i.imgur.com/v4Rkt1O.gif)
Title: Re: SQRXZ for TI-84+CE
Post by: p2 on January 12, 2017, 09:07:31 AM
I dont think you would need anything else than monospace fonts... It's not like there are long dialogues in the game ;)
(great choice, that red font, firs perfectly!)
that robot' walking animation is both super weird and cute  :thumbsup:
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 13, 2017, 01:11:32 AM
Quote from: p2 on January 12, 2017, 09:07:31 AM
I dont think you would need anything else than monospace fonts... It's not like there are long dialogues in the game ;)
(great choice, that red font, firs perfectly!)
that robot' walking animation is both super weird and cute  :thumbsup:
Heh, he's actually a little bug (apparently). He's a Sqrxz (pronounced skwerks), and he loves sausages :P Yeah the red font is cool! It's taken from the PC version, so I can't take credit for it.

The game is finished and I've done some final work today separating the sprite & title screen data into separate appvars to reduce the program size. The game file is less than 11KB. All other data & world files can be put in the Archive to save RAM space.

I also added a dark blue background to the play screen to give it a slight separation from the status bar and world details.

(http://i.imgur.com/ek1FkRd.gif)

Now I'll start working on a Windows world editor :)
Title: Re: SQRXZ for TI-84+CE
Post by: Lionel Debroux on January 13, 2017, 07:02:12 AM
I'm sure the MacOS X & Linux users would love a natively portable world editor, like Oiram's :)
But I do understand that it's more work in the short term if you're not familiar with Qt.
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 15, 2017, 05:17:26 AM
Quote from: Lionel Debroux on January 13, 2017, 07:02:12 AM
I'm sure the MacOS X & Linux users would love a natively portable world editor, like Oiram's :)
But I do understand that it's more work in the short term if you're not familiar with Qt.
I wasn't familiar with Qt, but it looks interesting and I'm downloading it now to give it a try :) A cross-platform compatible world editor would be ideal!
Title: Re: SQRXZ for TI-84+CE
Post by: Lionel Debroux on January 15, 2017, 07:52:13 AM
Qt isn't perfect, but over time it's become the way to make cross-platform C/C++ GUI programs :)
It can be used for non-GUI programs as well, though in this case, special care needs to be taken not to over-use it.
Title: Re: SQRXZ for TI-84+CE
Post by: aetios on January 15, 2017, 08:08:25 AM
I only just noticed this thread, I really like the aesthetic of the game. I was just wondering if you noticed that the first level says 'briefing' instead of 'briefing'? Or is that something in the level itself?

Voicing my support for a cross-platform level editor.
Title: Re: SQRXZ for TI-84+CE
Post by: p2 on January 15, 2017, 09:54:32 PM
You should start reading ALL threads so there is no unread content left by the end of every week ^^
you put the same string 'briefing' twice ;D
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 15, 2017, 10:17:51 PM
Quote from: Lionel Debroux on January 15, 2017, 07:52:13 AM
Qt isn't perfect, but over time it's become the way to make cross-platform C/C++ GUI programs :)
It can be used for non-GUI programs as well, though in this case, special care needs to be taken not to over-use it.
I got it installed yesterday but then went out for dinner. So I'll experiment with it today. Given that it's C/C++ based I should pick it up fine, and I'm always up for learning new development skills :)

Quote from: aeTIos on January 15, 2017, 08:08:25 AM
I only just noticed this thread, I really like the aesthetic of the game. I was just wondering if you noticed that the first level says 'briefing' instead of 'briefing'? Or is that something in the level itself?

Voicing my support for a cross-platform level editor.
Quote from: p2 on January 15, 2017, 09:54:32 PM
You should start reading ALL threads so there is no unread content left by the end of every week ^^
you put the same string 'briefing' twice ;D
Heh he did, but aeTIos is right that "briefing" is spelt incorrectly (as "breifing") on the first level. How did I never notice this? Once I get the world editor up and running, I'll fix this up :)
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 25, 2017, 04:52:17 AM
Update: I've been putting together a World Editor (in C# for Windows at this stage, but I've also started messing about with Qt for a cross-platform editor down the track). It's been progressing slowly now that I'm back at work, but over the last couple of nights I've written an implementation of the Huffman compression algorithm that's compatible with Jimmy Mardell's TI implementation, so worlds can be loaded and saved nicely.

The plan is to get the World Editor to at least enough of a working point that I can put together some extra levels, then I'll be releasing the game, and following up with the Editor shortly after :)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on January 25, 2017, 05:45:54 AM
I can't wait for the level editor and the game. Glad this is coming along nicely :D. Will the editor be able to import levels from the TI-86 version?
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 25, 2017, 08:15:06 AM
Quote from: DJ Omnimaga on January 25, 2017, 05:45:54 AM
I can't wait for the level editor and the game. Glad this is coming along nicely :D. Will the editor be able to import levels from the TI-86 version?
Yes it will :) The game on the calculator will recognise either .8xp program or .8xv appvar World files, and the World Editor will be able to open .83p, .8xp, .8xv and .86s World files (which it will then save as .8xv appvars).
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on January 28, 2017, 05:50:23 AM
Awesome. Are you still considering supporting levels with higher height by the way? For importing old levels you would probably just need to add a few extra empty rows at the top or just render them with 8 blocks height.
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 30, 2017, 02:48:52 AM
Quote from: DJ Omnimaga on January 28, 2017, 05:50:23 AM
Awesome. Are you still considering supporting levels with higher height by the way? For importing old levels you would probably just need to add a few extra empty rows at the top or just render them with 8 blocks height.
I decided to stick with the 8 tile height. Adding extra height changes the gameplay of the original worlds created for the TI-85, 86, 83, etc. Eg. If the top-most tile is solid, you can't jump over it, so if I extended the level height, I'd need to add more solid tiles above any existing solid tiles on the current top-most row to prevent cheating by skipping over the top of levels, and then this is just going to result in some weird looking levels.

Similar could be said for extending the play area width from 15 tiles to 20 - it would affect the spawn times of enemies as well as the mechanic of making sure the screen doesn't scroll past paths that you need to use, etc.

So yeah, given that my original intention was to simply port Jimmy's TI-85/86 version, and taking into account the above, I've decided to stick with the 15x8 tile play area for the v1.0.0 release (which isn't far off!). I want to finish this and move back on to other projects.

Of course in the future I might come back to this and add in the option to play "new format" levels with a larger play area, but no promises. I have other games I want to work on in the meantime :)
Title: Re: SQRXZ for TI-84+CE
Post by: Dudeman313 on January 30, 2017, 03:29:40 AM
Wait..JamesV is making new and cool TI-84+ CE stuff? Has he finished Alien Breed? I'm so lost now that I disappeared once again from this place on account of having no graphing calc and finding a social life and discovering decent video games on the PC(League of Legends).  :-|
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on January 30, 2017, 08:45:13 PM
Quote from: Jkolade936 on January 30, 2017, 03:29:40 AM
Wait..JamesV is making new and cool TI-84+ CE stuff? Has he finished Alien Breed? I'm so lost now that I disappeared once again from this place on account of having no graphing calc and finding a social life and discovering decent video games on the PC(League of Legends).  :-|
Alien Breed for the TI-84+CE isn't finished, but it's not been forgotten about. I've had a bunch of ideas for it whilst working on this project, so I'll be getting back on to it shortly!

Sqrxz update: I'm very close to releasing this now. The last few days or so I've finished off the Windows version of the World Editor and put together a single level "Tutorial World" as well as a new 3 level "Sqrxz World Part IV". So the game will come with 16 levels in total, as well as being able to play .8xp world files from the 83+/84+ archives on ticalc.org.

Additionally, the World Editor can open .83p and .86s World Files as well, and then save them as .8xv appvars for the TI-84+CE.

Right now I'm just finishing off the game by adding in a Teacher Key (quick quit to homescreen and resume game next time the game gets run), and then I'll be uploading to the archives, hopefully end of this week :)
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on February 04, 2017, 07:26:32 AM
Sqrxz CE v1.0.0 is now released! You can grab it over on Cemetech (https://www.cemetech.net/programs/index.php?mode=file&path=/84pce/asm/games/sqrxzce.zip) :)

The World Editor isn't far off either. It's Windows only at this stage, but I'd like to work on a cross platform version as well once have more time to spend with Qt.
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on February 04, 2017, 06:07:53 PM
Woohoo , congrats JamesV. I'm glad to see another such great project come to fruition. :) You should put a download link in the first post too, if not done already.

Good job :)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on February 08, 2017, 03:02:29 AM
So @JamesV I just tried this and I am amazed at how smooth the game is. My only complaint, though, is about the camera: You can barely see anything in front of you. Would it be possible to make the character so that he's centered or invert the camera so that we can see more stuff in front of us than on the back when walking forward? Or was the original game intended that way in order to increase the difficulty? I can't even get past  the first tutorial stage because I never have time to react to anything popping up in front of me, not to mention the blind jumps due to the camera.
Title: Re: SQRXZ for TI-84+CE
Post by: tr1p1ea on February 08, 2017, 05:13:52 AM
I think it's because the camera scrolls by 1px at a time so it has to catch up to the player after a long move?

Still a slick looking engine!
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on February 08, 2017, 05:48:30 AM
Yeah but it stops moving at about 30% of ahead screen view. Hence why I was wondering. And yeah I agree. It's so smooth.
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on February 08, 2017, 11:40:25 PM
@DJ Omnimaga I think it was designed that way (keeping in mind that I've just ported Jimmy's TI-85/86 engine without making any changes to the gameplay). One of the aspects of the gameplay is that you can't scroll back in the level, only forwards. In some cases you need to walk back left to get through tunnels, but you need to do it without the screen scrolling too far, otherwise you're stuck and keep to lose your life (press [DEL]) to try again. I agree it does make it difficult with enemies coming in from the right of screen, but I believe that may be intended as well. The original PC game is quite honest about it's difficulty, and it's intended that you need to really learn the levels, so it takes time and practice to become proficient at them.

The screen only scrolls every 2nd frame, except if you're close to the right edge of screen - then it will scroll every frame to keep up with Sqrxz.

The World Editor is now also available for download here (https://www.cemetech.net/programs/index.php?mode=file&path=/win/sqrxzedit.zip) :)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on February 09, 2017, 07:21:46 AM
Ah right, the lack of left scrolling might be problematic if the camera movement is altered. D:

Gonna download the world editor soon. Can levels made with it be played on the TI-83+ version if small enough?
Title: Re: SQRXZ for TI-84+CE
Post by: JamesV on February 09, 2017, 07:42:45 AM
Quote from: DJ Omnimaga on February 09, 2017, 07:21:46 AM
Gonna download the world editor soon. Can levels made with it be played on the TI-83+ version if small enough?
With a little bit of messing around, yes. To be honest, I hadn't really considered that people might want to do that, which is a bit short sighted of me!

I don't think the TI-83+ version will detect appvars (although I could be wrong). But if the .8xv was converted to .8xp then it *should* work fine, with the exception of the author name possibly not centring on the world info screen.

Perhaps I should do a minor update to the editor to have the option to save worlds as either .8xv or .8xp files (and properly calculate the author name length)?

Also, thanks for the front page post!  :)
Title: Re: SQRXZ for TI-84+CE
Post by: Dream of Omnimaga on February 10, 2017, 05:11:59 AM
Yeah I doubt the old versions will detect appvars, since appvars became mainstream only years after that game got ported to the 83+ (back then, the TI-83+ SDK was still paid so nobody made apps nor considered using appvars outside apps)

I guess allowing the user to save as 8xp could work, with a warning saying that while 8xp format will make the level 83+ compatible, it will clutter the PRGM menu.