Lyon

Discuss how totally awesome Bang! is here.

Moderator: Terryn

User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: Lyon

Post by bitbot »

Commodore wrote:Re: Flashing/Bright. Cheating in ZZT has always been a topic of discussion. If you add macros you can cheat with a button press anyway. I think the ease at which you can cheat actually helps zzt, since it can help you past that slider puzzle you don't want anything to do with, or get past buggy code.

I've got 5 dark boards in the game I'm currently working on. Should I make it #endgame on -dark? Would that be unfair? and ruin my game for people who don't like dark boards? It's a bit like your memory "problem". You could put in measures to crash the game over a memory limit, but why?
You can #endgame but the the cheater would just ?+health. I believe in anti-cheat is an artform. A bombardment of obstacles is like a side quest to persuade the user to play the damn game.

My situation is different. I need an object to trigger darkness.
#set dark could be a feature, not just a cheat.
Perhaps you could slip this one into Lyon?

Edit: This is for a pivotal point in the game where you get the Master Sword.
Image Image
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

bitbot wrote:
Commodore wrote:Re: Flashing/Bright. Cheating in ZZT has always been a topic of discussion. If you add macros you can cheat with a button press anyway. I think the ease at which you can cheat actually helps zzt, since it can help you past that slider puzzle you don't want anything to do with, or get past buggy code.

I've got 5 dark boards in the game I'm currently working on. Should I make it #endgame on -dark? Would that be unfair? and ruin my game for people who don't like dark boards? It's a bit like your memory "problem". You could put in measures to crash the game over a memory limit, but why?
You can #endgame but the the cheater would just ?+health. I believe in anti-cheat is an artform. A bombardment of obstacles is like a side quest to persuade the user to play the damn game.

My situation is different. I need an object to trigger darkness.
#set dark could be a feature, not just a cheat.
Perhaps you could slip this one into Lyon?

Edit: This is for a pivotal point in the game where you get the Master Sword.
The only way to get darkness set is if the board is set dark by default or you type ?DARK. Dark isn't even a flag, and ?-DARK is actually a special case in the cheat routine.

I really don't like to include features that aren't possible in the original engine. There's Tyger and Megazeux for that ;) Your best bet would be to teleport the player using a duplicator+passage to another identical board that is dark or something.
User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: Lyon

Post by bitbot »

Saxxon wrote:
bitbot wrote:
Commodore wrote:Re: Flashing/Bright. Cheating in ZZT has always been a topic of discussion. If you add macros you can cheat with a button press anyway. I think the ease at which you can cheat actually helps zzt, since it can help you past that slider puzzle you don't want anything to do with, or get past buggy code.

I've got 5 dark boards in the game I'm currently working on. Should I make it #endgame on -dark? Would that be unfair? and ruin my game for people who don't like dark boards? It's a bit like your memory "problem". You could put in measures to crash the game over a memory limit, but why?
You can #endgame but the the cheater would just ?+health. I believe in anti-cheat is an artform. A bombardment of obstacles is like a side quest to persuade the user to play the damn game.

My situation is different. I need an object to trigger darkness.
#set dark could be a feature, not just a cheat.
Perhaps you could slip this one into Lyon?

Edit: This is for a pivotal point in the game where you get the Master Sword.
The only way to get darkness set is if the board is set dark by default or you type ?DARK. Dark isn't even a flag, and ?-DARK is actually a special case in the cheat routine.

I really don't like to include features that aren't possible in the original engine. There's Tyger and Megazeux for that ;) Your best bet would be to teleport the player using a duplicator+passage to another identical board that is dark or something.
Yikes. I'll just leave the board dark. :)
I agree with keeping it original wherever possible. It's not such a serious request.
Image Image
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I'm glad you understand :) It's really tempting though! Perhaps after I get the editor fixed I might consider expanding ZZT. But the priority is compatibility. If I make something that expands the possibilities of ZZT, I am purposefully making it incompatible with the original ZZT.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

Got this error pressing "s" while playing Sector-9. Couldn't get it to happen again though...

Code: Select all

System.NullReferenceException
   at Lyon.MainForm.FileSave(Environment E)
   at Lyon.MainForm.SaveGameHandler(Environment E)
   at Lyon.Roton.Environment.ActPlayer(Int32 Index)
   at Lyon.Roton.Environment.Act(Int32 Index)
   at Lyon.Roton.Environment.ExecuteMain()
   at Lyon.Roton.Environment.ExecuteInit()
   at Lyon.Roton.Environment.Execute()
*POW* *CLANK* *PING*
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Commodore wrote:Got this error pressing "s" while playing Sector-9. Couldn't get it to happen again though...

Code: Select all

System.NullReferenceException
   at Lyon.MainForm.FileSave(Environment E)
   at Lyon.MainForm.SaveGameHandler(Environment E)
   at Lyon.Roton.Environment.ActPlayer(Int32 Index)
   at Lyon.Roton.Environment.Act(Int32 Index)
   at Lyon.Roton.Environment.ExecuteMain()
   at Lyon.Roton.Environment.ExecuteInit()
   at Lyon.Roton.Environment.Execute()
That tells me that the Environment was not passed correctly. Which is strange since the environment should be passing *itself*. Null Reference means an object is nothing. Guess I'll stress test this one and find out what's going on.

Edit: attaching source so I can work at home later.
Attachments
Lyon-src.zip
(140.37 KiB) Downloaded 197 times
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

It amazes me how old posts can stay relevant for so long. This gem was from 2004:
Quantum P. wrote:If ZZTers wanted a better ZZT, they would have switched to Megazeux, or ZIG, or whatnot. That didn't happen; people have preferred and will prefer the original. The conclusion? ZZT 4.0 is not only unnecessary, it's a bad thing to use. If you think, "I'm gonna use it anyway, and if you don't like it, you don't have to use it," you're falling into a trap. If you use features that are exclusive to ZZT 4.0 in your games, the majority of ZZTers will not be able to play it. Sure, they could upgrade, but why bother? There are other games out there that <i>do</i> work with their preferred version of ZZT, and those will be the games that will be played.

In case I was not clear enough, <b>do <i>not</i> use ZZT 4.0.</b> You'll be sorry. Please join me in a boycott against ZZT 4.0.

I could rant forever, but I am a Pastamancer, and I have some universe altering to do.
This is precisely why I haven't started enhancing anything :) I want to make a convincing enough simulation of the original first.


- Found the save bug. It was due to passing the wrong Environment object. Whoops.
- You were able to enter cheats while looking at a scroll. This was because the cheat event wasn't implemented properly. It should now work properly.
- You can use F11 while cheating now.
- The code has been split up into smaller files. This makes for better code organization.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Done for the night. The fixes in the above post are there, and SZZT proportion as well.

In two months, Lyon turns one year old.
Attachments
Lyon-src.zip
(142.76 KiB) Downloaded 196 times
Lyon.zip
(127.55 KiB) Downloaded 197 times
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I noticed that character sets are not pulled from ZIP archives. Going to implement this one soon.

- The editor has been removed. Will be added back when it is recreated. Should save a few kilobytes in the EXE.
- Blinking has been implemented.
- DirectDraw can be toggled during gameplay. Defaults to On. This is a per-window option under the View menu.
- Direct3D implementation has begun so that we can have hardware accelerated interpolated graphics. This may not be available in the next release though since it is a large change.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Request time!

There are a couple things that are planned but not implemented yet:
- Keys mapped to flags
- Functional editor
- Remappable keys
- Input device support (joystick, etc)

What else would you guys like to see in Lyon?
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

Some customisation would be nice. Like if the sounds were able to be taken from user supplied files. That way you could have SFX in ZZT games. A world could come with a folder of wavs or something, and lyon would substitute for the notes. A world would still be backwards compatible.

Maybe a specific character set could be chosen as the default.

I'd sort of like to see a display more faithful to the original SZZT window. A numerical health display might prove more useful and less complicated to program than SZZT's health bar. It's not too important to me, but if the view is larger, than things the designer might not want you to see might be visible. Look at the title screens of the included games for example. This is a minor quibble. The larger view is actually quite nice.

I'm wondering how fast lyon can go. Is max speed a delimited speed? I'd like to see how fast I can get the preposterous machines mandelbrot to form.

Being able to adjust the key repeat delay from default would be cool too.
*POW* *CLANK* *PING*
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Commodore wrote:Some customisation would be nice. Like if the sounds were able to be taken from user supplied files. That way you could have SFX in ZZT games. A world could come with a folder of wavs or something, and lyon would substitute for the notes. A world would still be backwards compatible.
I thought about this too. I like this idea. Don't know how I'd do naming, but I'll get something easy and simple.
Commodore wrote:Maybe a specific character set could be chosen as the default.
What character sets would be offered as options? I have a couple variations of codepage 437 which are both built into the EXE so far.
Commodore wrote:I'd sort of like to see a display more faithful to the original SZZT window. A numerical health display might prove more useful and less complicated to program than SZZT's health bar. It's not too important to me, but if the view is larger, than things the designer might not want you to see might be visible. Look at the title screens of the included games for example. This is a minor quibble. The larger view is actually quite nice.
This is one of the considerations I had when designing the display for SZZT. The main reason of making the display larger was not due to convenience, but because of the size of the scroll. The scroll is larger than the game's display window. I could probably implement a toggle of some sort. The HUD doesn't share the same video renderer as the main window so overlapping that way is not an option.
Commodore wrote:I'm wondering how fast lyon can go. Is max speed a delimited speed? I'd like to see how fast I can get the preposterous machines mandelbrot to form.
ZZT's timer runs at about 71.2 ticks/sec. This should be accurate on all game speeds. However, ZZT has one special exception for its fastest game speed - it disables this timer. On fastest gamespeed, Lyon takes it to 1 tick per cycle to prevent overflow. I'll see what can be done about a faster speed, but I don't want it to become so unstable that it makes Lyon unresponsive.
Commodore wrote:Being able to adjust the key repeat delay from default would be cool too.
The key repeat uses whatever Windows uses. I might consider writing the keyboard interaction into DirectInput so we have a lot more control.
Last edited by Saxxon on Tue Apr 10, 2012 4:50 am, edited 1 time in total.
User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 182
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Re: Lyon

Post by Smilymzx »

Saxxon wrote:Request time!

There are a couple things that are planned but not implemented yet:
- Keys mapped to flags
- Functional editor
- Remappable keys
- Input device support (joystick, etc)

What else would you guys like to see in Lyon?
Highish-Medium Priority:

* Bright/Non-Blink Mode (like BlinkX)

* Character editor for COM and CHR Files via Editor

* Palette Editor for PLD and PAL files via Editor

Very Low Priority, Exclusives:

* Animated CHR files via Animation.INI file (Animations should be done in seperate CHR files)

* Option to disable half-resolution on SZZT

* Special Bitmap mode for rendering of Fixed Sized Bitmaps in place of text
(256 characters, 8x16 in size, 16 colors max out of a 256 color palette, PCX and PNG support,)
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Smilymzx wrote:* Bright/Non-Blink Mode (like BlinkX)
You'll be happy to hear that this is already in :) Next release.
Smilymzx wrote:* Character editor for COM and CHR Files via Editor
* Palette Editor for PLD and PAL files via Editor
Certainly doable.
Smilymzx wrote:* Animated CHR files via Animation.INI file (Animations should be done in seperate CHR files)
I don't fully understand what you're getting at. Does it cycle through full character sets?
Smilymzx wrote:* Option to disable half-resolution on SZZT
This one's easy. I'll shoot for adding this in the next release.
Smilymzx wrote:* Special Bitmap mode for rendering of Fixed Sized Bitmaps in place of text
(256 characters, 16 out of 256 color palette, PCX and PNG support, 8x8 or 8x16)
I don't know about this one. It almost sounds like trying to extend the capabilities of ZZT which I am trying to avoid (for now).
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I need to emo vent about this, sorry. I love to code. I'm the most proud of this project. Is it useless? If you count the time I spent from when I created ZZT Experience to now, you'd see that it's almost been 10 years. I regret not taking the approach I am taking now back then. Maybe I wouldn't feel like this if the scene was as alive now as it was back then. We could all just use DoxBox right? Countless attempts were made to clone ZZT and only Megazeux really succeeded. MZX succeeded because it didn't try to be ZZT at all. It took a good thing and made something new based on that. Lyon doesn't do this. Lyon is an imitation. I didn't know anything about 8086 ASM or reverse engineering when I started this project and I am grateful to have learned these things as a result. But do we need Lyon? What about Mac or Linux? It'll never be the same as ZZT. It'll never convince the purists. In the end it has no use. It is my indulgence. It is a testament to my determination to be successful. I've never completed anything. Maybe I never will. ZZT is an obsession yet I haven't made a ZZT game. Maybe after I finish Lyon I can finally settle in and craft the world I always imagined. Maybe after I finish I can finally move on. Can I get over ZZT? Am I maybe even the slightest bit insane to obsess over such a thing? Maybe it's stupid. I can't help myself. Even if it makes sense, maybe I'm too late.

That felt good to post. Carry on!
Post Reply