Lyon

Discuss how totally awesome Bang! is here.

Moderator: Terryn

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I've scrapped the editor tonight and will take into consideration your suggestions.

I think what I'm going to do is make the editor in a charset window as well. That way it'll scale better and it'll be easier to display the information in a meaningful way. The graphics system already scales these windows up, so it'll be cake.

I'm inspired by what you wrote. I kinda want to make the editor basically be the ZZT editor with mouse for added functionality. You are right though. I'm making this way too complex. More than it needs to be.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Before I can begin work on an editor that uses the actual character grid, I had to make sure that a status bar would work in the regular game.

Right now, ZZT and Super ZZT both have a blue border to the right. Even if the main screen is being displayed in wide mode, the side bar will be displayed in standard width. This means I can share the HUD between both games. I will replicate ZZT's status bar.

As for the editor, I think I will copy KevEdit's interface. I really like it. It's similar to ZZT's while still having all the features.
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 »

40 column mode may not be needed if Super ZZT's Status bar is going to be modded to ZZT's
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I think keeping Super ZZT in wide mode is essential to keep that 'feeling'. Here's a couple pictures that show what I'm talking about.

1) both ZZT and Super ZZT with the status bar on the right in standard width
2) a game window scaled to the screen, notice the status bar is scaled as well

The editor will also scale like this so it'll help on high resolution displays.

Unrelated note: duplicating stat pushable onto another pushable crashes as expected (stack overflow) but scrolls seem to be able to execute #Become. Going to find out why.
Attachments
lyon2.JPG
lyon1.PNG
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Saxxon wrote:scrolls seem to be able to execute #Become
I was able to identify this one and fix it. Well, if you consider making it crash like ZZT fixing, hehe. I looked at the ZZT source and found out why. It calls ThingIndexAt() after the OOP code executes to determine which stat object to delete. If it's not a tile with stats anymore this function returns -1. -1 can't be used as an index in an array.

It's not easy to fix this in ZZT itself. You can put a lot of code in a scroll, even #change. And if the number of stat objects changes you can't reuse the scroll's original number. How do you get the scroll's most current number? ThingIndexAt(). But if the scroll is destroyed by something else such as #become then this function won't return anything useful.

Todo: implement proper error trapping so that the entire application doesn't close when one game errors out.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Player clone manipulation isn't 100% I've found. The title screen for Run-on and FREE.ZZT from ZEOL don't seem to put the player on the title screen correctly. However, on FREE if you pause the game and unpause, the player mysteriously works.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I was able to fix the player clone bugs related to the title screen. Another look at the ZZT disassembly revealed I had some commands in the wrong order. This makes ZEOL Free the Player work. Run-on's title screen tour does not work for other reasons having to do with how player clones are disposed.

I can't implement the way ZZT does its main game loop exactly because it's really weird. The title screen routine has the game's routine as a sub inside it. I had to break these loops into smaller bits so that the end of the routine is when ZZT "rests".

Edit: I found out that the only way to get Run-on's title screen to work properly is to make it so that passages eat tiles again. This is because of how passages are processed. Looks like this is not something I'll be able to avoid for the sake of compatibility.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Fixed Lava for a few cases where Water was used as a condition, this should fix SZZT bullets and stars.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

since you've been looking at the assembly, what exactly does a dragon pup do? anything?
*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:since you've been looking at the assembly, what exactly does a dragon pup do? anything?
A dragon pup doesn't actually do anything. It has special draw code which sets its character based on the current frame. Its action code does nothing other than request an update for the tile. It animates differently on cycle 1 than on cycle 2.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Fixed an energizer bug. Rewrote the main loop so that it more closely matches ZZT. Re-added cheats.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I learned about the Canvas and File objects in JavaScript. An implementation of ZZT using these wouldn't be too difficult to put together as soon as I'm done with Lyon.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Spending more time playing through worlds completely and taking down anything I've noticed. The only thing I noticed playing through Monster Zoo was the energizer colors while moving.
Attachments
monster zoo.png
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

New EXE please.
*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:New EXE please.
As you wish.

Edit: and the source too just because.

Edit 2: I just discovered a problem with the board edge routine. If you touch a board edge and the destination is on the same board, the player will take one extra step.
Attachments
Lyon-src.zip
source
(105.39 KiB) Downloaded 161 times
Lyon.zip
(91.61 KiB) Downloaded 184 times
Post Reply