Kind of indecisive for my next project

Monkey Archive Forums/Monkey Discussion/Kind of indecisive for my next project

Xaron(Posted 2016) [#1]
Dear all,

I've supported Monkey where ever I could, have done several projects with Monkey and just love it. My current project is that 3d submarine game which is done in Unity (because it's 3d) but I already plan ahead and will create more 2d games.

Now to my inconclusiveness... I'm still not sure if I should continue to use Monkey for 2d. I mean it's mature, it's ready, it's in a stable state. BUT... lately Marks does what he can do best which is creating another language and I have no doubts that he will continue that way. It's just fine, it is as it is.

Ok, with Blitz3d and BlitzMax this was definitely ok as PC platforms usually do not change that much in short time. To the opposite mobile platforms change quite frequently which makes it mandatory to adapt the cross compiling modules quite actively. I'm still not sure if it's a clever idea for me to continue with this one-man-show which I LOVE so much or just to move on to kind of the industry standard which includes better and better 2d support (Unity).

Could you give me some input? My biggest worries are the future compatibility of Monkey that it reaches a point where I MUST move to MX2 which is a no go for me because some of my modules only work with the Java Android SDK and NOT with the needed NDK Monkey 2 uses...

Thanks!


MikeHart(Posted 2016) [#2]
Imho M2 won't solve your problem. If you need 3D, stay with Unity as you know it already.


Xaron(Posted 2016) [#3]
Well ya, for 3d I stay with Unity anyway. I mean for 2d projects.


Paul - Taiphoz(Posted 2016) [#4]
I would finish up what your working on with monkey and then just move to Unity fully, you said it yourself Mark likes to make new things and I think the older he gets the more he seems to flip to new projects, he spent way more time on Blitz3D and Max then he did on Monkey and I have to wonder just how long it will be before he decides that Monkey 2 is done and he needs to make Monkey 3 with a new website and 2 man community...

Sorry I know that sounds a bit harsh but honestly this whole situation has kinda pissed me off because like you I LOVE monkey and am a massive FAN of mark have been since blitz2D & 3D, and I honestly hate the thought but once my current projects are done I will be sitting in your exact position with the same choice and as I suggested to you I will be leaning to Unity, sadly!.

Unless something changes with Mark(I have hope, not a lot but its there)


CGV(Posted 2016) [#5]
I find it curious that you guys are going from a pure code environment to a drag and drop environment like Unity.
Could it be Mark's moving on to MX2 isn't the only reason you guys are jumping ship?

I have the same concerns about Monkey's future but I've been looking at HaxeFlixel and Kha since they're not that far removed from Monkey, and I won't have to learn a whole new paradigm.


Paul - Taiphoz(Posted 2016) [#6]
I meant every word, I love monkey and suspect that I would like mx2 as well if I gave it time, my main issue is exactly as I said, so yeah if Mark fixed the issues I and others have then I would not be moving to Unity for anything other than 3D.

Another thing I would say is that Unity is very code heavy it's all down to how you use it, sure you can drag and drop world objects and build your levels via drag n drop but ultimately your still going to have to write a lot of code.


therevills(Posted 2016) [#7]
Found this breakdown of game dev engines a bit of go:

http://blog.prime31.com/the-great-2d-game-engine-evaluation/

http://blog.prime31.com/the-great-2d-framework-evaluation-part-2/

http://blog.prime31.com/the-great-2d-framework-evaluation-part-3/

http://blog.prime31.com/the-great-2d-framework-evaluation-conclusion/


Xaron(Posted 2016) [#8]
@therevills: Thanks, very good read indeed!

@CGV: No. Actually I do NOT like these drag&drop environments, it took me a while to get used to it. I'm a pure coder, grew up with 6502 assembly language on my good old C64, later on 68000 assembler on my Amiga, then I switched to C, now I work all day with C++/C# and Python in my job.

I loved Monkey from the first hour I saw it, I'm customer #1 (no joke), bought it immediately minutes after it came out. I bought additional licenses even though I did not need them. I patreon Mark for MX2. I own virtually everything Mark ever released and used it quite well even though I started releasing things with Monkey.

Up to now I have about 7 games released, most of them are really tiny, my submarine game will be the first huge one and I want to start to make this business more seriously. It's not only a hobby anymore. That's why I need tools I can rely on. Monkey works great NOW, but I have some concerns what happens when there is kind of a new API level or new services or whatever in this fast evolving mobile market. Mark's focus is on MX2 now and will stay there as long as there's something new to do. It's just what he can do best, creating compilers. For me it would be more important to maintain existing ones. So yes, he's still doing that here and there but I simply cannot rely on that anymore.

I mean just look into the bug reports forum: http://www.monkey-x.com/Community/topics.php?forum=201
Things just don't get fixed anymore, I even don't talk about new features! It's just bugs, who are there and probably will stay there forever. This will become worse over time when API changes are coming. This was not a big issue during the times of BlitzBasic3d but nowadays it's a game changer! I'm not even sure if Mark look into this forum anymore. :(

I never worked with Haxe, but looking at this Javascript like language I get eye cancer. :D No just kidding I just don't get warm with it. I LOVE C#, it's a clean great and modern language. I don't like the Unity editor that much but I do most of the stuff code wise anyway. I'm still not sure what to use.

The biggest cons for Monkey for me are:
- one single developer - let him get sick or worse - game over
- I have quite some modules which work with the SDK part (Java) for Android, so I cannot switch to Monkey 2 which uses the NDK (C++)
- As I have to use Monkey 1 it's more and more likely that it doesn't get any updates anymore
- Slow bug fixing, probably no new features

The biggest pros for Monkey for me are:
- I LOVE it, well not an objective reason but it's important
- It's totally light weight
- open source
- fast prototyping

The biggest cons for Unity for me are:
- 3d engine, 2d support is in but not that well
- huge package size - well at least compared to Monkey
- closed source (yes it HAS ugly bugs where you have to wait for them to fix them or work around them)

The biggest pros for Unity for me are:
- maintained by a well founded company
- THE industry standard at the moment
- tons of working assets, lot's of modules which I would have to integrate in Monkey by myself are already there

I just wanted to get more input here. I do NOT want to diss Monkey or Mark, he's doing an awesome job in a very difficult environment. I just have to be realistic.


MikeHart(Posted 2016) [#9]
If it is no hobby anymore and more a business, then by all means, you need something reliable. Something you can depent on. And who is the one who can guarantee that to you? YOURSELF! With your love for C#, I would roll my own framework then based on Monogame.


Xaron(Posted 2016) [#10]
Thanks for the suggestion, I've seen it in that blog therevills proposed already. Monogame looks valid and like a very good alternative especially now as Xamarin is free.


therevills(Posted 2016) [#11]
Monogame does look pretty good... although cant find much info about supporting the latest Admob and IAP stuff for Android?


Xaron(Posted 2016) [#12]
Yeah that's why I'm going to stick with Unity.


Gerry Quinn(Posted 2016) [#13]
The only saving grace is that the lightweighted-ness of Monkey seems like it should make it less prone to getting seriously broken by API changes, And the open-ness means that bugs are fixable. Of course non-core modules can get hit as has been the case wit Admob for Android.

I don't know how I can bring myself to use Unity, the only thing sweetening the pill is that it is industry standard. The problem is that other 2D alternatives don't really seem to have any advantages compared to Monkey which after all still works really well out of the box!


CGV(Posted 2016) [#14]
If Monkey wasn't the best available 2D cross-platform development option I don't think we would be having such a problem deciding where to go next.

I'm still holding out a small hope for MX2 even though it looks like Mark is abandoning his traditional user base.


@therevills, I think Xamarin has that stuff covered with their packages. Check out this page: https://www.nuget.org/packages?q=Google+Play+Services


therevills(Posted 2016) [#15]
@CGV - ah that makes sense I guess, as you need Xamarin for Android. I didnt think to look for Admob/IAP for Xamarin.


CGV(Posted 2016) [#16]
I downloaded the new MX2 release yesterday and spent the day going over the bananas folder.

I have to now say, although it's definitely different from Monkey-X, I haven't found it any harder to grasp.

My previous view of MX2 was based on the posts people were making in the MX2 forums. I honestly had to Google some of the things people were talking about, making me think you needed a CS degree to use MX2.

I have to wonder how many other people's view of MX2 was caused by those forum posts as well.

Although I'm a little disappointed about the executable sizes and I'm not quite clear on the system requirements for Windows, is it DX9 or DX11? min. OS version?, I may not have to find a new development tool after all!

The only remaining issue for me is the one Paul-Taiphoz mentioned, will Mark stick with this or wander off again after a few years?


therevills(Posted 2016) [#17]
MX2 is getting there... really need to test the Android target stuff.

I'm not quite clear on the system requirements for Windows, is it DX9 or DX11? min. OS version?

I did post this back in July:
http://monkey2.monkey-x.com/forums/topic/graphics-driver/

Mojo uses the GLES20 API exclusively.

However, Windows builds use ‘angle’ to convert GLES20 to D3D9/11 calls.

You could theoretically switch to using native GLES20 on Windows, but I don’t think you’d gain much, if any, performance, and you’d lose a lot of compatiblity.


Can Mark really afford to wander off again? MX2 isnt for sale and he is only getting donations for development. With MX1 he coded himself into a corner and went over the top with the amount of targets it supported. A lot to do for one man!


CGV(Posted 2016) [#18]
Can Mark really afford to wander off again? MX2 isnt for sale and he is only getting donations for development.

So we've got him trapped! ;)

However, Windows builds use ‘angle’ to convert GLES20 to D3D9/11 calls.

Uhh, so is it D3D9 or D3D11?

According to wikipedia " There are two backend renderers for ANGLE: the oldest one uses Direct3D 9.0c, while the newer one uses Direct3D 11.", but the angle repository at github makes no mention of D3D9.

Has Marked included both renderers?

Mark needs to post more info on what the minimum system requirements are.


Shockblast(Posted 2016) [#19]
Is Monkey-X really abandoned by Mark? I do think he will probably not be adding any new features to it but he does seem to update the iOS and Android targets if that is needed like the IPV6 and Admob issues from last month.

Also something I could not find on the Monkey-X 2 website, is it really not possible to wrap up Java SDK's for Android like in Monkey-X?


CGV(Posted 2016) [#20]
Is Monkey-X really abandoned by Mark?

He is continuing to update the targets for api changes and the like but the expectation is that this will cease once MX2 is fully working on Mobile targets.
Even if Mark continues to maintain Monkey-X for a while after that, you surely realize that Monkey's days are still numbered.

is it really not possible to wrap up Java SDK's for Android like in Monkey-X?

MX2 uses the NDK on Android but Mark did recently mention that he will be including some means of Java access via C++.

Here's the post where he mentions it: link


SLotman(Posted 2016) [#21]
I despise Unity. Seriously... I tried doing stuff on it - but its definitively not my cup of tea. Seeing huge binaries won't make me any happier either.

Monkey in the other hand, I'm in love. And sad that Mark is leaving it behind for ANOTHER compiler/language. I'll stick with Monkey though.
I can mantain more or less stuff on Android's side (unless it breaks too much...), I have my still in progress dx9 target (compiling with VS2012, so it's good for some time) - the only bad part for me would be iOS and WP8.

But on WP8, Google made the favour of killing admob there - so it's another target almost "dead" for me :/
So, only iOS would be a problem. but since my revenue over there is going downhill... I don't know for how long I'll release stuff for iOS/Macs.

I'll move eventually into Steam, to see if I can get better revenue over there. Things on mobile are too tough. One of my games ("Senhor Presidente") has over 130k downloads here in Brazil, but revenue is just a couple of hundred dollars. If I had earned $0.01 for each of those downloads, I'd have much more than that...


Xaron(Posted 2016) [#22]
Yeah I tend to agree SLotman. Actually I just love Monkey the same way I loved BB3D in the past. I simply cannot resist. :D

So please don't get me wrong. I'd love to read more of that screw that f!"§ing Unity and go on and use Monkey, dickhead! HA!

I don't know if the binary size is such a big issue anymore. Well yeah, I grew up with the C64 and tend to use as less space as possible where Unity adds a solid 8MB just for an empty project for Android. I'm just a bit pity that Monkey 1 was left that fast. Ok, it IS somehow feature complete and I'm glad it got Mojo 2 even though Mark already said that new Mojo features will NOT make it for Monkey 1.

Personally I don't care about WP8 anymore. It's dead. Sadly... I just need Android AND iOS and HTML5. That's it.

@Shockblast: Well regarding Java stuff embedded into Monkey 2 I asked exactly that question here: http://monkey2.monkey-x.com/forums/topic/mojo-2-changes-and-an-android-question/
Answer is: The plan is to write a little ‘interpreter’ on the java side using reflection so you can execute java code from c++ simply by going JavaExec( “blah” ) or something, but this is some time off yet.

So actually I'm fine to switch to Monkey 2 anytime it's in a rocksolid state.

Edit: I think I'm going to wrap my head around Monkey 2 and start right now using it. Hopefully Android and iOS targets will be ready within one year...
One reason behind this decision is that I never really got warm with Unity BUT even more important is that Mark got me into this games business and I'm really grateful for that! :)


secondgear(Posted 2016) [#23]
Speaking of APK sizes, I ran a quick test with an almost empty Unity3d project:
FAT APK (arm and x86, with stripping): about 17.5MB
just arm: about 9.3MB

Then I built the Godot engine sample project (Minesweeper):
FAT APK: 14.7MB
just arm: 7.7MB

I'm curious what apk size Monkey2 would produce. I guess it's time to download and try.
[Edit]
Monkey2 Hello World debug apk: 3.1MB. Nice :)

On an unrelated note, this was quite a funny read: http://docs.godotengine.org/en/stable/tutorials/engine/encrypting_save_games.html


SLotman(Posted 2016) [#24]
Try on iOS. Its even worse. I got a friend complaining to me about it, a project of his - on android is something around 10mb, on iOS it got wo 25Mb and he has no idea why.

One of my latest games - "Senhor Presidente" (Mister President) on Android is only 2.9Mb (using Mojo1) and the game have already over 140k installs on Google Play Brazil :)

That friend of mine was almost ready to jump from Unity into Monkey, but he took a look at this forum... and asked me if "monkey had a future", because what he saw was a dying community.. I had to tell him that Monkey was great, but indeed it doesn't have much "future", just updates to keep compatibility here and then.

And he wasn't the only one. With all those downloads from my game, I have other Brazilians asking about "what engine did I use" and so on.

Its a shame, Monkey is one of the best solutions to mobile development (or web for that matter) - and it seems to be going the same path as Blitz3D and BlitzMax... :(


Xaron(Posted 2016) [#25]
Well ya, but to be fair, Mark supported Blitzbasic quite a while and it still works even on Windows 10. I did the same mistake in the past. You can wait and struggle and try to decide what to use. No bright future, well ya, might be. But it works NOW and it's still the best out there NOW so I'm gonna use it. I use Monkey since it was released and made some pocket money using it - well even a bit more. 8 games so far. :) My 9th one will be made with Unity because it's 3d but after that I think I'm going to use Monkey again till I see something better on the horizon.

Even Unity's future is not that bright as I've heard here and there. They burn money, they will get bought by someone at some point and maybe in 5 years... who knows! You could argue that Monkey might not work in 5 years anymore, who knows, but now it works, I'm more and more confident and sorry for that bad kind of move I brought in here!


secondgear(Posted 2016) [#26]
Maybe I am too optimistic, but from my quick look at the current state of Monkey2 I think I might be able to start using it in production in the first half of 2017. I'll probably lose winrt target, but Android and iOS could be ready by that time.