Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: c4ooo on March 08, 2015, 08:41:24 pm

Title: [Axe] Lazer II
Post by: c4ooo on March 08, 2015, 08:41:24 pm
Lazer (with an Z!) II is a sequel to Lazer I (also with an Z!), a cool Lazer simulator puzzle game where you spin mirrors to make lasers hit Targets. The original version was made in Ti-Basic, and can still be found http://www.ticalc.org/archives/files/fileinfo/459/45934.html]here (http://www.ticalc.org/archives/files/fileinfo/459/45934.html).
Lazer 2 will add the following to Lazer 1:
Lazer v2.1 download: http://www.ticalc.org/archives/files/fileinfo/464/46490.html
Thanks to @chickendude  there is now an animated screen shot. Thanks chickendude :3 Also remember that every thing you see is still alpha :P
(http://i.imgur.com/Okx83ui.gif)
I have released the third version, v2.2.
Here is a changelog:
+MAD optimization
+Over 20 new levels, but maybe more ;)
+Pressing [ + ] will make the lasers go 2 pixels at a time, and [Enter] will pause it.
+The game now requires only 1500 bytes at run time, which is a less arbitrary number then 2000B was :P
+Minor visual improvements
+Level name can be seen in the level selection menu.
The game itself looks relatively the same as before... so no need for a screenie.
 
I would like to thank@Runer112 for the greyscale code and @chickendude for bug testing :)
Title: Re: [Axe] Lazer II
Post by: TIfanx1999 on March 09, 2015, 12:07:33 am
Sounds pretty neat actually. Good luck with this! :)
Title: Re: [Axe] Lazer II
Post by: c4ooo on May 24, 2015, 07:38:15 pm
For those who may be wondering, I am still working on this. I have learned a lot of axe sence I started, ajd that resulted in an optimized rewrite of the game. Although I will promise no deadlines, I have a picture of my epic planing skillz:
Spoiler For Spoiler:
(http://i58.tinypic.com/2e6argn.jpg)
: gameplay pics will come eventually :p
Title: Re: [Axe] Lazer II
Post by: Haobo on May 26, 2015, 12:19:12 am
Nice flowchart diagram ;D
Title: Re: [Axe] Lazer II
Post by: c4ooo on June 02, 2015, 04:09:38 pm
Well as I said before, I rewrote practically everything, and I decided to post a video of what I have so far. The main menus have a dark-greyscale theme, with the cursor automatically resizing using interpolation to fit the selected text. The file io works, (it opens files but can't save so should I say half works?) and the greyscale tilemap was loaded from from a file. My guitar is seen in the background. Hopefully the attached Vidio will work and will be of high enofe quality. If not I will edit the post. 
The main menu, note curser
(http://i61.tinypic.com/dw41tv.jpg)
The tilemap engine. The big white box is the curser.
(http://i61.tinypic.com/2djru60.jpg)
The curser can be used to spin mirrors, no firing lasers yet thou :p
(http://i60.tinypic.com/334khvd.jpg)
Edit (not rly) I will just post pictures.
Edit 2:
Lazer 1 just reached 255 downloads, a nice round (in binary) clean number. I guess that's a landmark. :)
Title: Re: [Axe] Lazer II
Post by: c4ooo on June 29, 2015, 03:46:19 pm
I have released an alpha test version so people can actualy play it: http://www.ticalc.org/archives/files/fileinfo/464/46490.html
It only currently features only 5 levels thou!
Title: Re: [Axe] Lazer II
Post by: chickendude on June 30, 2015, 05:19:42 am
You might wanna test if there's enough free RAM before starting, it crashed on me when i didn't have enough RAM. Also, the menu seems a bit bugged? About is the options menu, Quit is the about menu, and options does nothing. You also spelled CANCEL wrong in the "select pack" screen.

The actual game itself is nice, though i have a suggestion for moving around. I suggest that pressing up/left/down/right move the cursor an entire square, you can have it smooth scroll like it does, so it could scroll 8 pixels and then update the cursor. Right now it's a little awkward to select the right tile at times. All in all it looks really pretty and plays well, though the puzzles are a bit.. easy :P

Also, do you not have an emulator that can take screenshots (like WabbitEmu)? I can upload some screenshots from an emulator if you'd like (i saw your pictures at ticalc are from a camera).
Title: Re: [Axe] Lazer II
Post by: c4ooo on June 30, 2015, 12:37:32 pm
You might wanna test if there's enough free RAM before starting, it crashed on me when i didn't have enough RAM. Also, the menu seems a bit bugged? About is the options menu, Quit is the about menu, and options does nothing. You also spelled CANCEL wrong in the "select pack" screen.
Off crashing with no ram is a bad bug that i somehow missed! The bugged menus are probably a result of me making a last minute change and forgetting to change other stuff, and about spelling errors, i have problems spelling ._.
The actual game itself is nice, though i have a suggestion for moving around. I suggest that pressing up/left/down/right move the cursor an entire square, you can have it smooth scroll like it does, so it could scroll 8 pixels and then update the cursor. Right now it's a little awkward to select the right tile at times. All in all it looks really pretty and plays well, though the puzzles are a bit.. easy :P
Thank you for the feedback  :thumbsup: Also the puzzles are easy because they have no thought in them, they were just made to test the engine. :P
Also, do you not have an emulator that can take screenshots (like WabbitEmu)? I can upload some screenshots from an emulator if you'd like (i saw your pictures at ticalc are from a camera).
Dude, that would be nice! (and also i need to set up Wabbit sometime :P )
Title: Re: [Axe] Lazer II
Post by: chickendude on July 01, 2015, 02:07:07 am
Here's an animated screenshot of the demo:
(http://www.mirari.fr/gtLq)

I figured the puzzles were just to test the demo,  though i did spend a while trying in vain to figure out how to solve the last puzzle (level 5) :P

Also, i thought that [del] was supposed to restart the level, but it just seems to bring up a screen with the name of the level. The select level part also changes a bit too quickly, you have to tap left/right quickly to select the next level.

Anyway, it seems like you've basically got everything done, you just need to work on puzzles, right? Is there anything else (maybe other mirror pieces) you plan to add?
Title: Re: [Axe] Lazer II
Post by: c4ooo on July 01, 2015, 12:37:45 pm
Here's an animated screenshot of the demo:
(http://www.mirari.fr/gtLq)

I figured the puzzles were just to test the demo,  though i did spend a while trying in vain to figure out how to solve the last puzzle (level 5) :P
 
Also, i thought that [del] was supposed to restart the level, but it just seems to bring up a screen with the name of the level. The select level part also changes a bit too quickly, you have to tap left/right quickly to select the next level.

Anyway, it seems like you've basically got everything done, you just need to work on puzzles, right? Is there anything else (maybe other mirror pieces) you plan to add?
Thanks for the gif,  ;) Not trying to be an Ephraim, but when the gif ends it just becomes white, which is rather annoying :P
Level 5 is not currently  beatable, actually  :blah: , and [del] does restart the level, but when it does it also displays the title. About the level selection, I am planing to work a bit on it to make it a bit more user friendly. Lastly, the only other major thing I am planning to add are portals, and probably a few minor variants of the current pieces.  ;)
Edit: i fixed the gif by uploading it to imgur and then linking it here :)
Title: Re: [Axe] Lazer II
Post by: chickendude on July 03, 2015, 08:06:04 am
Ah, the gif works fine for me here (keeps repeating like normal). And i guess i only tested [del] on the last level since i was trying to figure out how to beat it, so it seemed like it didn't do anything :P

Portals are actually one of the things i had in mind, cool to see you'll be adding those. I'd also suggest making the cursor move to the next tile when pressing an arrow key, i think keeping the cursor in the middle of the screen at all times and then shifting the background 8 pixels in whatever direction would look nice. You can see in the screenshot that there were a couple times where i had trouble selecting the right tile.
Title: Re: [Axe] Lazer II
Post by: c4ooo on July 03, 2015, 12:43:54 pm
Ah, the gif works fine for me here (keeps repeating like normal). And i guess i only tested [del] on the last level since i was trying to figure out how to beat it, so it seemed like it didn't do anything :P

Portals are actually one of the things i had in mind, cool to see you'll be adding those. I'd also suggest making the cursor move to the next tile when pressing an arrow key, i think keeping the cursor in the middle of the screen at all times and then shifting the background 8 pixels in whatever direction would look nice. You can see in the screenshot that there were a couple times where i had trouble selecting the right tile.
I actually tried to implement the cursor like you suggested yesterday but ended up with a system that a)did not work properly; and b)was slow :P
Title: Re: [Axe] Lazer II
Post by: Ivoah on July 03, 2015, 05:44:37 pm
Looks nice! It reminds me of this: http://www.ticalc.org/archives/files/fileinfo/139/13958.html
Title: Re: [Axe] Lazer II
Post by: chickendude on July 04, 2015, 05:02:55 am
Maybe the reason it was slow was because it didn't work properly :P

Here's my suggestion, then: when you press an arrow key, just repeat that loop 8 times. I'm not sure how this is written in Axe, there's probably a for loop or something. In asm you'd just use djnz. If it feels too slow for you (which it shouldn't, since it should basically be the same as holding down a key, only slightly faster), you could try scrolling two pixels at a time. You'd of course have to redraw the screen after each rotation, though i suppose the grayscale routine takes care of that for you.
Title: Re: [Axe] Lazer II
Post by: c4ooo on July 04, 2015, 12:29:21 pm
Maybe the reason it was slow was because it didn't work properly :P

Here's my suggestion, then: when you press an arrow key, just repeat that loop 8 times. I'm not sure how this is written in Axe, there's probably a for loop or something. In asm you'd just use djnz. If it feels too slow for you (which it shouldn't, since it should basically be the same as holding down a key, only slightly faster), you could try scrolling two pixels at a time. You'd of course have to redraw the screen after each rotation, though i suppose the grayscale routine takes care of that for you.
That wont really work because each loop there are many things that must be done each cycle to make the game tick(ex update lasers{it would look odd if the lasers stopped moving when you moved the cursor}, copy tile map buffers to main draw buffers, draw stuff like cursors and lines around the map, and then flip the grayscale buffers), so yea , it cant be done with just a simple loop :P
Right now ime trying to debug why having more then one packs does not work, and then ile give a second shot at this ;)
Title: Re: [Axe] Lazer II
Post by: chickendude on July 05, 2015, 05:01:53 am
But do you really need to move the cursor while the lasers are shooting? Anyway, you could just have two variables, a counter and a variable that contains which direction you're moving. If the counter > 0, don't read key presses, decrease the counter then immediately jump to whatever direction you need to be moving (possibly skipping over the part that sets the counter to 8 ). You could even have the direction variable by the value of the keypress so you can just load that into whatever variable you read keypresses into.

And at least in my code, updating the lasers each loop would just look like "call updateLasers" :P

Multiple level packs would be cool, too!
Title: Re: [Axe] Lazer II
Post by: TIfanx1999 on July 16, 2015, 12:37:23 am
It's getting late now, but I'll see if I can give your demo a go tomorrow. :)
Title: Re: [Axe] Lazer II
Post by: c4ooo on September 07, 2015, 08:43:35 pm
Update: Updated the game.
+New tiles: Portals, Gates, and Switches
+Better movement, as chickendude suggested.
+Fixed glitchy main menu and glitchy level passed menu
+Internal bugs and optimizations
http://www.ticalc.org/archives/files/fileinfo/464/46490.html
Title: Re: [Axe] Lazer II
Post by: chickendude on September 08, 2015, 08:24:14 pm
Just tested out the new version, the movement is much better in my opinion but still a bit off. Moving up and left seem fine, but moving right and down wait until the screen has finished scrolling to update the cursor's position. I think you should first move the cursor then scroll the screen, like with moving up/left. Though really i think keeping the cursor in the center of the screen at all times would look the best. The portals and the little flip things are pretty cool and make for some nice puzzles. Nice work :)
Title: Re: [Axe] Lazer II
Post by: c4ooo on September 11, 2015, 03:11:35 pm
Just tested out the new version, the movement is much better in my opinion but still a bit off. Moving up and left seem fine, but moving right and down wait until the screen has finished scrolling to update the cursor's position. I think you should first move the cursor then scroll the screen, like with moving up/left. Though really i think keeping the cursor in the center of the screen at all times would look the best. The portals and the little flip things are pretty cool and make for some nice puzzles. Nice work :)
thank you for the motivation :) About curser movment, the wierd down/right curser movment is due to rounding errors. Basicly axe's division rutine always rounds down. Now, originally i had just a circular curser that stayed in the center of the screen, and movment was on a 2*2 grid. (it still is on a 2*2 grid but now 1 keypress scrolls you 2 pixels 4 times). having a circle in the midle of the screen made the selected tile a bit hard to see, so i replaced it with the system you saw in the original upload.
Right now i am planning to rewrite the engine file, becouse right now it is basicly a big mess hacked together in sections over several months. I will nead to know the new curser mechanics before i start, as they will be important. 
Title: Re: [Axe] Lazer II
Post by: c4ooo on October 18, 2015, 06:54:55 pm
Bump
I have released the third version, v2.2.
Here is a changelog:
+MAD optimization
+Over 20 new levels, but maybe more ;)
+Pressing [ + ] will make the lazer go 2 pixels at a time, and [Enter] will pause it.
+The game now requires only 1500 bytes at run time, which is a less arbitrary number then 2000B was :P
+Minor visual improvements
+Level name can be seen in the level selection menu.
The game itself looks relatively the same as before... so no need for a screenie.
 
ticalc.org is still aproving, so you guys might have to wait a few days before you can try it out ;)
Title: Re: [Axe] Lazer II
Post by: Eeems on October 18, 2015, 07:22:14 pm
You could always attach it to your post for now.