Tyger

Discuss how totally awesome Bang! is here.

Moderator: Terryn

Post Reply
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

line walls would look a little funky
*POW* *CLANK* *PING*
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

actually they look fine in the screen shot. never mind me.
*POW* *CLANK* *PING*
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 »

Valid zzt-oop: /cw cw cw cw cw cw cw cw cw cw cw cw cw s

:drussrox:
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
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 »

Lots of progress has been made.

Anthony Testa's "Refrigerator Raider" is actually playable at this point.

If only it didn't suffer from a terrible lack of ammo!

<embed src="http://zzt.org/dr_dos/tyger/FridgeRaid.swf" width="550" height="400">
</embed>

Should we be able to just embed shit?

Also that random screen recording program made it look horrible, there are no graphic issues in the actual game.
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

looks as it should, still no messages though
*POW* *CLANK* *PING*
User avatar
thematrixeatsyou
&#8238;Ouch.
Posts: 44
Joined: Wed Sep 06, 2006 8:50 am

Post by thematrixeatsyou »

For some weird reason, "os.O_BINARY" doesn't seem to exist on Python 2.6.4 on Linux.

Also, give some of these a whirl.

Partial examples

Code: Select all

#if k 99 bottles of beer on the wall,
If k is set, shows "99 bottles of beer on the wall,".

Standalone examples

Code: Select all

#if not q then#shoot n
Shoots north (unless q set).

Code: Select all

#if then#shoot n
Does nothing (unless then set).

Code: Select all

#if#shoot n
Shoots north.

Code: Select all

/north/west
Moves north then west.

Code: Select all

#if 99 bottles of beer on the wall,
Shows "99 bottles of beer on the wall," down the bottom.

Code: Select all

#if not 99 bottles of beer on the wall,
Shows nothing.

Code: Select all

#if #k
#end
:k
Blah!
Shows "Blah!".

Code: Select all

#char 3 2
Changes appearance to a heart (char 3).
I think it stops trying to load up numbers after a non-numeric value.

Code: Select all

#char -3
/i#char 4
#char -3
After a while, changes appearance to a diamond (char 4). #char -3 request is ignored as there's no actual number there.

Code: Select all

#end
:touch
$Commands:
$
#if not a !t;Take a lolly.
#if a !g;Give a lolly.
!z;Do nothing.
#end
:z
OK, then.
#end
:t
#set a
You take the lolly from the object.
$Obtained lolly!
#end
:g
#clear a
You give the lolly to the object.
$Spent lolly!
Displays quite nicely whether you have the lolly or not.

Label comparison examples
Yes, I have a section dedicated to these horrible things.

Code: Select all

#12
#end
:1
Label 1
#end
:12
Label 12
Shows "12". Yes, I know, this one is just plain weird.

Code: Select all

###########die
Object dies.

Code: Select all

###########(what?)
Shows "(what?)".

Code: Select all

###########d(what?)
"ERR: Bad command D"

Code: Select all

#die-now
Object dies.

Code: Select all

#die123die123
"ERR: Bad command DIE123DIE123"

Code: Select all

# lol
#end
:lol
lol
Shows "lol".

Code: Select all

# lol
#end
: lol
lol
"ERR: Bad command LOL"

Code: Select all

#t1
#end
:t
lbl t
#end
:t12
lbl t12
#end
:t11
lbl t11
#end
:t1
lbl t1
Shows "lbl t12".
This one is incredibly weird. It's basically an alphanumeric compare mixed with a really dodgy plain alpha compare. I think you pointed this one out at one stage.

Code: Select all

#yes
#end
:y
lbl y
#end
:ye
lbl ye
#end
:yesh
lbl yesh
#end
:yes
lbl yes
Shows "lbl yes".

Code: Select all

#t
#end
:t2
lbl t2
#end
:t1
lbl t1
#end
:t
lbl t
Shows "lbl t2".
This just shows how weird the comparison is.

Code: Select all

#t123123
:t1
lbl t1
#end
:t12
lbl t12
#end
:t123
lbl t123
#end
:t1231
lbl t1231
#end
:t12312
lbl t12312
#end
:t1231231
lbl t1231231
#end
:t123123
lbl t123123
Shows "lbl t1231231".
Now we've almost got enough to devise how this disasterous mess works once and for all.

Code: Select all

#t11
#end
:t22
lbl t22
#end
:t21
lbl t21
#end
:t12
lbl t12
#end
:t1
lbl t1
#end
:t11
lbl t11
#end
Shows "lbl t11".

Code: Select all

#eat pizza
#end
:eAt crap
Man, that crap tastes bad!
#end
:eat pizza
Pizza! Yum!
Shows "Man, that crap tastes bad!"

ZZT WORLD MAKERS, TAKE NOTE OF THIS ONE.

Code: Select all

#restore the
#the
Oops.
#end
'The code here never executes.
OH YES IT DOES
#end
:the
THE!!!1
Shows "OH YES IT DOES"
If you're paranoid about this, you could possibly use "#if not ".

Code: Select all

#send 3
#end
:
fish
#end
:3
cake
#end
Shows "fish".
Same result happens when you just do "#send" on its own.

How label scanning might work
- Read an alphanumeric string.
- Check if it's a command, if so, do the command, otherwise we scan.
- Compare each label immediately after the colon. If they match, jump to after the newline in the label. If not, carry on.
- If there are no labels left, spew an error.

Comparison goes this way:
- Case-insensitive compare the two bytes. If they don't match, bail out.
- Move each pointer along one.
- If the character at the "command" pointer is alphanumeric, continue comparing.
- If the character at the "label" pointer is alphabetic, bail out.
- They match.
AKA GreaseMonkey. This is my old nick.
Unless someone sneakily changes it while I'm not looking.
Oh well.

Playing around with timing hacks.
User avatar
Dr. Dos
OH YES! USE VINE WHIP! &lt;3
Posts: 1772
Joined: Tue Mar 11, 2003 12:00 am
Location: Washington

Post by Dr. Dos »

http://code.google.com/p/tyger/ You can get a more recent version of it here which has a fix for that Linux issue.

I'm more concerned with getting likely ZZT-OOP to work before I do stupid things like ######die
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
thematrixeatsyou
&#8238;Ouch.
Posts: 44
Joined: Wed Sep 06, 2006 8:50 am

Post by thematrixeatsyou »

Yay, it works, thanks for that.

Just one more note: if all 10 flags are set, then #if #whatever returns false, and #if not #whatever returns true.
AKA GreaseMonkey. This is my old nick.
Unless someone sneakily changes it while I'm not looking.
Oh well.

Playing around with timing hacks.
User avatar
Dr. Dos
OH YES! USE VINE WHIP! &lt;3
Posts: 1772
Joined: Tue Mar 11, 2003 12:00 am
Location: Washington

Post by Dr. Dos »

Image
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

when you finish this you should march it over to retroremakes for some publicity.
*POW* *CLANK* *PING*
User avatar
Dr. Dos
OH YES! USE VINE WHIP! &lt;3
Posts: 1772
Joined: Tue Mar 11, 2003 12:00 am
Location: Washington

Post by Dr. Dos »

Gonna be a big nerd and start copying Ubuntu's "Adjective Animal" versioning.

<s>Ample Ammo</s>
<s>Bitter Bear</s>
<s>Carnivorous Centipede</s>
<s>Damnable Door</s>
<s>Enchanting Energizer</s>
Fraudulent Fake

ANYWAYS.

Code: Select all

Feb. 20

Tyger Specific
+ Cheat "light" added which will make a board bright but not manipulate flags. HOW DO YOU LIKE THAT NADIR?
+ A single line of ZZT oop can be executed via cheat (Any command beginning with #, /, or ?). The player will then execute the command. Have fun #endgaming yourself.
+ An option "Filter ZZT Messages" has been added. This will prevent messages such as "You already have a blue key!" or "A fake wall - secret passage!" from appearing. Not that many of these built-in messages have been added yet.

Graphics

ZZT Support
+ "Edge" tiles implemented properly.
+ Multi-line messages will now pop up in a window! As of yet there is no formatting nor can hyperlinks be followed.
+ Single-line messages will flash on the bottom of the screen... most of the time.

ZZT-Oop Support
+ #Bind copies code, giving a rough version of #bind, but not linking the two objects together. This is a temporary fix.
+ #Char should now handle invalid characters properly
+ #Restart works
+ #Zap works
+ #Restore works
+ #Send works in any forms. (#send label, #send name:label, #label, or #name:label)
+ #Take works better, but still cannot jump to a label if the command fails
+ #Walk works barring absurd directions (see below)
+ #Go works barring absurd directions (see below)
+ #Shoot works barring absurd directions (see below)
+ #Try works barring absurd diretions (see below)
+ :shot works
+ /movement works barring absurd directions (see below)
+ ?movement is interpreted but not as a #try statement
+ "Afterthought" commands execute properly, as in /n/e/s/w#shoot seek will move and then shoot as intended
+ #If works barring absurd directions in blocked statements or colors in #if any statements.

Enhanced ZZT-Oop
+ #char can use a character for a parameter. "#char A" is equivalent to "#char 65". ZZT will ignore such lines.

Fixes

Known Issues
+ Something is wrong with #if contact
+ Haha if you stop holding shift, but keep holding a direction when you shoot, you'll keep on shooting!
+ Pushing things with stats has issues when you are pushing diagonally or multiple spaces at a time with tweaked X/Y-steps.
+ Blinkwalls will cause a crash if the wall hits the edge of the board. The timing is currently wrong as well.
+ Absurd directions not implemented! Don't use /cw cw rndp opp cw ccw opp cw opp ccw rnd just yet!
+ Fully written directions do not work yet either, as in #go north
+ Objects can't push things
+ ? is treated just like / for movement, so if something is blocked by ? it will continue to endlessly move where it is blocked
+ Others and All as conditions for #send aren't implemented
CHEATING WILL CRASH THE COMPILED VERSION
Archived Source: http://zzt.org/dr_dos/tyger/Tyger6src.zip
Fraudulent Fakes Binary: http://zzt.org/dr_dos/tyger/TygerComp6.zip
Hopefully up to date source: http://code.google.com/p/tyger/

At this point games are in this horrible limbo state where you'd think you'd be able to play some, but finding games that are near perfect is pretty difficult. Refridgerator Raider seems to work though.
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
Schroedingers Cat
We must invent teleportation!
Posts: 721
Joined: Mon Jun 19, 2006 11:35 pm
Location: Idaho, Wisconsin

Post by Schroedingers Cat »

This looks amazing! Perhaps moreso than it really is, because I'm posting drunk. :keen:
User avatar
Schroedingers Cat
We must invent teleportation!
Posts: 721
Joined: Mon Jun 19, 2006 11:35 pm
Location: Idaho, Wisconsin

Post by Schroedingers Cat »

Is moreso a even a word? Firefox says it's not.
User avatar
Dr. Dos
OH YES! USE VINE WHIP! &lt;3
Posts: 1772
Joined: Tue Mar 11, 2003 12:00 am
Location: Washington

Post by Dr. Dos »

Image

Image
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

what are you using to make the screenshot gifs?
*POW* *CLANK* *PING*
Post Reply