Unity Vs Monkey

Monkey Forums/Monkey Programming/Unity Vs Monkey

hardcoal(Posted 2012) [#1]
For making games.. can anyone tell me are there advantages
for Monkey over Unity.


Samah(Posted 2012) [#2]
Monkey is primarily for 2D games/applications, but you can develop 3D if you want with OpenGL. Monkey is a programming language.

Unity is primarily for 3D games, and it is a "Big Deal" to hack it for 2D. From what I've seen, Unity is a point and click 3D map editor with optional scripting.


hardcoal(Posted 2012) [#3]
I think you can do allot with Unity as well as 2D.
The scripting is very important in Unity.

I'm working both on monkey and unity to check the differences.


Soap(Posted 2012) [#4]
To make 2D games with Unity professionally you need to spend $5,000 minimum, and then another $400 or so for all of the third party things you need to license, and that much doesn't even get you source or as many platforms Monkey can target. Unless you are heavily planning to make 3D games the smart option is stick with Monkey. Unity is the best option for 3D development however! There was a temporary license posted for Ludum Dare you can use to try out Unity Pro for a few months: http://www.ludumdare.com/compo/2012/04/13/ludum-deals-for-ld23/


AdamRedwoods(Posted 2012) [#5]
Unity is very Impressive but I wouldn't compare it to monkey. Two different things in my opinion.


NoOdle(Posted 2012) [#6]
I tried Unity once... didn't get on with it at all. To many bloody text boxes, sliders and fields and not enough proper programming. It does seem very powerful and the games that come out look very professional but it is too expensive for me.


hardcoal(Posted 2012) [#7]
My friend and I are really going into Unity.
he is already making a game.

I will be glad to update in the future.

I started to understand how unity works.
It is powerful and making 2d games with it doesn't necessarily require purchasing new licenses. you just need to build it all by yourself.

anyway im going to stick with monkey at the same time since i agree.
for 2d games its the best.


AdamRedwoods(Posted 2012) [#8]
someone started a Unity target for monkey, I might add...


hardcoal(Posted 2012) [#9]
Interesting...


NoOdle(Posted 2012) [#10]
it was Beaker
http://www.monkeycoder.co.nz/Community/posts.php?topic=1987#19730


Leos(Posted 2012) [#11]
With Monkey you don't have to pay more than $1000 to get rid of that huge watermark advertising Unity3d in your games. But yes, Unity is still good for watermarked interpreted 3d apps.


Beaker(Posted 2012) [#12]
Unity target: started, finished and used. I just never had time to release it properly. It's amazing how much monkey has grown since I did that. It's gained GL and 3D. I can see monkey eventually overtaking Unity for a lot of my projects. Unity is great if you need high end features and effects, but I rarely need all that high end stuff, and Unity sometimes falls down on the more mundane but essential stuff - GUI & 2d comes to mind.

I've not had a proper look but I'm not sure it would be that easy to add the monkey GL commands to the Unity target. Unity just doesn't have all the necessary GL bits.

Monkey comparative pros (off the top of my head):
Much smaller app sizes.
Often faster.
HTML5 rocks.
Not so pricey.

Unity is good tho, particularly for 3D.


AdamRedwoods(Posted 2012) [#13]
unity-> flash, very impressive. makes me want to make a minib3d+flash target
http://unity3d.com/contest/flash-in-a-flash/


hardcoal(Posted 2012) [#14]
I'm still breaking my head trying to figure out what is the right framework
for managing a game.

Ive made function called Createobject(ObjectType,ObjectFileName)
this function check first in my media manager if the object is allready loaded. and if its not it loads it.

once you have an object on stage you can then execute functions over it.
for example..

RotateObject(AnObject)

when i want to make a complex object behaviour I use Class.
my engine runs all exsisting classes and objects so no problem here.
you can also delete an object and if its connected to a class it will delete the class as well.

the only main problem left for me is that i need a map editor.
a map editor cannot load classes or add functions while running.

and thats what i like in unity.

any ideas for me?

I also believe and do it once approach.
I means Im making functions that works over all types of object.
so RotateObject can apply on a polygon, an image or a mesh.


AdamRedwoods(Posted 2012) [#15]
Look at minib3d. TEntity is the base class for objects. Sprites, meshes, text all extend from it.

Unity is great but you may also want to look at things like gamesalad.


hardcoal(Posted 2012) [#16]
GameSalad is for mac. dont have that.
For now ill stick with monkey,blitzmax and Unity.

all i need is to learn whats the right way to do things.
there are no tutorials for that.
that you gain by experimenting and some luck


hardcoal(Posted 2012) [#17]
can anyone explain how TEntity works? and give a sample


NoOdle(Posted 2012) [#18]
Well it basically stores a list of children, a parent and a matrix along with fields for position, rotation etc. There are methods to control the instance of TEntity like position, move, rotate. The instance fields are updated and then it takes into account the parent and global/local space; copying/overwriting/updating its matrix. The children are then updated based on their parents new matrix. TEntity is the base class for which new Entities can be extended from, providing the core functionality of an entity.


hardcoal(Posted 2012) [#19]
nice noodle. did you copy this text .) or you are just talented in self explanatory.
Ill experiment on that abit but if you have a short example it will be useful for all.


any way another thing about unity.
in its basic shape it is free. also for commercial PC/Mac use.
so its not so bad.


NoOdle(Posted 2012) [#20]
nice noodle. did you copy this text .) or you are just talented in self explanatory.

I guess I'm talented in self explanatory... although I'm not sure I agree!

Ill experiment on that abit but if you have a short example it will be useful for all.

I haven't actually created anything with minib3d yet, its on my list of things to play with. Initially though you shouldn't need to mess with the TEntity code, you can play around creating lights and meshes to see how it all works, the example demos should give you an idea on how to do that.

What are you planning to do with TEntity? Its hard to give better advice without having a better idea of what you want to achieve.


hardcoal(Posted 2012) [#21]
Im building a general engine for my projects.
each object gets a Class of parameters.
It also have in its parameters parent and childs
but i dont know if TEntities has advantages over my way of working.
and i always want to work in the best way I can.

The quastion is, is TEntity is just like a premade class or does it have
its own special commands?

where can i see TEntity Example Code?
It can also be a blitzmax code. doesnt matter.


AdamRedwoods(Posted 2012) [#22]
"TEntity" is an abstract idea, but there's actual code for it in miniB3D.

If you are only working in 2D, you could create your own Entity Class and use TEntity as an example.
I think what you are looking for is an actual framework, which you can try to find in the code section of the forums or try fantomEngine:
http://code.google.com/p/fantomengine/wiki/Classes


hardcoal(Posted 2012) [#23]
tnx adam.
yea but im building my own framework. i dont know if its good like others
but who knows..

but i believe the framework that im working on will suite my needs
If ill manage to get it right.


Armitage1982(Posted 2012) [#24]
I was also wondering if Unity was good for 2D games.
In fact, it doesn't miss a lot of tools for that purpose.

There is a few very impressive 2D games using Unity3D like for ex. So Many Me : http://somanyme.tumblr.com/

But currently it's still a bit of hacking a 3D engine to do 2D. Not extremely hard just impractical. I've read on their unity3D blog 2 years ago they were working on a 2D framework but obviously it was forgotten.

Many speak about the license price but sincerely if your goal in life is to make video games a living I would be ready to pay at least 500$ for a full fledged modern 2D game engine. At least !

The thing is there simply no such engine out there. You have to make it yourself which takes time, knowledge and many trial and errors before reaching at least 50% of your wished features.

I would like to move on and port my current game engine to Monkey but I'm not interested in HTML5 at all, know very little of C++/C# to take risks with GLWF or .Net.
So currently I'm sticking with BlitzMax and maybe start using plain OpenGL soon to replace Max2D and start using some modern technology. But I already know the road will be long. So yeah, if an incredible 2D game engine was available for around 500$ I would probably jump on it... Twice if I could use it with BlitzMax :D


hardcoal(Posted 2012) [#25]
There is an extension costs 65$ and you get a good 2d support.
with Free unity and 65$ you can do it.

I dont know how many here have really got into unity.
in the begining it can be comfusing but its really one of the best
frameworks Ive ever encountered.


Armitage1982(Posted 2012) [#26]
The extension isn't 2D Toolkit ?
http://www.unikronsoftware.com/2dtoolkit/

There is also ex2D : http://www.ex-dev.com/ex2d/

And probably a few others but it's not what you can call a specific tool assisted framework for 2D game engine.

Sure it help you to create sprites and all but it is limited to that specific task.

One of the most featured 2D Game engine available I think is cocos2D (http://www.cocos2d-iphone.org/ & http://www.cocos2d-x.org/ ).

You could probably achieve great things too with the Clanlib toolkit ( http://clanlib.org ) but it's not working under Mac Os currently and it's C++.

If Unity3D was making 2D oriented tools and API I would use it right now!

But see, with a bit of training you can potentially create something like this : http://youtu.be/2JBIfiDrv64?hd=1


Amon(Posted 2012) [#27]
I own Unity Pro 3.5 with the Android|IOS Basic licenses. The only reason I kept going back to Blitz or Monkey was because of the 2D capabilities. I now own the 2D toolkit for unity and it's pretty badass.

It does everything you need for making a 2D game.

Sorry to say this but Unity is pretty much kicking ass all over the gaf. :)


Samah(Posted 2012) [#28]
I now own the 2D toolkit for unity and it's pretty badass.

Liiiiinnnnkkk! :)


Xaron(Posted 2012) [#29]
Instead of using Unity I'd prefer to wait for Leadwerks3d. ;) I think it will be a MUCH better way to do 3d stuff.


hardcoal(Posted 2012) [#30]
Xaron did you really try unity or just gave it a snap?

I want monkey and blitz max because I like total control

unity script editor is lame

Amon. how is the 2d kit I wonder..

Its really hard not to be impressed from unity easy of use
once you get it.
again.. only its lame editor is its downside.


Xaron(Posted 2012) [#31]
I just gave it a snap but didn't like it. I'm more a programmer not the editor guy. ;) I just like full control.


hardcoal(Posted 2012) [#32]
lol xaron, thats what i thougt at first place as well. it was 2 years ago.
but you do get almost full control when you get into the code.

but its not the same.
if you are only a game creator then maybe unity is for you.
but if you are a developer. you need something else.

im building my own database and my own editor.
and more.. and i love it!

If you want to be a good programmer you must practice low level coding.
the you can do what ever you like.


Xaron(Posted 2012) [#33]
Hehe... second thing is that it's way beyond my budget. $800 for the basic versions (both Android and iPhone) is just too much for me.

I'm fine with Monkey and minib3d at the moment and might switch to Leadwerks later.


hardcoal(Posted 2012) [#34]
you can still do everything in the free version.
only purchess it if you want to target android etc..

you can sell commercial apps for Win and Mac...


Xaron(Posted 2012) [#35]
And as I want to target Android and iPhone I'd have to buy it so no, won't do that as there are better solutions for my needs out there. :)


Amon(Posted 2012) [#36]
2D Toolkit : http://forum.unity3d.com/threads/93287-2D-Toolkit-2D-in-Unity-made-simple-RELEASED

I'd like to add that Unity is not a point and click thingymigiggywagga. <<

The IDE basically allows you to place objects, setup scenes, attach your scripts etc. It is basically designed to save as much time as possible when it comes to placing 3d objects so that you can get down to coding.


AdamRedwoods(Posted 2012) [#37]
I thought about creating a scene builder for minib3d, and also thought about using Ogitor (the Ogre3d scene builder). I'm still undecided.


zoqfotpik(Posted 2012) [#38]
I've done some work with Unity. My opinion of it is that it's a crutch for people who can't program.

That said, you can make some extremely impressive stuff with it, like that game Interstellar Marines which is basically a bog standard FPS but I had fun with it.


hardcoal(Posted 2012) [#39]
you should know how to program if you really want to get something different
then the standard games from unity


Armitage1982(Posted 2012) [#40]
On the bad side, I discover today that the Unity3D Player wasn't available under Linux!

A Linux Player is planned since more than 7 years now...

Around 30% of my users are Linux based. They are generally very skilled and supportive. Even if it's not the easiest platform to support, this is a rather disappointing news. They are inherently more indie than the others...

Would be awesome if Monkey could use third party C++ Libraries easily :(


Martian Watts(Posted 2012) [#41]
You need to compare apples with apples and oranges with oranges.

I love the both technologies, I'm making videogames on both techs and each one is awesome.

We use Monkey for 2d games, gameplay prototypes, experiments techs.
We use Unity for 3d games, virtual tours.

Monkey is awesome for small/medium projects, unity for medium large projects.

I think you need to compare Monkey with Corona, GameSalad, Cocos, Moai... Etc
And unity with blitz max, unreal, shiva3d, c4, etc


zoqfotpik(Posted 2012) [#42]
How is Unity anything like blitzmax?


hardcoal(Posted 2012) [#43]
nope. unity mainly is built from two parts.
a 3d interface for building maps
and a script editor.

whats good in unity is that it saves you allot preparations
and takes you straight into business..

you can do anything with it including 2D Scrolling games.
by turning off the Z vector.
by playing with the Camera Zoom you can get a 2D looks using Meshes btw.

(and also to everyone! when I at least say 2d games It dont mean necessarily to the use Images. I consider 2D games as anything that scrolls on X Y vects only. use 3D graphics and the only difference is that you get a much better looking game then using Images! I don't see
much place for making real 2D games today
beside maybe memory save and retro look..
maybe other reasons as well)

starting with unity is easy in the basic level
but you must work hard in genral to be a good programmer and use it well.

blitzmax is a great tool if not the best (to my opinion) for a beginning programmer and also its a tool for application developing as well.
Monkey is really to my opinion a replacement for blitzmax in the future.
I reccomand you to use blitzmax/monkey and unity along as i do.


hardcoal(Posted 2012) [#44]
to anyone who uses blitzmax i recommended to use xors3d along.
its easy and similar to blitz3d and also it has albalynx greate gui
that supports also 3d gui effects.

cheers