Patreon reward version released!

Community Forums/Monkey2 Talk/Patreon reward version released!

marksibly(Posted 2015) [#1]
Hi,

I have just posted a message to my Patreon backers that includes a link to a VERY rough pre-alpha version of monkey2.

This will probably be contentious, but it is meant to be a simple reward to everyone who has shown support for the monkey2 project so I wont be making this available to the general public just yet (although it IS still open source, so if you ask nicely maybe someone will send you a copy).

It is IMO borderline unusable(!), but it does hopefully give a glimpse of the direction monkey2 is going in. The next version will be much more functional, and will more than likely be available via github.

Bye!
Mark


JaviCervera(Posted 2015) [#2]
Great news! Just downloaded it, so I will dig into it as soon as I have some time. I like what I see so far, especially those sdl2 and emscripten folders :)


GW_(Posted 2015) [#3]
Sooooo Excited !! TYVM!

Mark, you should probably post your preferences about people reporting bugs and such, I can imagine the the Monkey2 forum topic getting very messy quickly. I suspect the better option would be for people to hold off reporting any bugs until an official alpha status IMO.

yay!!!! Congrats Mark!


marksibly(Posted 2015) [#4]
> I suspect the better option would be for people to hold off reporting any bugs until an official alpha status IMO.

There's a note to that effect in the README, although I suspect it'll go largely ignored!


marksibly(Posted 2015) [#5]
> especially those sdl2 and emscripten folders :)

I've basically just done enough to get an SDL window open here, but it was also a good exercise to get some extern API stuff working.


nullterm(Posted 2015) [#6]
struct_test.monkey2 made my week. Struct and Operator answers my two biggest "make my life easier!"-isms with Monkey.

Followed by func ptr (and eventually lambda).

I don't quite get the slot one. I get the idea, not the mechanics but I didn't look at it very long to digest it.

Edit -

The only minor thing is it'd be nice to say "Vec3(1,2,3)" instead of "New Vec3(1,2,3)" but that's minor. New Vec3 is the C#/Java way, I'm used to the C++ way of just Vec3. But I have no gripes using New Vec3 to keep it consistent with classes.

I always lean towards the least amount of chars that I have to type. :)


DruggedBunny(Posted 2015) [#7]
Cool!

NOT a bug report, but is emscripten meant to build yet? I can run em++ from a command line and get a response, so can confirm em++ is working

[EDIT]

Maybe just needs a reboot...

[EDIT: Yep!]


marksibly(Posted 2015) [#8]
> The only minor thing is it'd be nice to say "Vec3(1,2,3)" instead of "New Vec3(1,2,3)" but that's minor.

Still not decided about this. The big plus for sticking with new is that it doesn't introduce any extra syntax - generic code can create objects the same way, and there's no confusion between ctors, casting (which may well change - casting a value could also be thought of as constructing a new value anyway) and function calls. But I haven't really given this a whole lot of thought as yet.

> NOT a bug report, but is emscripten meant to build yet?

Yes it is, and does still here. Can you try adding a Print GetEnv( "PATH" ) to mx2cc to see if emscripten looks like it's in there?


therevills(Posted 2015) [#9]
This will probably be contentious, but it is meant to be a simple reward to everyone who has shown support for the monkey2 project

Sounds fine, as a non-Patreon (yet), I'm totally fine with this and its a nice idea.

With SDL stuff can MX2 use the runtimes binaries or only source code?


nullterm(Posted 2015) [#10]
>Still not decided about this. The big plus for sticking with new is that it doesn't introduce any extra syntax - generic code can create objects the same way, and there's no confusion between ctors, casting (which may well change - casting a value could also be thought of as constructing a new value anyway) and function calls. But I haven't really given this a whole lot of thought as yet.

If it stays status quo, I won't complain. One of those things where I'd prefer it one way, but not gonna push for it knowing there's a master plan behind everything. The gc-less pass-by-value was the huge thing to me, and I have it!


Richard Betson(Posted 2015) [#11]
Just got my copy! Happy joy joy! Off to explore. :)


Richard Betson(Posted 2015) [#12]
Yay, got the SDL2 window demo going on desktop. :) Having issues with emscripten and python but MX2 lives!

Will Monkey 1 and 2 live together like it is now (via TED); cause me like. :)


Neuro(Posted 2015) [#13]
My pathetic excuse for a VM on my MacBook Pro ran out of diskspace trying to install all the new stuff. Gonna have to try this on the PC machine....


Richard Betson(Posted 2015) [#14]
Not reporting a bug, instead wondering if I have emscripten or python installed correctly or maybe i am missing a dependency. I get this error when building for emscripten (Win 7 64bit). Just FYI.

Edit: Using python 3.4.3 Should I be using python 2.x.x with emscripten?




nullterm(Posted 2015) [#15]
Haven't tried it yet, but can .monkey2 files use .monkey files?

And if so, is there a #If check so we can put MX2 code into a common module used on both MX1 and MX2 projects?


GC-Martijn(Posted 2015) [#16]
is there already documentation included ?


MikeHart(Posted 2015) [#17]
no. Only source files.


nullterm(Posted 2015) [#18]
There's a short readme.


nullterm(Posted 2015) [#19]
Regarding new style Property "The above way just seems very monkey-ish to me. Still open to ideas here though..."

The new Property feels way more Monkey than Method .. Property. I like it.


GC-Martijn(Posted 2015) [#20]
Then i have to wait, i need some good documentation :)


dawlane(Posted 2015) [#21]
@Richard Betson: If you're having problems with emscripten. I would suggest checking out the emscripten requirements. Another thing do not mix 32bit and 64bit tool chains, and the use of VS 2012/2013 is out until they update their end.

As I do not have access to the pre-alpha, I cannot give much assistance.

@marksibly: As Python is a requirement of emensctripten, have you considered using SCons as a build system?


Playniax(Posted 2015) [#22]
Great. I will have a play!


marksibly(Posted 2015) [#23]
> Edit: Using python 3.4.3 Should I be using python 2.x.x with emscripten?

I'm guessing that's the problem.

Windows emscripten is completely self contained (I think) and includes it's own version of python, but adds its python path to the end of PATH when it installs, so if there's already a version of python in your PATH it could be conflicting. If that makes sense...

You could try locating the emscripten python path and adding it the start of PATH, either via my computer/properties, or the monkey2/bin/env_windows.txt file.


DruggedBunny(Posted 2015) [#24]
Emscripten is working fine here now -- think it just needed a reboot after installing. It's pretty awesome!


marksibly(Posted 2015) [#25]
> Emscripten is working fine here now -- think it just needed a reboot after installing. It's pretty awesome!

Isn't it! I've had it going for a while and was ready to drop it at the first sign of major trouble, but haven't had any real problems with it.

What'd be really nice is if someone can figure out how we can include emscripten in the package. This'd mean setting the necessary PATH settings in monkey2/bin/env_windows.txt so they point to a local version of emscripten in monkey2/devtools or something. I tried this but couldn't get it to work, I think because 'system' PATH settings must be different than 'user' PATH settings. Some of them seem to get lost when python is invoked or something.


AnotherMike(Posted 2015) [#26]
Worked without reboot here. Great start! :)


Danilo(Posted 2015) [#27]
Was the download link sent per e-mail? Or at Patreon?


MikeHart(Posted 2015) [#28]
Per email.


Danilo(Posted 2015) [#29]
Thx Mike! Was away for 2 days, and coming back my fully configured Windows 8.1 PC does not want to start anymore (hardware-side)... :D
A new cool Mac Pro is 7,000+ Euro... oh well.


Richard Betson(Posted 2015) [#30]
@Mark
Windows emscripten is completely self contained (I think) and includes it's own version of python

Interesting. When I did my first build with emscripten it 'downloaded' SDL (might have been SDL2) and then tried to 'download' pywin32 ( http://sourceforge.net/projects/pywin32/files/pywin32/ ) but reflected that it could not get it. So I had to install python which allowed me to then install pywin32. After that I got the error I posted earlier.

So I am not sure what I have done wrong and I will try to figure it out today.
Edit- So just FYI I installed the offline version of emscripten.

@Anyone
If you have emscripten building in MX2 on Windows 7 what version of python do you have installed on your system? And did emscripten download and install tools on first build?
Thanks.


Richard Betson(Posted 2015) [#31]
OH wow I got it working. :D

I updated emscripten via the console and then uninstalled python and pywin32. The build of the SDL2 demo ran on my browser and that is wicked cool.

Edit - I feel mainstream'y and cutting edge'ish. :) Good job Mark.


GC-Martijn(Posted 2015) [#32]
Could someone send me the download link ?
gcmartijn@...

My name is now at the list here:
https://www.patreon.com/monkey2?ty=p


AnotherMike(Posted 2015) [#33]
You should get a message with the download link directly from Mark.


DruggedBunny(Posted 2015) [#34]
Yeah, you have to click the profile button at the very top-right of the Patreon page, then click Messages. Took me a while to figure out!


GC-Martijn(Posted 2015) [#35]
I have the zipfile monkey2.zip now, but osx prompt for a password ?
Please enter the password for "env_linux.txt"

what password ?


skid(Posted 2015) [#36]
Did you check your spam folder?


DruggedBunny(Posted 2015) [#37]

Yeah, you have to click the profile button at the very top-right of the Patreon page, then click Messages


Or read the message the link came in...


GC-Martijn(Posted 2015) [#38]
I only have this email, and a zipfile but no password.

Hi,

Thanks for supporting monkey2!

Here's a download link for the monkey2 reward release:

[here is the link to the zipfile]

Bye,
Mark



Danilo(Posted 2015) [#39]
How to install and use it on Mac OS X? I installed 84e and copied everything from monkey2 folder into it.
Ted disables Build/Run for .monkey2 files, and renaming to .monkey gives syntax errors then (no MX2 used).
Mojo2 tests work, but I can't test .monkey2 files.

When I use the command line compiler MonkeyXPro84e/bin/mx2cc_macos (899Kb),
it overwrites itself with a 0-byte file.


MikeHart(Posted 2015) [#40]
Danilo, were you able to unpack the zip file on OSX?


Danilo(Posted 2015) [#41]
Yes, Mike. Double-click (opens The Unarchiver) and pasting password from eMail.


Richard Betson(Posted 2015) [#42]
Hi,

Desktop (Windows 7 64bit) compiled programs are, 32bit at present? Will we see 64bit down the road?

Thanks,


Shinkiro1(Posted 2015) [#43]
You need Unarchiver to unpack on OSX, the native utility fails.


GC-Martijn(Posted 2015) [#44]
I use osx but needs to wait for the password...


nullterm(Posted 2015) [#45]
Or if your a OSX command line guy: unzip monkey2.zip

It then asks for the password... and works!


nullterm(Posted 2015) [#46]
I played with this a bit, namely struct and operators. I'm so happy, can't wait till it's ready and I can upgrade my MX1 projects to MX2. The code will get so much cleaner not having to use temporary globals to store calculations.

MX1


MX2



Danilo(Posted 2015) [#47]
Did anyone manage to get MX2 sources compiled on OS X?


marksibly(Posted 2015) [#48]
> I installed 84e and copied everything from monkey2 folder into it.

monkey2 folder should be installed 'next' to monkey1, not 'inside', eg:

C:\MonkeyXProv84e
C:\monkey2

Another thing you can try is just running mx2cc.monkey directly from ted (using c++ target) in debug mode. With no args and in debug mode, it should run one of the monkey2 tests.


GC-Martijn(Posted 2015) [#49]
Just place the monkey2 folder aside the monkey84e folder
- root
-- monkey2
-- monkey84e

Goto monkey84e en rightclick open bin/ted (to give it the rights to run it)
After that close ted again,and rightclick open monkey inside the monkey84 folder.

Then ted will open, and choose open file.
Then open a monkey2/tests file and run it.

I only use desktop so I din't test that other thing.


Danilo(Posted 2015) [#50]
Thank you, Mark! Putting it next to the 84e folder works now with Ted.


Nobuyuki(Posted 2015) [#51]
Regarding generic functions:

Will there be a TypeOf..Is operator to help with functions that need a little finagling to work for certain types?


GC-Martijn(Posted 2015) [#52]
2 short questions.

1.) how to use the mojo2 module using Ted and the latest versions ?
Import mojo2

1 error(s):
/Users/gcmartijn/Documents/game1/Monkey2/game2.monkey2 [3] : Expecting string literal

Using mojo2

1 error(s):
Namespace 'mojo2' not found

Or is this not possible in the alpha version ??
Because mojo is all written as monkey1 code and that will work after a month or longer ??


2.) Namespaces
inside tests/test1.monkey2 I see this
namespace test

Does someone know how this namespaces will work ?


nullterm(Posted 2015) [#53]
I don't think it's at that point. Only what you see in the monkey2/test folder.


GC-Martijn(Posted 2015) [#54]
Ow... Im wondering how long will it take then ? More then 4 Months ?
@mark
Is monkey a hobby project, or is it your only fulltime job?


Richard Betson(Posted 2015) [#55]
I don't think it's at that point. Only what you see in the monkey2/test folder.

That's right. Traditionally the test examples indicate whats up and running. ;)

Is monkey a hobby project, or is it your only fulltime job?

I can guarantee it's not a hobby. ;) Serious stuff for Mark I'm sure.


MikeHart(Posted 2015) [#56]
I can guarantee it's not a hobby. ;


Do you have inside informations?


Richard Betson(Posted 2015) [#57]
No. Just indicating his dedication. I know nothing. :) I know from personal experience that often you put in full-time hours on a project like this. So at worst (in reference to "hobby") a second job and one I bet he loves doing.


nullterm(Posted 2015) [#58]
> Ow... Im wondering how long will it take then ? More then 4 Months ?

All in good time. And probably way too early to put a timeline to. Keep in mind, this is alot of R&D work that Mark has to put into this getting all these language features together, then make it fit with the brl/mojo/monkey/opengl/std/etc modules. Kinna like great BBQ, it's ready when it's ready.


GC-Martijn(Posted 2015) [#59]
But I think I get the idea now what monkey2 is.
Yesterday I thought, well lets start with SDL2 so I can see how that works.
But it was for short time, because not all the SDL2 functions where 'inside ted'.
I did wonder why, so I did a quick check in the /module/sdl2 folder.
What I did see where all the sdl2 files (I hope a 1:1 copy from the original!) and a .monkey2 file.
Including the function I want to use.

And now the interesting point.
That .monkey2 file is the key to make sdl2 (or any other C) external library working inside ted.
But the sad point was, that it was handmade :( and did contain only the methods and stuff to make the sample test working.
After all that information I really hope and I really do haha is that mark make a automatic converter to make that .monkey2 file from C.

When this is possible then:
- everything is 1:1 with the original !
- many C libraries will be possible to use if you want
- If sdl2 comes with some fixes, then you can update your own lib (if you want) (I see that in a other topic)

I think that will be one of the powers for monkey2

Or is mark going to write the whole thing by hand ?
This is dangerous because you can make a mistake, and it will cost many time.

Edit
@nullterm
A good BBQ haha


DruggedBunny(Posted 2015) [#60]
I think your expectations are a little high right now, GC-Martijn! The readme says "Monkey2 pre-pre-pre-alpha V-0.01"...

For what it's worth, this level of functionality has been entirely normal all for BRL products at such an early stage of development. It'll grow with time.

I would also refer you to the start of this very thread:


I have just posted a message to my Patreon backers that includes a link to a VERY rough pre-alpha version of monkey2.

This will probably be contentious, but it is meant to be a simple reward to everyone who has shown support for the monkey2 project [...]

It is IMO borderline unusable(!), but it does hopefully give a glimpse of the direction monkey2 is going in. The next version will be much more functional, and will more than likely be available via github.



and from the Patreon release message:


I probably shouldn't really be releasing this at all as it is still in a very rough, pre-alpha state, but I do want everyone to know that I am actually doing something behind the scenes here. As such, this probably has more historic value than technical!
...
The next release should be MUCH more advanced but it probably wont be for another few months yet.




GC-Martijn(Posted 2015) [#61]
Yea i know, but i really want to know if this is marks end goal, to make a automatic C to monkey2 'wrapper','bindings' file or how you want to call it.
Then its solid as a rock


Amon(Posted 2015) [#62]
Yeh man, everything taking too long, m8. This is just a waste of time. By the time monkey2 is out I'd have to wait another 3 years for monkey3 as its the only version that will allow me to finish my game. I've got the basic engine up and a design doc ready. 'Dangerous Pong' is gonna make me teh monies but selfishness is keeping monkey3 years away. We'll see.

Now wheres my brain...........