Monkey Wish List/Must Haves

Community Forums/Monkey Talk/Monkey Wish List/Must Haves

Chroma(Posted 2011) [#1]
Probably a little late but...what are some things that are in BMax that you REALLY hope got carried over into Monkey/Mojo? And some things you can't live without?

For me it's the VirtualResolution stuff. Which should come with Mojo since it's the 2d module. Then you could just detect what mobile device it's on and set the native resolution etc.


Xaron(Posted 2011) [#2]
Yep. I'd like to see that as well. I can only speak for Corona but like the way it's handled there.

Basically you have a build settings file there where you specify beside your standard resolution resources additional factors (say x1.5; x2.0; x3.0) where the 2D part of Corona automatically uses the one which is closest to the physical resolution of the device. The remaining difference is done by scaling (as far as I know Android does this for you).

The main drawback of this is that you multiply your app size due to multiple resources. The benefit is, you don't have to. ;)

Another thing regarding this are inputs. You program your app for one resolution and get always the same touch coordinates no matter which device resolution you have.


D4NM4N(Posted 2011) [#3]
-OOP at least as far as classes methods and inheritance (this is imperative for me now, going back to procedural programming is like trying to cook on a bunsen burner)
-Maxlike syntax (although i would prefer {}s to EndWhatevers and begins (less work :)) but whatever.
-Featured ide (preferably an upgraded MaxIDE or a plugin for an established IDE like Eclipse or Codeblocks) with intellisense, good project management and F1-Docs would be nice but not dealbreaking.
-Easy to use graphics system.

Last edited 2011


Yasha(Posted 2011) [#4]
Wish list items:

- Generic classes
- Interfaces

...neither of which were in Max, so it's not exactly realistic. The lack of generics is what keeps me personally from really making much use of Max though (I hate the constant casting - not to mention the fact that there's no easy way to tell whether someone else's code is actually type-safe when reading it). Shallow and silly, I know. Interfaces are less important, but it's nice to be able to pretend there's nonlinear inheritance.


MGE(Posted 2011) [#5]
Developing your game in any resolution and setting a physical device for runtime and the Monkey framework handling the projection matrix for you automatically is a 100% must have.


Warpy(Posted 2011) [#6]
What good guessers you are!


slenkar(Posted 2011) [#7]
o rly :)


Xaron(Posted 2011) [#8]
What do you mean, Warpy? Are you in the beta group? ;)

edit: slenkar, you too? Aaaaaaah. How many are you?

Last edited 2011


TartanTangerine (was Indiepath)(Posted 2011) [#9]
A release date.


GW(Posted 2011) [#10]
I imagine that anything in your wishlist must be possible in all the target languages. otherwise there is no point.


slenkar(Posted 2011) [#11]
no im not a beta tester


Gabriel(Posted 2011) [#12]
3D.


Lazaruso(Posted 2011) [#13]
Telekinesis.


Gabriel(Posted 2011) [#14]
Oooh Oooh! Can I change mine? Aw nuts!


Lazaruso(Posted 2011) [#15]
I also want a bag of money to come with my copy of Monkey.


D4NM4N(Posted 2011) [#16]
CreateGame(EGameType gameType) method, World peace.. and a pizza + a beer


Gabriel(Posted 2011) [#17]
I want Lazaruso's copy to be delivered to me by mistake.


jfk EO-11110(Posted 2011) [#18]
Monkey is only the core, so asking for features is addressed to the Lib-Makers.

I'd like to have access to (and link those together):

-gps
-camera (also stereo)
-touchscreen
-motion sensors
-access to network layers on as many levels as possible, including something like embeded OpenBTS, or a Nokia 3210 Emulator :)
-Some of the latest web access protocols, allowing high speed even with an ordinary GSM connection.
-3d engine
-powerful community with connections to the real mobile software market.


Tom Darby(Posted 2011) [#19]
Lasers.

MUST have lasers.

Mounted on the heads of the ponies.


gameproducer(Posted 2011) [#20]
That "Telekinesis" made me experience burst of milk flying through my nostrils.


Space_guy(Posted 2011) [#21]
I do wish for textured polys for mojo.


xlsior(Posted 2011) [#22]
Some of the device specific features like multi-touch, accelerometers an motion sensors would be great...

That, and pyrokinesis.


_JIM(Posted 2011) [#23]
Reflection would be nice to have. That way I'll have even less changes to make to my prototype to port it to monkey.


Foppy(Posted 2011) [#24]
Developing your game in any resolution and setting a physical device for runtime and the Monkey framework handling the projection matrix for you automatically is a 100% must have.
This would also be nice to have in Blitz Max with respect to normal screens and wide-screens. Somehow I could never figure out how to reliably detect the best resolution for the game to run at (modes were returned that when selected made the computer crash) so I just run the game at 800*600. I guess with Monkey this would be even more important given the different platforms.

Last edited 2011


Chroma(Posted 2011) [#25]
Argh, totally forgot inline maths for types!

Like this:
Local a:TVec2 = Vec2()
Local  b:TVec2 = Vec2(5,10)
a += b


Last edited 2011


Xaron(Posted 2011) [#26]
Chroma, what is

a =+ b



_JIM(Posted 2011) [#27]
I believe he refers to operator overloading, and that is a typo. Should spell "+=".

It would be nice to have, but not a must-have. I already got used to a.Add(b) or AddVector2d(c, a, b).

Last edited 2011


Who was John Galt?(Posted 2011) [#28]
Wait a minute man, let's just get the stuff we need! ... And chocolate!
Chocolate!


Ian Thompson(Posted 2011) [#29]
A lot of these requests sound like C++ syntax. I'd like to keep it simple, for beginners (a big Market)and not a jack of all trades. There are already plenty of complex OOP uber powerful languages out there that can do the cross platform dance via mono already. Introducing a new one, at this late stage, would not be prudent IMHO.


Xaron(Posted 2011) [#30]
I agree, Ian!


Yasha(Posted 2011) [#31]
Introducing a new one, at this late stage, would not be prudent IMHO.


I take exception to this. New languages are always a good idea. (Of course I'm in that game too now, so I would say that.)

More importantly, you need to consider what's really "complex" and what's just a formalisation of something you wanted all along. Since the only major syntax suggestions so far in this thread seem to have been generics and overloading... overloading's been discussed (to death) already.

As for generics though, they make code cleaner and simpler, and better for beginners, because they never get into the hole of thinking that (for example) Lists hold unknown objects that always need to be cast and could fail and so on, which you currently have to do when extracting something from a Max container. It's really no more complex than the type declarations already in place, while the logic becomes less complex than its BlitzMax counterpart by introducing something that "just works".

Last edited 2011


Chroma(Posted 2011) [#32]
Well every language is for "beginners" in a sense. I can sit down and do beginner stuff in C and have it output "Hello World". But there has to be advanced stuff also which I think is pretty obvious. You use what commands you're comfortable with.

No one's forcing you to use anything advanced is what I'm saying. Then you move to the more advanced commands when you're ready. I think keeping it all simple for beginners would be a huge mistake.

And yep, I meant "+=" !! :)


Xaron(Posted 2011) [#33]
Ah ok Chroma, got it. I really miss these simple operator overloading stuff like += in BMax...


Bossti(Posted 2011) [#34]
iAD Support would be nice.


D4NM4N(Posted 2011) [#35]
A lot of these requests sound like C++ syntax. I'd like to keep it simple, for beginners
Do they? I would say they sound more like features found almost ALL modern languages (Java, C#/VisualBasic, BlitzMax....)
Beginners don't have to use them. But to not have them because beginners don't even know they exist or how to use them is just silly. For those that do it is the difference between a shovel and a 20 ton earthmover.

Last edited 2011


Gabriel(Posted 2011) [#36]
Yeah, I want to change mine now. I want Monkey to not include any features I won't personally use.


Dabhand(Posted 2011) [#37]
I want it to make me a cup of tea everytime I press Ctrl+F5!!!

Dabz


BlitzSupport(Posted 2011) [#38]

I want it to make me a cup of tea everytime I press Ctrl+F5!!!


You're in luck -- that was just added to the last beta!

(Or was I thinking of something else? I'm so forgetful these days.)


Dabhand(Posted 2011) [#39]

You're in luck -- that was just added to the last beta!



Result!!! :D

Dabz


ziggy(Posted 2011) [#40]
I want it to make me a cup of tea everytime I press Ctrl+F5!!!

You're in luck -- that was just added to the last beta!


But in my iPhone it did make tea insted, so still fine tuning it...


Gabriel(Posted 2011) [#41]
That sounds like Apple's corporate greed and control freak mentality. They get 30% of all tea profits, but they don't get a commission on coffee, so they only let you make tea. I'm going to buy a Android phone as that will let me drink carbolic acid if I want to. I don't actually like the taste of carbolic acid, and technically it's a poison, and yeah, ok, it burns your flesh as you drink it, but it makes me feel better knowing that I could if I wanted to.


John G(Posted 2011) [#42]
I hope for old-fashioned procedural Basic-style programming.
OddBalls extensions -- screen rotation, etc. (eventually)


Who was John Galt?(Posted 2011) [#43]
I hope for old-fashioned procedural Basic-style programming
Every Blitz so far is based on this, so I suspect you're in luck.

You're in luck -- that was just added to the last beta!
Can I get a digesteroid to dunk in that?


Gabriel(Posted 2011) [#44]
Yeah, but BlitzMax let people do more advanced stuff as well. I don't want people doing advanced stuff I don't do.


Qube(Posted 2011) [#45]
For the mojo side I'd like to see :

I'd like to see these very handy and extremely useful commands from GLBasic built into mojo. Not from BMax but....

LOADBMP - This speeds up 2D frame rate in not having to manually draw a background each frame. Great for static backgrounds and pasting sprites on top.

POLYVECTOR - Excellent for usage with sprite sheets plus distorting and drawing parts of images.

CREATESCREEN / USESCREEN - Perfect for creating in game textures / images.


TartanTangerine (was Indiepath)(Posted 2011) [#46]
Release Date..... (no more, no less) - oh apart from "LocalStorage" (http://dev.w3.org/html5/webstorage/)


Who was John Galt?(Posted 2011) [#47]
Yeah, but BlitzMax let people do more advanced stuff as well. I don't want people doing advanced stuff I don't do.
Too funny!


Dabhand(Posted 2011) [#48]
PolyVector FTW!!!

Dabz


D4NM4N(Posted 2011) [#49]
Yeah, but BlitzMax let people do more advanced stuff as well. I don't want people doing advanced stuff I don't do.

Lol! ;D


Lazaruso(Posted 2011) [#50]
Hold everything! I want Mark to change the language to a hybrid of Lisp and Boo, but with shaders and Amiga support.

We'll have to wait a couple more weeks, but it'll be worth it!


xlsior(Posted 2011) [#51]
Why not go all Turing Tarpit: http://en.wikipedia.org/wiki/Turing_tarpit


Panno(Posted 2011) [#52]
I want it to make me a cup of tea everytime I press Ctrl+F5!!!
You're in luck -- that was just added to the last beta!


CRtl+F6 =Sugar
Crtl+F7 = Milk
Crtl+F12 solve the Riemann Hypothesis


Qube(Posted 2011) [#53]

Crtl+F12 solve the Riemann Hypothesis


0 - Simple


beanage(Posted 2011) [#54]
Render-to-Texture. Thats what I missed first when I moved from BlitzPlus to BlitzMax, the SetBuffer() command. Now I use an FBO hack on Max2D, which isn't overly beautyful.


Dabhand(Posted 2011) [#55]

Render-to-Texture. Thats what I missed first when I moved from BlitzPlus to BlitzMax, the SetBuffer() command. Now I use an FBO hack on Max2D, which isn't overly beautyful.



http://www.modules.indiepath.com/forum/viewtopic.php?t=20&sid=189caee9d80e15fe3b9eb26861fbf125

But yeah, render targets are a great feature!

Dabz


Chroma(Posted 2011) [#56]
I was just on facebook and had an add pop up that said "Learn C/C++". I marked it as offensive lol....


Czar Flavius(Posted 2011) [#57]
Surely you mean the :+ operator and not the += operator????? What is this heresy????


Who was John Galt?(Posted 2011) [#58]
Okay, release the little fury chap right now, or I'm going to write the whole thing in C++!!!


Sokurah(Posted 2011) [#59]
No, you can't have your banana and eat it.
...actually, you can't even have a monkey to go with that banana. :-D


MGE(Posted 2011) [#60]
Good documentation = must have.

Last edited 2011


Chroma(Posted 2011) [#61]
I consider myself very well versed on Vectors. But I've never heard of a PolyVector...off to google I go...

Edit: I wish I hadn't...now they're throwing in Multi-Vectors and K-vectors...

Last edited 2011


Winni(Posted 2011) [#62]
Good documentation = must have.


This.


Grey Alien(Posted 2011) [#63]
Does it have a kitchen sink module or has that been left out *again*?


big10p(Posted 2011) [#64]
For/Next loops. ¬_¬


degac(Posted 2011) [#65]
I want something like this (I really dont' know how to call it!)

Local x,y,z as float 'equivalent to x:float, y:float, z:float

local a,b,c as TmyIncredibleType '... eheeh --> Local a:TmyIncredibleType, b:TmyIncredibleType,c:TmyIncredibleType



less to type, more happy!

Yes, I know is nothing related to the 'language' itself but to the interpreter/compiler... but hope is the last to die!


Dabhand(Posted 2011) [#66]

For/Next loops. ¬_¬



:D

Dabz


Yasha(Posted 2011) [#67]
I want something like this (I really dont' know how to call it!)


Same here. I've always felt this is one of the few big flaws in Basic-derived vs C-derived syntax.

Last edited 2011


LarsG(Posted 2011) [#68]
For/Next loops. ¬_¬

nah man.. just give us Gosubs!!! :D
hehe


Dabhand(Posted 2011) [#69]

nah man.. just give us Gosubs!!! :D



Pffft.... Gosubs... Goto is where its at! ;) <--- Pardon the pun!

Dabz


Chroma(Posted 2011) [#70]
Goto and Gosub...I'm having GW-Basic flashbacks...


D4NM4N(Posted 2011) [#71]
*shivers* at the 'G' words.

Wash your mouths out!

*goes to wash eyeballs and brain with soap*


Xaron(Posted 2011) [#72]
Will it be possible to use inline C++ like in BMax? Would be great!


Lazaruso(Posted 2011) [#73]
It would be great if there was a cure for stupid too.

Can't have everything!


Chroma(Posted 2011) [#74]
I'm wondering if we'll be putting functions in { } and ending lines in ; ...that would be cool.

Last edited 2011


Hotcakes(Posted 2011) [#75]
And starting each line with + and beginning comments with //\\***

Purrtty.


Chroma(Posted 2011) [#76]
Ok...we definitely NEED the "operator" command. So we can do the inline stuff.

Mark! My birthday is in about 2 months...cmon man!


BlackSp1der(Posted 2011) [#77]
sockets


taumel(Posted 2011) [#78]
Only made one test so far but from the few experiences...

1) monkey lacks consistency in the documentation and examples. So far the docs more look like a b-movie.

2) I expected monkey to be simple but in a few areas like math or that you can't set resolutions it's kind of extreme.

3) I like the icon, the colours and += instead of :+, i would like to see such language improvements in BlitzMax as well.

4) It's annoying having to choose each time your target platform, should be a prefs option (ask each time or use prefs settings).

5) Ordering the product sucked, i still have to deal with share-it.

6) May i ask which customer number i have?

So far i like it and wish you all the best with it. :O) Btw will new commands be integrated in mojo first or will there be other modules?

Last edited 2011


xlsior(Posted 2011) [#79]
3) I like the icon, the colours and += instead of :+, i would like to see such language improvements in BlitzMax as well.


The icon is nice, although the IDE file icon is a low res one, which looks crappy on a hi-res display. Easily fixed, but they really ought to follow Microsoft's design guidelines and include large size icons as well.

4) It's annoying having to choose each time your target platform, should be a prefs option (ask each time or use prefs settings).


Seconded.

6) May i ask which customer number i have?


Once you post something on the Monkey forum, your user ID # shows up if you hover over the hyperlink on your name, just like on the blitz forum.


xlsior(Posted 2011) [#80]
One thing that's different in Monkey than it is in the other blitz languages, is that there appears to be a mandatory name for the folder that contains the included data, like images.

If your main game file is mygame.monkey, the data folder apparently needs to be called mygame.data -- why is it necessary to repeat the <mygame> portion there, instead of just looking for 'data'?

Normally when I program something, I change my game filename <i>all the time</i> to store different versions as I go along. I may start with mygame, and end up with mygame23 at some point. With monkey, it appears I'll have to rename the data folder each time I save under a different name?


taumel(Posted 2011) [#81]
@xlsior
Thanks, i didn't knew that. Curse you share-it. I would have had a lower number only if...


xlsior(Posted 2011) [#82]
6) May i ask which customer number i have?


You're 38, in case you hadn't noticed.


taumel(Posted 2011) [#83]
Yep, well i at least was about 212 times faster than with BlitzMax, although this doesn't seem to be a fair comparison as BlitzMax started a lot later than the other products.


Xaron(Posted 2011) [#84]
I am #1. :)


taumel(Posted 2011) [#85]
Then there is a difference between the number shown on the forum and your customer number, in your case (#20 vs. #1). Maybe this number only indicates when you've registered the product.

In this case i still would like to know my customer number, if possible?!

Subtracting 19, if it works in the same order as you bought the product which i somehow doubt, from mine would make me #19.

Last edited 2011


therevills(Posted 2011) [#86]
It's annoying having to choose each time your target platform, should be a prefs option (ask each time or use prefs settings).


Yep that is annoying, but thats more about the IDE. Ive just got the beta version of JungleIDE and you set the target once, then just hit F5!

In Monkey you can still do dodgy syntax:

ball.x = 10 ball.y = 20


This compiles fine! I think I would have like a semi-colon in there...


Xaron(Posted 2011) [#87]
taumel, that probably means that there were 19 beta testers.


taumel(Posted 2011) [#88]
Maybe 18 plus Mark but it doesn't have to be this way, anyway back to work.

@therevills
As i wrote on the other forum there sadly is no OSX version of the JungleIDE.

Btw will there be a Linux version of monkey, via a easy download from the site, as well?


MikeHart(Posted 2011) [#89]
taumel, that probably means that there were 19 beta testers.


I was a beta tester an have no access to the forums there or got a full license. Have to buy it just like you... once I have the money for it.


Xaron(Posted 2011) [#90]
Uh really? I had the impression you get it as a gift or with a discount...