September 23, 2019, 05:22:55 PM

Author Topic: AGK vs Monkey?!  (Read 13748 times)

Offline RonTek

  • Sr. Member
  • ****
  • Posts: 357
Re: AGK vs Monkey?!
« Reply #45 on: September 06, 2017, 03:11:51 PM »
Hey Pingus, yes as I have posted above just the examples alone already takes some time to build (~300-500 lines). I'm going to try it again just to see how Mojo3D performs on older android devices.

Is it slow even with subsequent builds of the same project? With CX it is much slower on the first build cause all these files from GLFW will be compiled. Later on it is only the main file that is recompiled and then linked to the object files of GLFW.

Hey Mike, it looks like it depends on the code changes, changing the title on android build took 17s, that's just the NDK .so file w/o the final gradle build. On that note, I'm still having problems setting up gradle on Monkey2, it seems it was not setup properly. On other foss projects, it is automatic when you run gradlew.bat and so now I have to install gradle manually. :/


Offline MikeHart

  • Hero Member
  • *****
  • Posts: 599
Re: AGK vs Monkey?!
« Reply #46 on: September 06, 2017, 03:24:22 PM »
Hey Mike, it looks like it depends on the code changes, changing the title on android build took 17s, that's just the NDK .so file w/o the final gradle build. On that note, I'm still having problems setting up gradle on Monkey2, it seems it was not setup properly. On other foss projects, it is automatic when you run gradlew.bat and so now I have to install gradle manually. :/

I can't help you with M2. I just managed to get Android Studio running for CX. Wish was a hassle for itself. Or my stupidity, I don't know :D

Offline Pingus

  • Jr. Member
  • **
  • Posts: 91
Re: AGK vs Monkey?!
« Reply #47 on: September 06, 2017, 04:08:21 PM »
Monkey2 examples takes time the first time they are builded, but further builds are much faster (not everything needs to be recompiled).

However, I made the following test that is not very encouraging:

I take a demo sample (pacman from Playniax PYro2 by example). Then I copy-paste a local code until I get 10000 lines of code in the same function (which is of course not a good practice ;).
First build require 49 secs to build. If I change nothing, the second build takes just 1 second. Ok fine.
Now I modify a line in any other function. And it takes again 49 secs !
My project beeing more on the 50000 lines side, it is totally impossible to imagine waiting several minutes each time I change a code line somewhere.! :o

Similar test with AGK show no compiling difference between a 1000 or 10000 lines code which is logical because there is no 'building/linking'.

Does that test means something compare to real practice ? Would it be different if instead of a function with 10000 lines I would have 100 functions of 100 lines (which is closer to real practice but I'm lazy to test it) ?


Offline RonTek

  • Sr. Member
  • ****
  • Posts: 357
Re: AGK vs Monkey?!
« Reply #48 on: September 06, 2017, 04:13:22 PM »
Hey Mike, it looks like it depends on the code changes, changing the title on android build took 17s, that's just the NDK .so file w/o the final gradle build. On that note, I'm still having problems setting up gradle on Monkey2, it seems it was not setup properly. On other foss projects, it is automatic when you run gradlew.bat and so now I have to install gradle manually. :/

I can't help you with M2. I just managed to get Android Studio running for CX. Wish was a hassle for itself. Or my stupidity, I don't know :D

Ah no worries ;D Hey with some luck and effort, I finally got my gradle setup and working now for Monkey2. Build the pool aka billiard aka 8 Ball Hustler bananas demo on droid. But wait, hmmm.. for a 2D game or demo, it seems there's a bit of a lag.  :-\

For anyone who wants to have a go at it..

8 Ball Hustler Monkey2 Demo APK Download (Debug)
https://www.dropbox.com/s/v1uyhyzmwajnrai/pool-debug.apk?dl=0




Offline RonTek

  • Sr. Member
  • ****
  • Posts: 357
Re: AGK vs Monkey?!
« Reply #49 on: September 06, 2017, 04:23:12 PM »
Monkey2 examples takes time the first time they are builded, but further builds are much faster (not everything needs to be recompiled).

However, I made the following test that is not very encouraging:

I take a demo sample (pacman from Playniax PYro2 by example). Then I copy-paste a local code until I get 10000 lines of code in the same function (which is of course not a good practice ;).
First build require 49 secs to build. If I change nothing, the second build takes just 1 second. Ok fine.
Now I modify a line in any other function. And it takes again 49 secs !
My project beeing more on the 50000 lines side, it is totally impossible to imagine waiting several minutes each time I change a code line somewhere.! :o

Similar test with AGK show no compiling difference between a 1000 or 10000 lines code which is logical because there is no 'building/linking'.

Does that test means something compare to real practice ? Would it be different if instead of a function with 10000 lines I would have 100 functions of 100 lines (which is closer to real practice but I'm lazy to test it) ?

Those build times seems acceptable, at least for me. I'm more concerned with performance particularly when using 3D and on an average android device. Maybe Monkey2 is for newer or latest mobile devices??

Also, I can't find any Mojo3D examples to try out. hah!  ???




Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2000
Re: AGK vs Monkey?!
« Reply #50 on: September 06, 2017, 08:13:27 PM »
lol back in the day (at college) I had similar compile times from the College (shared) Mini Computer writing Pascal.

These compile times are unacceptable in this day and age IMO.
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
Raspbian Buster, pi4 4Gb RAM,1.5Ghz

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 2115
Re: AGK vs Monkey?!
« Reply #51 on: September 06, 2017, 08:37:45 PM »
Funny how we had patience "back in the day" waiting for things to load off cassette. These days if we click on build and it's not up and running in a few seconds ( or quicker ) a mild rage builds inside :P
Until the next time...

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2000
Re: AGK vs Monkey?!
« Reply #52 on: September 06, 2017, 08:42:51 PM »
lol very true...I remember the ZX Spectrum loading times.  You got used to it...But today, that is something I would not accept.
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
Raspbian Buster, pi4 4Gb RAM,1.5Ghz

Offline Pingus

  • Jr. Member
  • **
  • Posts: 91
Re: AGK vs Monkey?!
« Reply #53 on: September 06, 2017, 10:35:45 PM »
Sure that compile time is long especially when you get used to < 8 s compile time with bmax (for a 50000+ project) since years.

Offline RonTek

  • Sr. Member
  • ****
  • Posts: 357
Re: AGK vs Monkey?!
« Reply #54 on: September 07, 2017, 12:02:58 AM »
Sure that compile time is long especially when you get used to < 8 s compile time with bmax (for a 50000+ project) since years.

I agree, you can compare it (Monkey2) with Blitzmax build time if you are a BRL user.

In general, if you are a young and hip coder, I don't think it matters. Fast forward, when you realize that you are not like that Highlander guy and only have N years to live then time is of the essence, even those precious build seconds. ;D

Offline ThickO

  • Jr. Member
  • **
  • Posts: 80
Re: AGK vs Monkey?!
« Reply #55 on: September 10, 2017, 05:23:32 PM »
lol very true...I remember the ZX Spectrum loading times.  You got used to it...But today, that is something I would not accept.

Yes and the error at the very end of the load. I never had a tape load error out at the beginning.
3D makes my head hurt...

Offline playniax

  • Full Member
  • ***
  • Posts: 111
    • Playniax
Re: AGK vs Monkey?!
« Reply #56 on: September 11, 2017, 07:02:12 AM »
The compile times are not bad. Yes, the first time can take a while but after the compile time is just a matter of seconds. It does seem to depend on how many changes you make and where to slow down a bit.

I am using monkey2 everyday and really, if the compile time was so bad I would already have thrown in the towel. Patience is really not my strong suit and the monkey2 language is really a joy to work with.

Monkey2 is also evolving rapidly. You can't compare it with say monkey2 from a year ago.

I have not tried AGK yet ( I will some day ) but I use monkey for the language and nothing even comes close!

Offline Xaron

  • Sr. Member
  • ****
  • Posts: 260
Re: AGK vs Monkey?!
« Reply #57 on: September 11, 2017, 07:12:52 AM »
Monkey 2 is probably a joy to work with when you know the language. The almost non existing documentation makes it nearly impossible for newcomers to even make some easy first steps. It's just frustrating even for me who tried it here and there and knowing Monkey 1 in and out.

When it comes to the language itself I simply don't get why one should use it for the language aspects. C++ and C# are both far superior and not harder to grasp.

When it comes to the whole package, I agree, Monkey 2 IS indeed a nice solution. For desktop only I'd say there are tons better out there (as I already said) for cross platform it's really nice.

Offline playniax

  • Full Member
  • ***
  • Posts: 111
    • Playniax
Re: AGK vs Monkey?!
« Reply #58 on: September 11, 2017, 09:04:35 AM »
Okay, not here to start any arguments but...

> The almost non existing documentation makes it nearly impossible for newcomers to even make some easy first steps

Not that I am not agreeing with you on the docs, they could be A LOT better but maybe we are forgetting that monkey2 is relatively new?! Mark did a lot in such a small time! Also the language is 'FREE' and in active development! If it doesn't fill your need now, it may do so in a year or maybe never. Also nobody is asking anybody to wait.

BlitzMax wasn't that much better on the docs side, monkey1 wasn't that much better and from a lot of languages I have seen its also not a lot better. One just needs code examples, the other needs a complete step by step book! Not judging here, just who knows why this is.

> C++ and C# are both far superior and not harder to grasp

Yes, for you probably. For me sure but I just never liked them! Why? Don't know, just don't. When I started I did everthing in machine code and later assembler. I liked that very much but have no idea why.

But at the end of the day it is just a personal preference but objective opinions are hard to find...

Offline RonTek

  • Sr. Member
  • ****
  • Posts: 357
Re: AGK vs Monkey?!
« Reply #59 on: September 11, 2017, 10:37:48 AM »
With my recent tests, Mojo3D still fails on android with those shader errors so technically it is not yet cross platform and so I could say it is too early to recommend or use Monkey 2. With Mojo3D officially included in the release, Monkey2 is now presented as both 2D and 3D.

As for docs, with BlitzMax, I refer to the wiki here and the old forum archive
https://en.wikibooks.org/wiki/BlitzMax/

There's also an entry for MX but only a few articles there..
https://en.wikibooks.org/wiki/Monkey_X/

I agree with Martin there with Monkey 2 docs being non existent, it actually is. I have search and copy someone's template example just to get started with Mojo3D. I mean, Mojo3D is now included, so I find it a bit weird and inconvenient not finding any examples.

Perhaps this is a good site to start making those docs for Monkey 2??