Robotic Evolved Just a bit
#1
Posted 27 January 2010 - 07:28 PM
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.
#2
Posted 27 January 2010 - 10:09 PM
Thanks again for all you do, AJS
#3
Posted 27 January 2010 - 10:33 PM
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.
#4
Posted 27 January 2010 - 11:02 PM
At any rate, this should be interesting. :a
"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
#5
Posted 28 January 2010 - 08:01 PM
Anyways, this looks pretty swell. (When do I use (variable) vs. <variable>? What are their old-Robotic equivalents? Parentheses look neater.)
#6
Posted 28 January 2010 - 08:27 PM
Edit: setting mzx_speed works fine for me in 1634
This post has been edited by Old-Sckool: 28 January 2010 - 08:43 PM
<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
#7
Posted 04 February 2010 - 02:29 AM
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?
#8
Posted 04 February 2010 - 02:44 AM
Seventh Shade, on Feb 3 2010, 09:29 PM, said:
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 >_>
"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
#9
Posted 04 February 2010 - 03:18 AM
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
#10
Posted 09 February 2010 - 03:44 PM
So far this is totally awesome, otherwise. I love how everything has different colors, very good for instant recognition.
#12
Posted 09 February 2010 - 06:13 PM
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.
#13
Posted 09 February 2010 - 06:32 PM
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.
"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
#14
Posted 09 February 2010 - 06:57 PM
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.
#15
Posted 09 February 2010 - 07:05 PM
"Dance you fool."
..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
#16
Posted 09 February 2010 - 08:23 PM
EDIT: Fixed it better in 1638. See the bug tracker for commentary, see if you agree with the fix.
--ajs.
#17
Posted 09 February 2010 - 09:02 PM
"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
#18
Posted 28 February 2010 - 01:12 AM
--ajs.
#19
Posted 10 December 2010 - 09:31 PM
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
#20
Posted 11 December 2010 - 12:05 AM
Fixed in Git cf3d1c9. I manually kicked the build and fixed binaries are here:
http://mzx.devzero.c...cf3d1c9/ubuntu/
--ajs.
#21
Posted 11 December 2010 - 01:16 AM
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
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
#22
Posted 12 December 2010 - 08:34 PM
#23
Posted 12 December 2010 - 09:37 PM
This will be pretty far from being used to make games if you guys never test it :< GET CRACKALACKIN'
<Exophase> HES STEALING MAH AIRSHIP!!!!!!11111111
#24
Posted 12 December 2010 - 10:18 PM
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
#25
Posted 13 December 2010 - 04:41 PM
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
#26
Posted 13 December 2010 - 07:09 PM
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.
#27
Posted 13 December 2010 - 07:34 PM
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
#28
Posted 13 December 2010 - 07:39 PM
Lancer-X, on 13 December 2010 - 12:34 PM, said:
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
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
#29
Posted 13 December 2010 - 07:55 PM
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.
#30
Posted 13 December 2010 - 08:02 PM
This post has been edited by Lachesis: 13 December 2010 - 08:04 PM
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