CodeWalrus

Development => Calculators => Calc Projects, Programming & Tutorials => Topic started by: c4ooo on September 08, 2015, 12:39:31 am

Title: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on September 08, 2015, 12:39:31 am
Download the latest version of Lazer II: http://www.ticalc.org/archives/files/fileinfo/464/46490.html
Well, after close to a year of direct / indirect work, it seems that Lazer II is just about done. Lazer 2 is a cool laser puzzle simulator game, where you must spin mirrors, using portals and buttons to your advantage, in order to make one or more lasers hit the target(s). The concept is similar to <that one laser game>, but there are major gameplay differences. (For example all lasers are shot simultaneously)
Lazer II is a sequel/rewrite to the TI-Basic game, Lazer I, which can still be found here (http://www.ticalc.org/archives/files/fileinfo/459/45934.html). As the level editor is going to be released next weak, (it will be part of the main file) I may fas well call this project "done" :) (That makes two done projects for me  8) )
Lazer 2 adds the following to Lazer 1:

Note: old screenshot
(https://codewalr.us/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FOkx83ui.gif&hash=f095c216e8c926f6adc9a647deff9eb5)
Image thanks to @chickendude

Read the readme.txt for how to play the game :)

I would like to thank@Runer112 for the greyscale code and @chickendude for bug testing :) (and gif)
Title: Re: Lazer 2
Post by: DJ Omnimaga on September 08, 2015, 04:42:41 am
Good job on this so far, or is it complete already? I like how it looks like, even better than the original, and the use of the grayscale is nice. :)

Mind if I clone this topic in the file downloads archives? (which consists in making this topic show up in multiple forum categories at once)
Title: Re: Lazer 2
Post by: c4ooo on September 08, 2015, 10:47:23 am
Quote from: DJ Omnimaga on September 08, 2015, 04:42:41 am
Good job on this so far, or is it complete already? I like how it looks like, even better than the original, and the use of the grayscale is nice. :)

The core mechanics are mostly all done, but the game has few levels :P

Quote from: DJ Omnimaga on September 08, 2015, 04:42:41 am
Mind if I clone this topic in the file downloads archives? (which consists in making this topic show up in multiple forum categories at once)

Sure! :D

NB: ticalc.irg is still pending the file aorn
Title: Re: Lazer 2
Post by: alexgt on September 08, 2015, 11:10:51 pm
Looks great, I am letting a friend loan my 84+ so I will put a game or two on it and this might be one ;)
Title: Re: Lazer 2
Post by: DJ Omnimaga on September 10, 2015, 06:23:30 am
Quote from: c4ooo on September 08, 2015, 10:47:23 am
Quote from: DJ Omnimaga on September 08, 2015, 04:42:41 am
Good job on this so far, or is it complete already? I like how it looks like, even better than the original, and the use of the grayscale is nice. :)

The core mechanics are mostly all done, but the game has few levels :P

Quote from: DJ Omnimaga on September 08, 2015, 04:42:41 am
Mind if I clone this topic in the file downloads archives? (which consists in making this topic show up in multiple forum categories at once)

Sure! :D

NB: ticalc.irg is still pending the file aorn
It's approved now. I'll give it a try when I have a chance. Also that last typo could be interpreted in various ways :P
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on September 10, 2015, 07:11:06 pm
erm... i think i see what you are getting at  O.O But "aorn" is a contraction for "as of right now". :P
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: Snektron on September 10, 2015, 08:02:07 pm
ohh that looks sweet :) I will try it out soon
Title: Re: Lazer 2
Post by: DJ Omnimaga on September 10, 2015, 10:10:58 pm
Quote from: c4ooo on September 10, 2015, 07:11:06 pm
erm... i think i see what you are getting at  O.O But "aorn" is a contraction for "as of right now". :P
Oh I see. It's the first time I ever see this acronym being used. :P
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on October 04, 2015, 05:40:01 pm
I havnt bean programming latly do to lack of time/energy/motivation, but today i added a new feture allowing the laser to optionaly traval at 2 pixels per frame. I plan on having 4 different speed setting (1pxl/frame with pause, 1pxl/frame, 2pxl/frame with pause, 2pxl/frame) There is a way to make the lazer go slower in the current version by pressing the enter button, but its mostly a debug feature, and not well made.
Title: Re: Lazer 2
Post by: DJ Omnimaga on October 04, 2015, 07:30:24 pm
Sorry to hear about your motivation/time/etc, glad to see a new update though :). Speed settings seems like a cool idea. :)
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on October 18, 2015, 11:00:18 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 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.

ticalc.org is still aproving, so you guys might have to wait a few days before you can try it out ;)
Title: Re: Lazer 2
Post by: DJ Omnimaga on October 18, 2015, 11:15:08 pm
Glad to see new levels. I need to try the new version when it comes out. :)

Will level packs with no level names still be supported?
Title: Re: Lazer 2
Post by: c4ooo on October 18, 2015, 11:43:49 pm
Quote from: DJ Omnimaga on October 18, 2015, 11:15:08 pm
Glad to see new levels. I need to try the new version when it comes out. :)

Will level packs with no level names still be supported?

Thanks ;D

No, nameless levels are not supported, but you can use a space. When i actually make a level editor, (hopefully soon) i can also make an option for a "nameless level", where it will automaticly place either a space, or a FE char, which is a black dot. (the last 8 or so chars in the char set are black dots, but i cant use the FF char because that is a special byte in the level loading code)
Title: Re: Lazer 2
Post by: DJ Omnimaga on October 19, 2015, 03:39:04 am
So if anyone made level packs before, then he now needs to remake them due to lack of name support being phased out? I guess it's ok if no one has made levels yet, but otherwise, could you make it like MirageOS programs that lack a description?
Title: Re: Lazer 2
Post by: c4ooo on November 01, 2015, 10:00:08 pm
Quote from: DJ Omnimaga on October 19, 2015, 03:39:04 am
So if anyone made level packs before, then he now needs to remake them due to lack of name support being phased out? I guess it's ok if no one has made levels yet, but otherwise, could you make it like MirageOS programs that lack a description?

Ehh?
I think we are on different pages :P
No one has made packs before because there was never an editor :P Also levels are stored in a custom format, and it would be much easier to have the editor insert a random invisible char then to test if a name exists :P (Although now that I think of it I don't think that anything will fail if the save file lacks names)

Originally I planed to have the ability to have many custom packs, as well as several official ones, but I think the best that will happen is the ability to edit from a max of 225 levels  :-\ At least there I still plan an editor.
Title: Re: Lazer 2
Post by: DJ Omnimaga on November 01, 2015, 11:02:37 pm
Oh ok I thought people already made levels before :P
Title: Re: Lazer 2
Post by: c4ooo on November 08, 2015, 11:10:21 pm
Quote from: DJ Omnimaga on November 01, 2015, 11:02:37 pm
Oh ok I thought people already made levels before :P

Well yea... there was never an editor. In fact, thats whT i have been working on  8)
Title: Re: Lazer 2
Post by: DJ Omnimaga on November 12, 2015, 12:42:16 am
Oh that seems very nice. I hope you can release it with the game in the near future. :)
Title: Re: Lazer 2
Post by: alexgt on November 12, 2015, 01:27:34 am
I like the editor, I will definitely make some (probably crappy) levels for you ;)
Title: Re: Lazer 2
Post by: c4ooo on November 13, 2015, 11:54:57 am
Quote from: DJ Omnimaga on November 12, 2015, 12:42:16 am
Oh that seems very nice. I hope you can release it with the game in the near future. :)

Thank you!  ;D

Quote from: alexgt on November 12, 2015, 01:27:34 am
I like the editor, I will definitely make some (probably crappy) levels for you ;)

Levels will be needed. Tomorrow today i plan to enlist my friend at school to draw up some levels for me.  :)
The level editor is sort of working, you still can't edit meta data so no portals and switches in the level editor ( :( ), but i will release a beta editor soon.
Meanwhile, i released a new version that fixes a few bugs and has some small changes ;)
Title: Re: Lazer 2
Post by: alexgt on November 13, 2015, 05:50:50 pm
Cool, I hope you can release it soon I really want to mess around with the editor ;)
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on November 22, 2015, 05:37:43 pm
After some lack of success, i got levels to actually write to the save file.  :w00t:
Unfortunately, the file size is around 9000 Bytes now   <_<
I hope to release an update ein the next week or two.  :)
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: Snektron on November 22, 2015, 10:52:39 pm
Sweet :) If it gets too big, you might wanna think about making an app of it.
Title: Re: Lazer 2
Post by: DJ Omnimaga on November 23, 2015, 05:56:54 am
9000 bytes per levels or 9000 bytes for the editor?
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on November 23, 2015, 01:20:03 pm
Quote from: Cumred_Snektron on November 22, 2015, 10:52:39 pm
Sweet :) If it gets too big, you might wanna think about making an app of it.

I probably would have, but right now i am to lazy to revert a small smc-based optimization :P
/me runs

You can still run it with Doors though ;)

Quote from: DJ Omnimaga on November 23, 2015, 05:56:54 am
9000 bytes per levels or 9000 bytes for the editor?

For the whole game  8)
Level size depends on how much stuff is in it :P
I think the formula for level size is something like: Name_length(6 for all editable levels) + 3 + ((Number_Of_non_air_tile + (2*Number_Of_Non_consecutive_air_tiles) / 2) ;)
Edit: correction.
Title: Re: Lazer 2
Post by: DJ Omnimaga on November 23, 2015, 11:32:31 pm
Oh phew. 9000 per levels seemed shockingly high. :P

By the way, I forgot if DCS removes the 8 KB executable code limit? That was a major issue for Axe and ASM coders back then.
Title: Re: Lazer 2
Post by: c4ooo on November 28, 2015, 04:51:17 pm
Quote from: DJ Omnimaga on November 23, 2015, 11:32:31 pm
Oh phew. 9000 per levels seemed shockingly high. :P

By the way, I forgot if DCS removes the 8 KB executable code limit? That was a major issue for Axe and ASM coders back then.

Yes [good thing] it does.
For now i think i will require DoorsCS, but later either optimize *A LOT* or switch to using an app  :)
Title: Re: Lazer 2
Post by: DJ Omnimaga on November 29, 2015, 06:56:21 am
An app might be better, assuming everything can fit in 1 page. Good luck!
Title: Re: Lazer 2
Post by: Snektron on November 30, 2015, 02:14:06 pm
Quote from: c4ooo on November 28, 2015, 04:51:17 pm
Quote from: DJ Omnimaga on November 23, 2015, 11:32:31 pm
Oh phew. 9000 per levels seemed shockingly high. :P

By the way, I forgot if DCS removes the 8 KB executable code limit? That was a major issue for Axe and ASM coders back then.

Yes [good thing] it does.
For now i think i will require DoorsCS, but later either optimize *A LOT* or switch to using an app  :)


What exactly are you using DCS for?
Title: Re: Lazer 2
Post by: DJ Omnimaga on November 30, 2015, 07:21:13 pm
From what I can gather, he uses it for removing the 8 KB code limit. If he doesn't want to make his game dependent on 1 shell, then he could probably use some tool like Fullrene, if that doesn't require the game player to run it first, but I don't remember if those tricks still work. I haven't kept in touch with 8 KB circumvention tricks in years.
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on November 30, 2015, 07:37:25 pm
I use DSC to bypass the 8KB limit  ;)
If i try running a game >8KB using Asm(), i get an ERROR:INVALID message.
I have not worked on the game this week, but i will figure something out soon :)
BTW the version currently up for download does not require doors as it has no editor and is only about 7KB.
Title: Re: Lazer 2
Post by: DJ Omnimaga on November 30, 2015, 07:42:13 pm
Have you gotten any luck with Fullrene? https://www.omnimaga.org/ti-z80-calculator-projects/fullrene/msg293560/#msg293560

From what I recall, this will allow your game to run from any shell and even the Asm() command. Backup first, though.
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on December 20, 2015, 02:33:54 am
There has not been any progress for a long time.  :( I had neither time and motivation. The project is not dead however, but will be worked along side on Super Walrii Land 8x+ when i finish the contest :) The file editing was finished, but my whole file system is hodge poge :( Thats why for my cotnest entry, Super Walrii Land 8x+, the first thing i am making is a proper file system :P
Title: Re: Lazer 2
Post by: alexgt on December 20, 2015, 03:45:06 am
I wish you the best of luck ;)
Title: Re: Lazer 2
Post by: DJ Omnimaga on December 24, 2015, 03:52:53 am
Generally, it's always good to write used variables, lists, sub-programs and routines down in notepad as you progress and plan before starting the project, to make it easier for you to not get lost in your own code. Good luck, though. :)
Title: Re: Lazer 2
Post by: DJ Omnimaga on April 24, 2016, 06:11:26 am
Bump: On a side note @c4ooo I was looking at the first screenshot again now and noticed two things:

-In the menu, "CANCEL" is spelled wrong (you wrong "CANCIL") :P
-I just noticed the selection bars actually resizes automatically depending of how long the menu option text is. Nice touch actually :D
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on April 30, 2016, 08:42:06 pm
@DJ Omnimaga yep ^.^

I feal like lazer II was a failure despite all the work i put in :( I never actualy released the Level Editor update do to lack of demand, maybe i will some day... Also i think this game might get a PC port some time. Or at least a full fledged RPG that contains these laser puzzles. But that's looking a year into the future...
Title: Re: Lazer 2
Post by: DJ Omnimaga on May 01, 2016, 07:17:54 am
THis is because color calcs took over in terms of popularity. Even the Nspire CX was partly taken over by the 84+CE, especially the non-CAS model. Don't lose hope over this, though. On PC you would have the same problem because there are so many PC games out there that it's hard to find the more obscure ones. Also a level editor would be nice. :3=


On a side note, was Lazer 1 pure-BASIC? Because if it doesn't have too many diagonals to display, then maybe it could be adapted for CE Textlib, just for kicks? :P
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: c4ooo on May 03, 2016, 09:54:46 pm
Lazer I was pure basic. All drawing was done with Line/Text BTW.
Also if you remember, i was porting Lazer I to CE but suffered an OS corruption :(
Title: Re: Lazer 2
Post by: DJ Omnimaga on May 03, 2016, 10:49:50 pm
Ah I forgot that you lost the game D:

I hope you eventually redo it, though. I was tempted to do it because there was no more sign of life from your CE port, but I am more likely to port my BASIC Galaxian clone to CE Textlib first.
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: Jkolade936 on May 04, 2016, 01:37:12 am
And I realized that reading that message can cause you to lose the game. D:
Title: Re: [TI-83+/84+] Lazer 2 [axe] @DJ
Post by: c4ooo on May 06, 2016, 02:46:13 am
DJ: i would defiantly let you port it if you keep it pure basic.
And if you follow mockups i create.
And if you keep my vision of the game.
And if ... (You get my point)

But yea, i will give it another try sometime. You said you had some ideas, what were they? Also i may rewrite the game from scratch. (But keep the same level format. The level file is a 5K block of code :P )

Also, can we please move to the Lazer I topic if we are going to talk about ports of Lazer I? :)
Title: Re: Lazer 2
Post by: DJ Omnimaga on May 06, 2016, 02:48:59 am
Well, I was planning to make it hybrid so you can forget about a game port then. Sorry (plus I tend to not like when people boycott ASM libs like if they were the black plague anyway, which you seem to have done for a long while according to your many comments about them, especially xLIBC in the shoutbox in the past). It's your choice, though. I can always make a brand new game. As for my game I don't have specific ideas yet but it would definitively be in the same vein as Laser Mayem or stuff like that.

And yeah I agree that Lazer 1 discussion should be moved to a different topic. :P
Title: Idk we derailed it _._
Post by: c4ooo on May 10, 2016, 03:36:02 am
I already said this on irc but i was in the middle of writing this so:

Theres no reason why the game cant run why the game cant be done in pure basic ;) I don't see a reason why the user should be required to have a library installed if its not needed.

There was other stuff i wanted to say but i sort of cut myself of on IRC >_>
Title: Re: Lazer 2
Post by: DJ Omnimaga on May 10, 2016, 03:38:43 am
I wasn't saying that the game has to use a library. Just that if I made it myself I would use libraries, since that's what I prefer coding with. You should make it pure Basic if you prefer using that language.

Also it doesn't matter what the game was programmed in anyway and if it requires a lib (besides, all C games requires dependencies anyway), as long as the game is fun.
Title: Re: [TI-83+/84+] Lazer 2 [axe] Update Time! + Source code released!
Post by: c4ooo on March 02, 2017, 01:59:29 am
Update time!
To begin, this has been sitting untouched on my calculator for around 7 months if not more, i never got around to uploading until now :(
This is officially the final version, unless people create levels and i have the motivation to add them :)
As well as minor optimizations (scrolling the map should be a bit faster - greyscale is temporarily disabled when you scroll), i added level creation to the game. Although you can not create levels with portals, switches or gates, (placing portals and switches would be to hard to program in from a UI standpoint) you can place mirrors and boxes. You can also expand the level size; although i think past a width/height of 16, graphical oddities start to pop out.
Here are the controls for level editing:
   [Y=] - Edit Selected Tile
   [Graph] - Edit Selected Tile
   [-] - Delete Row
   [รท] - Delete Column
   [8] - Insert Row Above Cursor
   [2] - Insert Row Below Cursor
   [4] - Insert Column To The left Of The Cursor
   [5] - Insert Column To The Right Of The Cursor
        [sto->] - Save

Also, Doors is now required do to the file size.

Furthermore!; the source code is now released!
Title: Re: Lazer 2
Post by: DJ Omnimaga on March 02, 2017, 04:57:16 am
Glad to see this updated. I actually thought the previous version was complete,though. :P Custom levels are definitively a great addition. :D
Title: Re: Lazer 2
Post by: c4ooo on April 15, 2017, 03:25:48 am
Quote from: DJ Omnimaga on March 02, 2017, 04:57:16 am
Glad to see this updated. I actually thought the previous version was complete,though. :P Custom levels are definitively a great addition. :D

The thing is, i said the game was complete, but basically was to lazy to publish the complete version.
Title: Re: Lazer 2
Post by: DJ Omnimaga on April 15, 2017, 08:08:28 pm
This reminds me Illusiat 11 Kin Master Quest and Illusiat 7 Easy Type <_<
Title: Re: [TI-83+/84+] Lazer 2 [axe]
Post by: Alvajoy123 on April 16, 2017, 12:31:40 am
coool  :thumbsup: