dMZX Forums: Robotic Evolved - dMZX Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Robotic Evolved Just a bit

#1 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 27 January 2010 - 07:28 PM

About a year ago, Exophase rejoined MegaZeux development to start evolving robotic and the robot editor. You can see his proposal and outlined plan here. Due to time constraints/external factors this work was paused around three months later. Much work was done however, with phase 1 of the plan more or less completed. Some high quality documentation was also written and many details worked out. (The name of the source branch this work went into was 'debytecode'; this is the codename being used to refer to these changes.)

I've decided to revive this work and continue development of it as much as I can. What we need right now are people to download an alpha-quality version of MegaZeux, with the changes, and play around with it. Solid bug reports and good feedback on the changes is important. Most of the language changes aren't documented in MZX itself (the help file will require some revision eventually). "Legacy" worlds will be converted to the new syntax on load, which will allow you to experiment with all the various transformations. At the moment the 'debytecode' and 'trunk' builds are totally isolated (though they share the same code base); I do not have any immediate plans to change this.

You can download builds for your favourite platform (except, temporarily, OS X) from here:

http://mzx.devzero.co.uk/snapshots/debytec...240600-978e8ab/

Moving forward I plan to look at the other design phases and continue development. Future changes will inevitably lead to language alterations which will be incompatible with this alpha. Compatibility may or may not be retained, at my discretion. IOW, you probably shouldn't create any epic games using this alpha build. This build will not allow new worlds to be saved over any legacy world with the same name, which should prevent possible accidents.

I hope people will try it out and feed back on this thread. If you find a game that doesn't play correctly in this version, please file a report on the bug tracker. Additionally, if MZX crashes, or you find a bug in the new editor, please also file a bug.

--ajs.
0

#2 User is offline   Maxim 

  • Dismember
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,080
  • Joined: 09-October 00
  • Gender:Male
  • Location:Kyrgyzstan

Posted 27 January 2010 - 10:09 PM

Much as I like robotic as it is, I'll give this a try and see if I can help at all, with my limited skillset. The thing is, I feel that evolving robotic/the editor to make it more traditional will eliminate any excuses that people have for not making MZX games (lookin' at you, Frobozz).

Thanks again for all you do, AJS
0

#3 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 27 January 2010 - 10:33 PM

BTW I bumped the release from 1632 to 1634 because I fixed a bug with SFX tables and found a crash affecting some platforms when testing a world from the editor.

This version 1634 will also support updating on the 'debytecode' line with F7/U for as long as the branch is developed.

(For older builds you can switch to this branch with branch pin "Debytecode" (caps are important) and update server updates.mzx.devzero.co.uk)

--ajs.
0

#4 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 27 January 2010 - 11:02 PM

That SFX table bug sounds very familiar, like something I forgot to fix back then. D'oh.

At any rate, this should be interesting. :a
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#5 User is offline   nooodl 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 735
  • Joined: 28-October 06
  • Gender:Not Telling
  • Location:Belgium

Posted 28 January 2010 - 08:01 PM

I think mzx_speed got screwed up...? It's not doing anything over here, be it by setting it with a robot or in the F2 menu.

Anyways, this looks pretty swell. (When do I use (variable) vs. <variable>? What are their old-Robotic equivalents? Parentheses look neater.)
0

#6 User is offline   Old-Sckool 

  • megazeux breaker
  • PipPipPipPip
  • Group: Members
  • Posts: 649
  • Joined: 07-June 05
  • Gender:Male

Posted 28 January 2010 - 08:27 PM

Noodle, (counter) vs. <$string>. Incidentally, if you use ($string), mzx will treat the string as if it has a string literal numerical value. For example, if $string = `622fagz`, then * "($string)" would output 622 instead of 622fagz

Edit: setting mzx_speed works fine for me in 1634

This post has been edited by Old-Sckool: 28 January 2010 - 08:43 PM

<Nadir> mzxers don't make GAMES, usually
<phthalocyanine> they make experiences.
<Nadir> demos, more like
<Nadir> a glimpse into what could have been if mzx wasn't such a bore to work with
<Nadir> actually, i'm being unfair
<Nadir> i would have made mzx games if it was capable of running on more than 20 computers worldwide in 1998
<Nadir> >:D

<%Alice> functor
<%nooodl> i hear C++ has a thing called functors and they're completely different from Haskell functors...
<rorirover> the result is the most horrid thing in C++, it's basically black magic and it transforms any code you're writing into some eldritch monstrosity
0

#7 User is offline   Seventh Shade 

  • willfully disreputable
  • PipPipPipPip
  • Group: Members
  • Posts: 917
  • Joined: 10-March 04
  • Gender:Male

Posted 04 February 2010 - 02:29 AM

"MZM3s saved at runtime and loaded at "static" time have robots dummied out to customblocks."

If I have a game in the current version loading mzms with robots in them, will they work in the new form of robotic or will it be incompatible?
0

#8 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 04 February 2010 - 02:44 AM

View PostSeventh Shade, on Feb 3 2010, 09:29 PM, said:

"MZM3s saved at runtime and loaded at "static" time have robots dummied out to customblocks."

If I have a game in the current version loading mzms with robots in them, will they work in the new form of robotic or will it be incompatible?


Not necessarily, the incompatibility mentioned is limited to loading MZMs which were created while the game was running. I think that "static" time here means either loaded in the editor or loaded to the board with that flag that converts everything to customblocks anyway. So you shouldn't have a problem unless you really wanted to modify those robots. I THINK I made it so you can load them in-game, so you can make a .mzx that loads then saves them.

Could you show some more context from where I said that? It has really been a while >_>
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#9 User is offline   Dr Lancer-X 

  • 電波、届いた?
  • Group: DigiStaff
  • Posts: 8,938
  • Joined: 20-March 02
  • Location:ur mom nmiaow

Posted 04 February 2010 - 03:18 AM

Yeah, that's what it means. Saving MZMs with robots ingame and then loading them in the editor - because the ones saved in-game will not have source code, whereas robots in the robot editor must have source code.
Posted Image
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
0

#10 User is offline   Maxim 

  • Dismember
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,080
  • Joined: 09-October 00
  • Gender:Male
  • Location:Kyrgyzstan

Post icon  Posted 09 February 2010 - 03:44 PM

Tested all of my games in experimental debytecode version. So far only "Fist Full of Entrails" is broken. For whatever reason, enemies get assigned a negative HP and movement delay value. I can't figure out why.

So far this is totally awesome, otherwise. I love how everything has different colors, very good for instant recognition.
0

#11 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 09 February 2010 - 05:27 PM

I'll take a look at this.

--ajs.
0

#12 User is offline   Maxim 

  • Dismember
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,080
  • Joined: 09-October 00
  • Gender:Male
  • Location:Kyrgyzstan

Post icon  Posted 09 February 2010 - 06:13 PM

11:05 <@Wervyn> It doesn't seem to even be getting inside the enemy movement
code. Also this is really terrible.
11:09 < Stephen> it's very badly designed
11:09 < Stephen> i don't know why i did half this shit
11:10 < Stephen> if `(local)e_dmg` > 0 then `enemy-dmg`
11:10 < Stephen> that's where it breaks, i think
11:10 < Stephen> enemy hp just constantly decreases
11:10 < Stephen> without killing the enemy
11:14 <@Wervyn> Yeah.
11:14 <@Wervyn> It's also decreasing the enemy damage by the enemy number each
time.
11:14 <@Wervyn> Somehow numbers are getting crossed.
11:15 <@Wervyn> It's doing the same to the delay.
11:15 <@Wervyn> Or, always going to the delay routine.
11:16 < Stephen> the coding here is a mess, but the program really should be
working by all means
11:16 <@Wervyn> Yes.
11:16 <@Wervyn> I wonder if it has anything to do with using counters like
"8something", which is just...ugh.

*********************

11:25 <@Wervyn> This is really bizarre.
11:25 <@Wervyn> There's no reason it should be behaving like this, and I can't
reproduce a controlled test case.
11:26 < Stephen_> yeah, i tried too
11:26 <@Wervyn> Basically, it's taking the branch every time, but the
conditions are such that it shouldn't.
11:26 <@Wervyn> And whenever I try to transplant that into a test case, it
behaves as it should.
0

#13 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 09 February 2010 - 06:32 PM

What was the line in the original robot?

I think this is pretty straightforward: it thinks it's a top-level expression instead of an interpolation. I have to look at the current parsing code to see if there's any handling for this. MZX originally was probably not okay with starting with an interpolation either, but since it was probably originally a && that got converted it would have been OK. If this proves thorny to handle at runtime then maybe these should be escaped. There's some residual compatibility concern from not escaping counters whose names can't be determined to start with counter interpolants or numbers, but I believe there are already some translation issues along these lines that are probably not a big deal.
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#14 User is offline   Maxim 

  • Dismember
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,080
  • Joined: 09-October 00
  • Gender:Male
  • Location:Kyrgyzstan

Post icon  Posted 09 February 2010 - 06:57 PM

UPDATE: Yep. That's what it was.

13:43 <@Wervyn> Okay, figured it out.
13:43 < Stephen> ooh
13:43 <@Wervyn> Or at least, I have a test case now.
13:43 < Stephen> where's it broken?
13:43 <@Wervyn> It's the counter leading the array name.
13:44 < Stephen> why, oh why did i do that
13:44 < Stephen> i mean, i'm sure it'll get fixed, but
13:44 <@Wervyn> No idea, but it's probably good that you did, because it IS a
bug and it SHOULD work.

*******************

set local 5
set `(local)test` 14
:L
if `(local)test` < 0 trigger
wait 1
*"(`(local)test`)"
dec `(local)test` 1
goto L
:trigger
*"Done"
end


13:49 <@Wervyn> Here's some test code.
0

#15 User is offline   Wervyn 

  • I can see you
  • Group: DigiStaff
  • Posts: 1,855
  • Joined: 24-December 00
  • Gender:Male
  • Location:Caras Galadhon

Posted 09 February 2010 - 07:05 PM

This discussion should really be in the bug tracker. So I put it there. Going to test this case in current MZX now.

"Dance you fool."
To lie is to change the truth.
..Ignorance is to be unaware of the truth.
....Incompetence is to be unable to grasp the truth.
......And escape is to run away from the truth.
It is useless to run, since the truth is right next to you.

-Wervyn
0

#16 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 09 February 2010 - 08:23 PM

Should be fixed in SVN 1637.

EDIT: Fixed it better in 1638. See the bug tracker for commentary, see if you agree with the fix.

--ajs.
0

#17 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 09 February 2010 - 09:02 PM

I'll review the changes when I get home too, wanna see what the parser was doing with this.
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#18 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 28 February 2010 - 01:12 AM

Bumped release again for bugfixes (inc issue Maxim found).

--ajs.
0

#19 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 10 December 2010 - 09:31 PM

edit: The .deb files in the debytecode folders do not install debytecode. They are just installing normal MZX for me.
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#20 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 11 December 2010 - 12:05 AM

Yes, good catch. Although the nightly build script was setting CONFIG_FLAGS (which all other builds use to turn on debytecode), "debuild" (which is used to build the .deb files) was not using CONFIG_FLAGS in the rules script. Additionally, the build script wasn't telling debuild to pass this through from the environment.

Fixed in Git cf3d1c9. I manually kicked the build and fixed binaries are here:
http://mzx.devzero.c...cf3d1c9/ubuntu/

--ajs.
0

#21 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 11 December 2010 - 01:16 AM

Awesome, thanks. I'll try that out when I have my netbook open again.

Also:
18:12:55 <Lachesis> the colors need a little work tho
18:13:06 <Lachesis> like, dark green for labels makes me think of vomit
18:14:51 <Lachesis> um, hey guise
18:15:03 <Lachesis> why are parameters yellow
18:15:12 <Lachesis> Yellow, the second most readable color in the editor
18:15:17 <Lachesis> and you wasted it on parameters
18:15:26 <Lachesis> there's a reason why parameters used to have vomit green

Could the defaults for those be switched before official release

edit: now I see that yellow is in fact used for other things too. My opinion hasn't changed though, the labels should have a more readable color as a default
edit 2: or the editor background should become dark blue
edit 3: ooooohhhhh boy, this crashes trying to load Labyrinth or CoAZ

This post has been edited by Lachesis: 11 December 2010 - 01:26 AM

"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#22 User is offline   nooodl 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 735
  • Joined: 28-October 06
  • Gender:Not Telling
  • Location:Belgium

Posted 12 December 2010 - 08:34 PM

What changed since the last debytecode update? How far is this from actually being used to make games? I'd love to use it this DoZ (if i'm even participating hmm)
0

#23 User is offline   Terryn 

  • ******
  • Group: DigiStaff
  • Posts: 2,961
  • Joined: 12-October 00
  • Gender:Male

Posted 12 December 2010 - 09:37 PM

If you're talking about the current GIT versions of debytecode, a few major hangs and large bugs specific to debytecode were fixed (e.g. nesting sound effects, expression parsing), on top of the twenty-odd bugfixes that will be in normal 2.82b. I think ajs is planning on getting a new MZX out for the DoZ.

This will be pretty far from being used to make games if you guys never test it :< GET CRACKALACKIN'
angelic stream - shed sanguine - ill-adapt - avis - para/lyser - renaissance - dead tangent - phosphene blur - birth breeds death - ________ - painted glass - lagniappe

<Exophase> HES STEALING MAH AIRSHIP!!!!!!11111111
0

#24 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 12 December 2010 - 10:18 PM

I already suggested on IRC that we have a QDoZ or a HDoZ with Debytecode, in February.
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#25 User is offline   nooodl 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 735
  • Joined: 28-October 06
  • Gender:Not Telling
  • Location:Belgium

Posted 13 December 2010 - 04:41 PM

The main problem with this is that the parser seems to be more anal about what brackets you use where. Maybe it's just something I'll have to get used to, but it's really awful to be coding something and wondering why your line isn't recognized as a correct one, only to find out later on that you forgot to put backticks around a variable name or used parentheses wrong.

EDIT: also, there's no documentation, right? Importing pre-debytecode Robotic seems to be the only way to find out how things work.

This post has been edited by nooodl: 13 December 2010 - 04:42 PM

0

#26 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 13 December 2010 - 07:09 PM

Could you give some examples of where bracketing is actually more complicated in debytecode? (I know of some, but they seem like edge cases to me.)

Remember that in the old editor there was no expression validation at all. If your expression was wrong, nothing told you about it until your program failed at runtime. Now you don't get syntax highlighting when the expression is incorrect. Surely that's a huge boon?

--ajs.
0

#27 User is offline   Dr Lancer-X 

  • 電波、届いた?
  • Group: DigiStaff
  • Posts: 8,938
  • Joined: 20-March 02
  • Location:ur mom nmiaow

Posted 13 December 2010 - 07:34 PM

'backtick or not to backtick' is pretty much just an exercise in learning to avoid bad symbol names (i.e. names of commands, names with spaces or funny characters in them etc.) Once you manage to avoid that, you basically never have to backtick. They're mostly there for backwards compatibility reasons.
Posted Image
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
0

#28 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 13 December 2010 - 07:39 PM

View PostLancer-X, on 13 December 2010 - 12:34 PM, said:

'backtick or not to backtick' is pretty much just an exercise in learning to avoid bad symbol names (i.e. names of commands, names with spaces or funny characters in them etc.) Once you manage to avoid that, you basically never have to backtick. They're mostly there for backwards compatibility reasons.


set offset `cos(angle)`


edit: omgomgmgomgomgmgmgmgogmgomgg this is the best new MZX thing since the port

MeSsAgE rOw 5
//set helloBuddy 2
set helloBuddy (90000)
* "~fThis
string
has
line
breaks
woowoowoowoowooowo
(helloBuddy)"

This post has been edited by Lachesis: 13 December 2010 - 07:53 PM

"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#29 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 13 December 2010 - 07:55 PM

It's not perfect, but you're comparing that to:
set offset "cos('angle')"

I see fewer characters I have to type.

EDIT: of course there's cos&angle& too, but the trig functions will realistically be used with expressions.

--ajs.
0

#30 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 13 December 2010 - 08:02 PM

Oh no, I wasn't complaining about the debytecode syntax. I was pointing out a case that Lancer forgot to mention (and, a case that pretty much would affect every other line of Robotic I write).

This post has been edited by Lachesis: 13 December 2010 - 08:04 PM

"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users