Lyon

Discuss how totally awesome Bang! is here.

Moderator: Terryn

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

Lyon

Post by Saxxon »

Download & Source: 2012-07-28

Requirements:
- Windows 98 or later
- DirectX version 9 or higher: http://www.microsoft.com/download/en/details.aspx?id=35
- Microsoft .NET framework 2.0 or higher: http://www.microsoft.com/download/en/details.aspx?id=19

Getting a DirectX error and don't have permission to install all the DirectX libraries? I have attached the necessary DLLs, just place them in the application's folder (ONLY if you get these errors!)
Attachments
MDX DLLs.zip
(159.06 KiB) Downloaded 815 times
Last edited by Saxxon on Sun Jul 29, 2012 3:44 am, edited 43 times in total.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

what you mean like zzt experience?
*POW* *CLANK* *PING*
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

Commodore wrote:what you mean like zzt experience?
There are 3 things listed in the Z2 database that are credited to me: Z, ZZT Experience, and ZAP. At the very least get rid of the first two, the third isn't terrible but I still don't like it.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

Posted download link, contains Monster Zoo and a demo of me owning myself on the puzzle on level 3.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

well that's pretty damn cool.
*POW* *CLANK* *PING*
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

I just realized, slimes aren't coded yet. Guess they are just so seldom used that I forgot about them! :x
User avatar
Dr. Dos
OH YES! USE VINE WHIP! <3
Posts: 1772
Joined: Tue Mar 11, 2003 12:00 am
Location: Washington

Post by Dr. Dos »

At a 10 second glance this is already more developed than Tyger ever was.
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

Dr. Dos wrote:At a 10 second glance this is already more developed than Tyger ever was.
Tyger is more portable though. The problem with applications in .NET is that they require two things: Windows and .NET framework. This really limits the application to run only on one operating system.

I would love to get this into a portable state, but I really don't know how to code in any other languages that could be used for this game. For that reason, your Tyger project has a leg up on what I've got. What I'd like to do is to get the code finished in Lyon and help you implement it in Tyger.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

Bug fixes for build 1.

- Conveyors should work properly now. The problem with the code was that I wasn't storing a temporary tile correctly if all surrounding blocks were pushable.
- Slimes are added.
- If you have WORLD.ZZT and WORLD.COM in the same folder, it will attempt to load font files if they are Font Mania format. The engine itself doesn't impose a height limit on fonts, but they can only be 8 pixels wide.
- When recording demos, extensions will be used properly (so WORLD.ZZT will create WORLD.ZDM). Additionally, all build 0 demos probably won't be compatible with the build 1 demos (but you can certainly try, there is no version or ID marker in the format currently)
- Title screen is now shown. Some games require it anyway. Pressing P will start the game. However, you will not be able to go back to the title screen unless you reload the world.
- Moving off the edge of a board with a lit torch will now properly update the screen.

Hope to have Build 1 ready tomorrow afternoon.
User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 182
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Post by Smilymzx »

If using UPAL/ZZT Custom Palette:
You should use a MZX .PAL FILE, Limit 1 per game!

There no converter that will turn 64-color raw PLDs (Whole EGA Palette) to 16-color (Regular 16-color Text Palette), But is possible to create.

If using FONT MANIA/ZZTAE (FM .COM font):
You should use a 8x14 MZX .CHR FILE, Limit 1 per game,

a converter exists to convert FM .COMs to MZX .CHR, but it is no longer availible with source, because it was included in Miwako's dead ZZT2MZX project. so recreating of this COM2CHR utility is possible.

These are actually there from utilities, You can find them in the Database/Archives in Z2/DMZX.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

I could support MZX format stuff, yeah. Will look into that today. PLDs would be easy as well, though you would only get the first 16 colors.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

- Custom fonts (CHR, COM) and palettes (PAL, PLD) are now supported. They must have the same name as the world that is being loaded. If they are found, they are automatically loaded.
- The 'I' key now toggles the I flag. This should simplify inventory based games. If you accidentally press 'I' during a game that doesn't use it, you can simply press 'I' again to turn the flag off.
- The numpad / and * keys will speed up and slow down the game speed, respectively. The scale is not yet the same as ZZT but the timing system needs to be updated anyway. These speed changes are NOT saved in demos (so you can fast-foward through parts of demos if you wish)

Build 1 is ready. Download links on first post.
User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 182
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Post by Smilymzx »

You can modify the Shark's code to work with the SpiderWeb element instead of the Lava/Water element, Make the speed faster, and you have a spider,

A shark in my dead SZZT hack is a ASM hack of the spider, so it is the reverse of what I did, That is what you must do to make a spider!
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Post by Saxxon »

Smilymzx wrote:You can modify the Shark's code to work with the SpiderWeb element instead of the Lava/Water element, Make the speed faster, and you have a spider,

A shark in my dead SZZT hack is a ASM hack of the spider, so it is the reverse of what I did, That is what you must do to make a spider!
I'm thinking it's a little more complex than that. :) I won't code them in by guessing.

Edit: the spider code looks like this.

Code: Select all

            Private Sub ActSpider(ByVal Index As Integer)
                Dim V As Vector
                Dim DesiredVector As Vector
                Dim VectorSwap As Integer

                With Things(Index)
                    If .P1 <= Random(10) Then
                        V = Vector.Rnd
                    Else
                        V = EvalSeek(.X, .Y)
                    End If

                    If Not ActSpiderMove(Index, V) Then
                        VectorSwap = (Random(2) << 1) - 1
                        DesiredVector = New Vector(V.Y * VectorSwap, V.X * VectorSwap)
                        If Not ActSpiderMove(Index, DesiredVector) Then
                            DesiredVector = New Vector(-V.Y * VectorSwap, -V.X * VectorSwap)
                            If Not ActSpiderMove(Index, DesiredVector) Then
                                DesiredVector = New Vector(-V.X, -V.Y)
                                ActSpiderMove(Index, DesiredVector)
                            End If
                        End If
                    End If
                End With
            End Sub

            Private Function ActSpiderMove(ByVal Index As Integer, ByVal V As Vector) As Boolean
                Dim TargetX As Integer
                Dim TargetY As Integer

                With Things(Index)
                    TargetX = .X + V.X
                    TargetY = .Y + V.Y

                    Select Case ElementAt(TargetX, TargetY)
                        Case ElementPresets.Player
                            Attack(Index, TargetX, TargetY)
                        Case ElementPresets.Web
                            MoveThing(Index, TargetX, TargetY)
                        Case Else
                            Return False
                    End Select
                End With

                Return True
            End Function
User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 182
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Post by Smilymzx »

That code looks correct to me!,

And Hopefully we will replace ZZT 3.2/4.0 with this as the recommended version we must use, But of course not until it goes to a state that makes it usable!

We might have to keep the DOS Versions, for nostalgic and archival purposes, This should also NOT be considered a clone, It's a well-done remake of (Super)ZZT, You got my approval on that.

Fight, Saxxon! for Great Justice!

EDIT for Saxxon: Try FreeBasic If you want a variant of BASIC that is portable, and it has partial QB45 support, All you need is a Setup Plan and a supported IDE for it, Then Reprogram it!

FreeBasic is for Linux/Windows 64 and 32bit systems, Freebasic should also be portable to other systems such as any newer Unixes. It is under GNU GPL just so you know.
Post Reply