Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Hayleia on October 19, 2012, 11:33:37 am

Title: [Axe] Robbox
Post by: Hayleia on October 19, 2012, 11:33:37 am
[offtopic]
TinyCraft is not dead, I just can't work on it without holidays.
[/offtopic]

Technical features:
- 6 MHz (runs on 83+, 84+, 83+SE, 84+SE, 84 Pocket.fr, 84+Pocket SE)
- 4 levels of grayscale
- smoothsrolling

Now that you want my game, let's start talking about it :P

So, it is a port of Robbox, the reflexion game for PC (free demo available). You control Robo (a robot) and you suscribed to a tournament. You now have to get out of mazes in which can be found crates to push, killing lasers, etc (really, it is a fun game, try it out if you have time).

For now, I only have the tilemapper working, with dynamic uncompression for walls. It is fast as light when going downwards or upwards, but a bit slower when moving horizontally. That is not really a problem since I don't need pixel-by-pixel movement (which is what I am currently doing) so I can make it faster whenever I want ;)

You may wonder why I make a topic about a project I just started yesterday, well it is because I thought about that topic (http://ourl.ca/15770/295538). I thought it might be a good idea to post my project even just started to bring some activity maybe :)

Please share your thoughts and comments :)

Screenshot and demo (compiled for Ion) below.
Title: Re: [Axe] Robbox
Post by: stevon8ter on October 19, 2012, 11:48:19 am
Wow, looks really cool :o
Good job so far... I hope this will work out great like tinycraft
Title: Re: [Axe] Robbox
Post by: Hayleia on October 19, 2012, 12:58:10 pm
Wow, looks really cool :o
Good job so far... I hope this will work out great like tinycraft
Thanks, I hope so too :)
I just replayed it now and figured out there are plenty of things to do O.O (and 50 levels to make *.*)
Title: Re: [Axe] Robbox
Post by: Stefan Bauwens on October 19, 2012, 01:21:56 pm
I wish you good luck with this new project. :)
Glad you got the tilemapper working. I used to have a lot of problems trying to figure that out, but currently I think I've got a bit the hang of it. :)
Title: Re: [Axe] Robbox
Post by: Hayleia on October 19, 2012, 01:53:38 pm
I wish you good luck with this new project. :)
Thanks :)

Glad you got the tilemapper working. I used to have a lot of problems trying to figure that out, but currently I think I've got a bit the hang of it. :)
Seems like the tilemapper is not going to be the most difficult part of it to do :P
Moreover, I already made a basic tilemapper with Pokemon and a pixel-by-pixel tilemapper with TinyCraft so this one didn't need a lot of thinking to do (even though I use a completely different method for this one) :)

Anyway, I got the second compression to work, now levels are stored as nibbles instead of bytes :D
That was not hard either but it is very useful considering I have 50 levels to fit.
Now you can see what the first level will look like, even if there is nothing to do inside and you can go through walls :P

Screenshot and download below ;)
Title: Re: [Axe] Robbox
Post by: stevon8ter on October 19, 2012, 02:01:12 pm
Ok looks really really cool, tommorow i'm gonna download it and play it :D
Title: Re: [Axe] Robbox
Post by: DJ Omnimaga on October 19, 2012, 06:24:34 pm
At first I misread this as Roblox the building game and was gonna say "inb4 troll invasion on Omni" but this looks very nice :D
Title: Re: [Axe] Robbox
Post by: Hayleia on October 20, 2012, 09:26:27 am
At first I misread this as Roblox the building game and was gonna say "inb4 troll invasion on Omni" but this looks very nice :D
I didn't even know about that game before you mention it :P

UPDATE
-You can't walk on walls anymore
-There is now a goal: you must now collect all the screws before going into the end portal to win
-Press F1 to explore the map (please don't explore all your RAM, there is no limitation) and press F1 again to quit the exploring mode

I also optimized the vertical scrolling, still at one pixel at a time. Notice how fast it is now *.*
I had to make horizontal scrolling at 4 pixels at a time so the vertical speed seems less shocking :P

As usual, screenshot and demo :)
Title: Re: [Axe] Robbox
Post by: Stefan Bauwens on October 20, 2012, 10:28:46 am
Looking good. Sadly Newprog isn't that fast at scrolling.
Title: Re: [Axe] Robbox
Post by: Hayleia on October 20, 2012, 02:52:30 pm
Looking good. Sadly Newprog isn't that fast at scrolling.
Thanks :)
But mine is only fast when scrolling vertically, I have to cheat to have the same speed when moving horizontally.

I also got the level 2 working but it is empty :P
So I am not making an update, you won't do more things in the level two than in the level one ;)
Title: Re: [Axe] Robbox
Post by: DJ Omnimaga on October 21, 2012, 12:19:00 pm
Looks very nice and fast. By the way will those custom fonts be required for the game? Also Stefan Bauwens one challenge in Axe Parser is that if the tilemapper is aligned properly in the screen, it scrolls much faster vertically, which can be rather problematic if you try to keep speed constant. This is probably one reason why Hayleia had his tilemapper only allow the player to be aligned with tiles and why he had to cheat to have the same speed horizontally.

I am shocked by how fast it manages to be even with grayscale, though, let alone in Axe instead of ASM.
Title: Re: [Axe] Robbox
Post by: Hayleia on October 21, 2012, 01:42:02 pm
Looks very nice and fast.
Thanks, but the final version won't be that fast ;)
I just prefer to have something that I can slow down than something that I can't speed up.

By the way will those custom fonts be required for the game?
Nope, I just use Spyro's font because I like it :P
(I made the cursors myself but he made the rest)

Also Stefan Bauwens one challenge in Axe Parser is that if the tilemapper is aligned properly in the screen, it scrolls much faster vertically, which can be rather problematic if you try to keep speed constant.
In fact, the way I did it, the tilemapper would still be that fast even if it was not aligned properly ;)
The only thing that would slow it down too much would be diagonal movement.
And if I only allowed the pleyer to be aligned with tiles is because the original game is done like that :)

I am shocked by how fast it manages to be even with grayscale, though, let alone in Axe instead of ASM.
In fact, since I use interrupts for my grayscale, the screen is not updated every loop run so maybe this is why it is a bit too fast :P
Title: Re: [Axe] Robbox
Post by: DJ Omnimaga on October 21, 2012, 02:38:50 pm
Yeah I mean in Super Sonic Ball I was planning to artificially slow the speed down for when it's aligned so it doesn't look weird. Why would diagonal movement be much slower though? ???
Title: Re: [Axe] Robbox
Post by: stevon8ter on October 21, 2012, 05:05:01 pm
Just guessing here but maybe pythagoras-calculations taking a little bit time? + movement has to be done diagonally so y and x at te same time? Idk just guessing (please don't shoot me xD )
Title: Re: [Axe] Robbox
Post by: TIfanx1999 on October 21, 2012, 06:53:05 pm
As always your work looks very pretty Hayleia. :)
Title: Re: [Axe] Robbox
Post by: Hayleia on October 22, 2012, 02:31:40 am
Why would diagonal movement be much slower though? ???
Just guessing here but maybe pythagoras-calculations taking a little bit time? + movement has to be done diagonally so y and x at te same time? Idk just guessing (please don't shoot me xD )
Not really about Pythagoras calculations ???
But yeah, if x and Y move at the same time, there is twice as much things to draw at the same time and those drawings need to be prepared before being drawn, so I guess it will slow down a lot.

As always your work looks very pretty Hayleia. :)
Thanks :D
(But you haven't seen the second level. For some reason, the decompression doesn't work for this one so walls are completely garbled :P)

edit It works now :D
Now I need to add new things in this level 2, such as crates and all -.-°
Title: Re: [Axe] Robbox
Post by: Hayleia on October 29, 2012, 08:22:26 am
Little UPDATE

You now have access to level 2 by pressing the LN key completing the first one :D
As usual, to complete a level, collect all the screws and walk on the ugly vortex thing.
I also made horizontal scrolling as fast as vertical scrolling by changing the method: now when you move to the right or the left, the last column of sprites is not drawn until you stop moving. I added a Pause so that you don't run on walls at every step you try :P
And in the level 2, you meet crates, you can push them but try not to block your way ;)
(other things such as doors and their buttons still don't work :P)

Note that the levels are in those two appvars called RBXLVL##.

(http://img.removedfromgame.com/imgs/robbox.gif)
Download below :)
Title: Re: [Axe] Robbox
Post by: aeTIos on October 29, 2012, 11:02:49 am
How did I miss this?
Looks great hayleia! Keep it up!
Title: Re: [Axe] Robbox
Post by: kindermoumoute on October 29, 2012, 01:24:04 pm
Impressive !
Title: Re: [Axe] Robbox
Post by: chickendude on October 29, 2012, 02:00:14 pm
Did you ever see Jim E's pokémon demo (http://web.archive.org/web/20071212071651/http://www.revsoft.org/phpBB2/viewtopic.php?t=386)? It was very similar in style to yours, smoothscrolling but aligned to a grid (only his was 16x16, not 8x8). He had a quick way of filling in/shifting the screen. I'm not sure how you handle it, but in asm it's pretty easy just to shift the whole screen one (or two) pixels to the left shifting in the missing pixels from a buffer with the last shift of the row of pixels. I guess with grayscale you'll have to do it for two buffers, but it's still much quicker than redrawing the map. That way you can also have a very optimised map routine since your sprites will all be aligned, you can just ldir (copy) them directly without needing to use any special sprite routine to handle shifting, etc.
Title: Re: [Axe] Robbox
Post by: Hayleia on October 29, 2012, 02:35:26 pm
How did I miss this?
Looks great hayleia! Keep it up!
Impressive !
Thanks :D

Did you ever see Jim E's pokémon demo (http://web.archive.org/web/20071212071651/http://www.revsoft.org/phpBB2/viewtopic.php?t=386)? It was very similar in style to yours, smoothscrolling but aligned to a grid (only his was 16x16, not 8x8). He had a quick way of filling in/shifting the screen. I'm not sure how you handle it, but in asm it's pretty easy just to shift the whole screen one (or two) pixels to the left shifting in the missing pixels from a buffer with the last shift of the row of pixels. I guess with grayscale you'll have to do it for two buffers, but it's still much quicker than redrawing the map. That way you can also have a very optimised map routine since your sprites will all be aligned, you can just ldir (copy) them directly without needing to use any special sprite routine to handle shifting, etc.
Never heard about that game. And seems like the gif and the demos are dead links :(
And yeah, I don't draw the whole map at every loop. For vertical scrolling, I shift the buffers once then fill in the missing line, and I repeat it 8 times. For horizontal scrolling though, making that was "too slow" so I shift it eight times then fill in the missing column of sprites :)
But optimizing it to not use any sprite routine would be useless space-wise since I use those routines elsewhere. And speed-wise, I only use those routines before scrolling, as a pre-calculus in a temporary buffer then I use Copy (talking about the vertical scrolling) :)
Title: Re: [Axe] Robbox
Post by: leafy on October 29, 2012, 05:40:17 pm
Why don't you just slow down vertical scrolling with a quick Copy( or Pause so that you don't have to sacrifice graphics quality on the horizontal shifts?
Title: Re: [Axe] Robbox
Post by: Hayleia on October 30, 2012, 02:26:17 am
Why don't you just slow down vertical scrolling with a quick Copy( or Pause so that you don't have to sacrifice graphics quality on the horizontal shifts?
Because this game is not finished at all. There are a lot of things coming, such as enemies for example. And I prefer to have a lot of spare speed before those come :)
Title: Re: [Axe] Robbox
Post by: stevon8ter on December 10, 2012, 08:28:36 am
Hey hayleia are you still working/going to work on this?
Title: Re: [Axe] Robbox
Post by: Hayleia on December 10, 2012, 11:11:17 am
I am not working on it at the moment because of the Espace-TI contest, and I won't work on it during the holidays because this is the only moment I can work on TinyCraft, but then, I'll resume this project :)