Monkey or Unity ?

Community Forums/Monkey Talk/Monkey or Unity ?

MGE(Posted 2011) [#1]
Unity is going to support Flash Molehill (hardware 3d api) and it compiles to pc, flash, ios, etc, etc, as well. Anyone have any realistic pros/cons in regards to choosing one over the other? Thx.


Canardian(Posted 2011) [#2]
Unity sucks, Monkey rocks. I think that's the final conclusion if you try both long enough.


Xaron(Posted 2011) [#3]
LOL.

If you are able to pay several thousands of dollars I think you can go with unity.


taumel(Posted 2011) [#4]
I use both for different reasons. The ultimate tool would be a mix of both.


Canardian(Posted 2011) [#5]
Monkey with LE3 target will be something like that. Since LE2 already supports all languages, Monkey is a must to have also as a language for LE3.


taumel(Posted 2011) [#6]
Btw any info if the LE guy wants to support monkey?


Canardian(Posted 2011) [#7]
I will, and I have the full source code of LE, so I can do it also, and I'm very motivated to do it also, since I love Monkey, I love it much more than I ever loved BlitzMax :)

And I think the business case here is that LE needs an easy BASIC OOP language, and Monkey is just that.

All the additional languages in LE have been made by the LE community, Leadwerks itself just showed an example how to do it in C (because it's a neutral and very portable procedural language). The C++, C#, Java, Pascal, Delphi, PureBasic, etc... languages are all made by the LE community, and they are also supported officially. It's somekind of collaboration thing between Leadwerks and the community.

Last edited 2011


Beaker(Posted 2011) [#8]
I use Unity and Monkey.

Unity pros:
3D support.
Lots of platforms.

Unity cons:
Poor 2D support.
Large runtime files!
Expensive.
Lots of missing features considering the cost.
Closed architecture.


Monkey pros:
Nice & easy 2D support.
HTML5/Flash support (and the rest).
Open architecture.
Small runtime file size.
Native intermediate code.
Inexpensive.

Monkey cons:
Limited libraries (currently).
Limited support for native platform features (currently).


Gives you an idea at least.


Canardian(Posted 2011) [#9]
You forgot the two most show stopping features of Unity, which made me also never buy Unity, although I have bought about every other engine on the market: No full shadows (all Unity screenshots are missing half of the shadows) and no C++ support (and the fact that the engine is programmed in C# makes me just puke).

Last edited 2011


taumel(Posted 2011) [#10]
You can do shadows in Unity but they kind of suck. I guess it will take some more time until they rewrite those. Anyway to be fair Unity's pro list is a little bit longer than what Beaker wrote, fmod, physX (still not fully exposed), open architecture of the editor, workflow, some really cool functions, TTF support, ...

Last edited 2011


Beaker(Posted 2011) [#11]
Neither of those things seem like show stoppers to me.

I'm not bothered with realism in games so I couldn't care less about shadows, as long as they work mostly.

I like C#. C++ would be a step backwards in my opinion.


Beaker(Posted 2011) [#12]
You mention TTF support. It is nice that you can drop in normal fonts, but beyond that font support isn't that great.

I admit Unity has a lot of great stuff that I didn't mention, physics being one of them, the editor being the other (although that can also be a hindrance sometimes).

They are different beasts, and I will definitely be using both.


Yasha(Posted 2011) [#13]
.
EDIT: Deleted because it wasn't a constructive contribution.

Last edited 2011


Canardian(Posted 2011) [#14]
C++ is the best language, and Monkey is a RAD language to produce C++ code (and it's even better: it also produces JavaScript, Flash, ActionScript, etc...). You can't use C instead of C++ in complex applications, because C++ is designed to be C for complex applications. It's just as fast as C, since no human can optimize their code in C to match the C++ compiler optimizations. The same is exactly why C was developed: no human can optimize assembler code in the way how a C compiler optimizes it. C# was made up by Microsoft who don't care anything about elegancy or technology, they just want to rip the money from people. And the C# language was developed for people who make everything wrong all the time, that's why it's a managed language with garbage collection, and the end user has to suffer from the bloatedness and slowness of applications because the developer was not skilled enough and/or chose the wrong language. I don't support that principle, so I don't support C#.

Last edited 2011


Gabriel(Posted 2011) [#15]
C++ is the best language

That's a Pro for Unity then, as the Unity engine was written entirely in C++.

Monkey is a RAD language to produce C++ code

Really? Flash compiles C++ now? HTML5 inlines C++. does it? It creates iOS applications which don't use Objective C, does it? I guess it must create Android applications which don't use Java too? I always learn a lot of new things when you're around.

no human can optimize their code in C to match the C++ compiler optimizations

So which C++ compilers are these which don't compile C as well?

The same is exactly why C was developed

You should email Dennis Ritchie and let him know.

C# was made up by Microsoft

And you should definitely email Borland with that tidbit. They need a good laugh.

Last edited 2011


Canardian(Posted 2011) [#16]
If Unity was written in C++ (which it is not), how come there is no C++ support, but only C# support?


Yasha(Posted 2011) [#17]
Garbage collection is almost as fast as manual memory management for most practical purposes and is faster in an increasing number of cases. As time goes by and technology improves it is a given that garbage collection will become the faster solution in the future, just as C compilers can now produce better assembly than humans.

And that's ignoring the idiotic idea that there's anything "elegant" about having to manage your own resources. Elegance = simplicity. The higher the level of abstraction, the more elegant the code. Elegant code is short code. C++ is even more verbose than C!

(I'm a Lisp user. Feel free to ignore everything I say on this topic.)

Last edited 2011


Canardian(Posted 2011) [#18]
Elegance is simplicity + efficiency. And it's not very efficient to have a slow performing program because garbage collections happens randomly in the most time critical places. There is absolutely no need for garbage collection when the language has scopes, like C++ has. Everything is freed immediately and from the stack, not from the heap only. The stack is about 4-20 times faster than the heap memory, and only C/C++ supports the stack memory.

Last edited 2011


Gabriel(Posted 2011) [#19]
which it is not

It is, and the lead developer has said so publicly on many occasions.

how come there is no C++ support, but only C# support?

There isn't only C# support. It supports UnityScript, C# and Boo. They were working on C++ support last year, but it's very low priority since Apple's TOS changed because hardly anyone programs games in C++ any more. Game engines (like Unity) are still written in C++, but most games are written in more productive languages like C#, Python (of which Boo is a variant) and Lua. I suspect Lua support would have a lot more support.


Gabriel(Posted 2011) [#20]
and only C++ supports the stack memory.

Send that one to.. uh, just about everyone you can find. It's too good not to share.


Canardian(Posted 2011) [#21]
Well here is a nice article how for example C# does not really support the stack memory: http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx?ArticleID=9adb0e3c-b3f6-40b5-98b5-413b6d348b91


Yasha(Posted 2011) [#22]
garbage collections happens randomly in the most time critical places


That's not an attribute of garbage collection, that's an attribute of poorly implemented garbage collectors. Not even BlitzMax has that problem (reference-counted garbage collection is deterministic in its time), although it trades it in for not being able to handle circular references properly (last time I checked, anyway... easier to ignore the issue).

A well-written, hypothetical future garbage collector will eventually be able to do everything you can do in C++ with RAII, but without you having to write anything out.

Meanwhile, I very much doubt that the performance gains of everyday high-level application code is ever going to make up for the time lost in making sure your C++ is properly written and optimised to perform to the theoretical level. 3D engines, maybe.

Last edited 2011


Canardian(Posted 2011) [#23]
Every business application needs maximum speed also, not only 3D games. Look for example at SharePoint, which is slow (and on top of that buggy) like hell, and there's nothing you can do about it, except to upgrade to LAMP or Domino.


GIB3D(Posted 2011) [#24]
I've been using Unity3D for a few months and I'm loving it. But a few things I wish they would add is..

1. Sprites (Particles are sprites but I don't think they are proper sprites)
2. Infinite Mesh Plane

PhysX stuff
In the PhysX Wrapper for Blitz3D these two things were supported but Unity doesn't use them.
3. Cylinder Collider
4. Infinite Physics Plane


Winni(Posted 2011) [#25]
Every business application needs maximum speed also, not only 3D games. Look for example at SharePoint, which is slow (and on top of that buggy) like hell, and there's nothing you can do about it, except to upgrade to LAMP


And "upgrading" to LAMP improves Sharepoint how exactly? By NOT being able to run a solution that can even remotely compete with the features that Sharepoint offers?

I've been trying USABLE alternatives to Sharepoint since 2005, and there still are NONE, and that's especially true for all those Open Source products that try to compete with Microsoft on that turf. Microsoft leads this market for a simple reason: They're the only ones who actually UNDERSTOOD what businesses wanted and who came up with a working product that matches those needs.

And your statements about C#... Maybe you should read up on Anders Hejlsberg before you doom this language that "Microsoft made up".

http://en.wikipedia.org/wiki/Anders_Hejlsberg


Canardian(Posted 2011) [#26]
SharePoint has some "out-of-the-box" templates, but in the end they turn out to be completely useless when the business wants more features. Then it would have been much faster to do the whole app from scratch with LAMP, and even at any point, since all time and money invested into SharePoint is guaranteed lost money. Domino is much more RAD than LAMP though, but I like both. I just wait for the day when some VIP customer asks, can this run on Linux/PowerPC also? LOL Microsoft :)

As as proof of concept, I upgraded a SharePoint app into a Domino app in about 2 days. While the SharePoint app had been developed for 6 months, and it just didn't work, too many bugs, too many impossible demands from the business. All demands, which can be easily done in Domino.

If you are a business database developer, and you like BlitzMax or Monkey, you will just LOVE LotusScript, which is the server based language of Domino.

About this danish freak: "In 1996, Hejlsberg left Borland and joined Microsoft." Yeah, thanks but not thanks :)

Last edited 2011


MGE(Posted 2011) [#27]
whoah.....good comments. Thank you very much.


gameproducer(Posted 2011) [#28]
To add my cat in the bag:

First: I'd love to see Monkey + Leadwerks 3 (if LE3 will also have Open GL 2.1 aka "works also low end computers (valve's source type of gfx quality)". That would be close to ideal for me (well, Monkey is missing few crucial things for my needs but still).

Now, to answer to the question, Unity or Monkey. My thinking is:
- Unity, if you want 3D (and don't mind the way Unity is coded). Unity has free version too so you can test it out and see it yourself.
- Monkey, if you want 2D (and especially if you like Blitz/basic type of syntax/way of doing things)

Also, it's worth considering:
- BlitzMax (for 2D, if you want more features - but less porting - than Monkey can offer)
- Leadwerks (for 3D, although it comes with a cost: right now it doesn't work on low end computers, you must have a pretty decent Graphics card. For example, all laptops cannot handle it, but all laptops can handle bmax, monkey, unity)

The thing is, there's always "I'd want to see feature A, B and C and then it would be perfect". That will never stop. What one must think that which features are ABSOLUTELY REQUIRED, and draw a line there. First write down what type of game you want to do, how much money you are willing to put to buying engine, how much time learning to use it and so on.

So, saying "which tool to choose: Unity or Monkey" depends what you feel are important. For example, it could be said that "3D" is a good thing, but if you want to do 2D, then actually Unity's "3D" is not so useful.


Yasha(Posted 2011) [#29]
right now it doesn't work on low end computers


Is there any actual plan to change this? Last I checked, Josh had no interest whatsoever in supporting anything lower than it does already. I think by his definitions it does support low-end computers, and anyone wanting to run it on anything lower needs to seriously re-assess their priorities.

It's a sensible point of view, by the way. How much of a good argument can be made for extendind an engine to give a pale imitation of itself on hardware that's utterly incapable of actually drawing with it? Said low-end machines would never be able to handle complex scenes anyway... to look at it from another angle, any program that can run on a low-end machine isn't an appropriate program to be developing in LE.


taumel(Posted 2011) [#30]
The focus is a completely different one.

.mainstream
Unity is about money, big business and effects for the masses. Therefore Unity will do whatever is needed to succeed in these areas. If a certain graphical feature is hip, it will be in Unity. If a bigger clients needs or a majority of the users want certain enhancements, they will be done. What you won't get this much is love to detail in areas which make sense but which aren't backed up by many users or aspects they just don't understand, like the joy of a beautiful language. Seriously they aren't tasteful enough to care about it. It took them more than five years to finally come up with an OnDestroy event or better array support in Unityscript.

.features
Unity today is a feature monster and it will continue to grow in this area. The good thing is that if you're more mainstream minded you'll be very happy. If you're more selective and beside of the mainstream it can happen that you don't need 70% of Unity's features whilst you will be waiting for years to get those 30% you badly want, did i say softbodies?

.bugs
Compared to others tools from the gamedev corner Unity is one of the more professional tools which you can still afford but it's also not as professional like many more serious applications. There are still tons of bugs inside Unity and they don't squish them all. If you aren't important to them and can't properly reproduce an error, it's of no interest to them, sometimes it even is if you can. They prefer fixing those which they can find easily. Only in cases where it turns out to be a showstopper they take care of it. Otherwise they lurk around in Unity. And Unity isn't even responsible for all of those bugs as many are inside the middlewares Unity uses.

.filesize
For the web Unity can, and once Allegorithmic's baby will be integrated, produce the smallest files available on the web. Once you have the plugin installed there is no better way to deliver your content but due to all the Mono components and so on, files distributed for iOS/Android or computer systems come with this typical MB bigpack on top. You can't produce small apps with Unity for these devices. No issue if your assets exceed those MBs with ease but it is an issue if you have to deliver lightweight apps.

.pricing
Unity wants you to get familiar with the product and buy Pro. That's the core of their business strategy, getting $1500 (plus 25% taxes) from you. From there on you can buy your way to other platforms for another hundreds (limited splash screen Indie) to thousands of dollars (full pro). The pricing for consoles isn't officially available. And this isn't a lifetime licence, so you need to renew these licences for every major version. Depending on how many platforms or licences you own this can get quite costy. On the other side they also add features very quickly. Obviously there also exists the Indie version but due to the limitations and if you're coming from a generous liecence like BlitzMax, chances exist that you won't like it.

.unity
Now beside of this tasteless greedy money sucking bug monster i described, Unity can be a lot of fun as well because as i wrote above compared to many other gamedev tools, it's still quite professional and many things work which aren't available or even more buggier in other tools. If you can ignore the ugly way to code then Unity has a lot to offer as well. The editor is extremely customiseable, Unity can deal with many formats, you can play around with shaders, you have a good 3d engine, physX, fmod, ... Whilst all components aren't perfectly integrated, you'll always find something to like and something to hate Unity for. Unity just isn't, let's do 10 things and let's do them right, that's Mark in my opinion. Unity is, let's do 100 things half baked and improve 70% of them over time. Still the best 3d app i own these days.

.2D
Now whilst it's known that 3D is their real baby, Unity will in its V3 product cycle also introduce a 2D engine, i guess sometime later this year.

.monkey
I already love my monkey! I won't give it away. :O) I think it's safe to say that this is the best application i purchased in 2011. But then again i'm not mainstream as well. As a sidenote, i haven't played a single really convincing Unity game so far. Obviously i don't question Unity's capability to be able to but for some strange reason it hasn't happened yet but i'm sure some day it will happen.

Last edited 2011

Last edited 2011


Xaron(Posted 2011) [#31]
Well said, taumel.


ErikT(Posted 2011) [#32]
Agree with taumel, except he forgot to mention the rabid fanboys roaming the UT forums. They will take it very personally if you talk bad about anything Unity-related, including UT business practices. But if the community makes no difference to you then no biggie I guess.

Last edited 2011


taumel(Posted 2011) [#33]
Yep but believe me they were a lot more annoying in the beginning when Unity was OSX only, that was ultra.


ErikT(Posted 2011) [#34]
Hehe, dang! They were like the Kool-aid squad last I checked :P


taumel(Posted 2011) [#35]
Couldn't monkey also feed Unity?


ImaginaryHuman(Posted 2011) [#36]
I will vouch for Unity here.

I was a big fan of BlitzMax and still am, but times have been changing. Not to diss it at all, it's pretty nice at doing what it can do. It probably is still better at 2D than Unity is, out of the box. But because it has a 2D pipeline it has always been struggling with 3D in which Unity shines.

Monkey looks quite nice, again for 2D, and it's neat how it can now get things to run on other platforms, and is cheaper than Unity for getting stuff onto the handhelds. But then it is missing so much that Unity offers.

The Unity editor is pretty nice, programming in Unity Script is not quite as nice as in Blitz but still pretty straightforward. The Unity documentation is far superior as is their all-round level of support. Their tutorial projects are excellent. They have their own yearly conference and show up in various other events. You can get games onto closed platforms through their Union program and they're constantly looking to add new platforms to their already wide selection.

They now have over 100 employees working on it and have experienced massive expansion in a short time. AND they care about proper promotion and marketing! The software supports 3D very well including shaders and deferred rendering and rendering to textures and shadows and lighting and physics and all that good stuff. The editor makes it easy to do things like creating terrains and focussing on the game design rather than programming, which can be a major drawback with Blitz - so much more has to be written by hand. Unity is a real time saver. Like Unity claims, they really do take a lot of the pain out of development.

At the moment, overall, I think Monkey/BMX have more of a handle on 2D and Unity is more focussed on 3D but there's some crossover for both of them.


taumel(Posted 2011) [#37]
I don't think that their documentation is superior, they have their weak spots, missing examples and broken links as well. Neither do i think that their tutorials are good and cover what you need to know to use Unity in a reasonable and effective way. There isn't any documentation on the coding languages. The once promised brick by brick video material is still missing. Easy exchange of the projects can be an issue.

Unity can take away a lot of what you otherwise would have to code on your own but this only is a benefit if you also need those features. Secondly after doing quite some projects in Unity i also think that you aren't saving this much time because on one side you save some time but on the other side you're spending more time on aspects which you otherwise wouldn't care about. And you can see this in the projects done with Unity. If properly done they all shine on certain aspects but boy do many of them lack in gameplay and design. Unity so far breeds exactly the games many of us were sick of by the big boys. And the best part is that those who were moaning about how the industry sucked are stepping into exactly those footsteps and they either don't care as they feel that they are now a part of it or they don't even recognise it.

And regarding the marketing that's true but this is a two sided sword as on one side this can open you some doors but on the other side you'll have to tolerate the same marketing crap on yourself when they are selling the highly anticipated whatever as gold to you. Unity for my personal taste is too much business, the founders, the company and a certain percentage of their user base. Now Mark could use some more marketing but hey better no signal on TV than a selling show 24 hours a day.

Last edited 2011


AdamRedwoods(Posted 2011) [#38]
Design the game first, then see which application fits the design's needs.

...unless you're just messing around, then Monkey FTW!


D4NM4N(Posted 2011) [#39]
C++ is the best language, and Monkey is a RAD language to produce C++ code (and it's even better: it also produces JavaScript, Flash, ActionScript, etc...). You can't use C instead of C++ in complex applications, because C++ is designed to be C for complex applications. It's just as fast as C, since no human can optimize their code in C to match the C++ compiler optimizations. The same is exactly why C was developed: no human can optimize assembler code in the way how a C compiler optimizes it. C# was made up by Microsoft who don't care anything about elegancy or technology, they just want to rip the money from people. And the C# language was developed for people who make everything wrong all the time, that's why it's a managed language with garbage collection, and the end user has to suffer from the bloatedness and slowness of applications because the developer was not skilled enough and/or chose the wrong language. I don't support that principle, so I don't support C#.

I completely disagree. C# is actually a language hybrid made up of mostly refined Java standards. Originally developed by MS, nowadays "C#" is a cross platform and ISO standard, and the language & .net's core standards are no longer controlled by MS at all. Plus it is not a case of people programming wrongly, it's a case of next generation programmers wanting to get stuff done quickly, reliably and cost effectively. If C# was still only in MS's camp i might agree, but with the open source implementations it has made it much more attractive.
I have said it before and i will say it again, if your core processing bits (eg 3d engine etc..) are written in C++ (which in this day and age is what it is best and good for) then who cares what you code with?
Writing ENTIRE apps in C++ is becomming as pointless as programming in pure ASM.

Last edited 2011


Canardian(Posted 2011) [#40]
Yes, but Java is even worse than C#, or both are worse than eachother.
There are over 350 programming languages in the world, and only Java and C# suck.


Yasha(Posted 2011) [#41]
There are over 350 programming languages in the world, and only Java and C# suck.


There are tens of thousands of programming languages in the world, and many far worse than Java (go look up MUMPS if you want to suffer minor brain damage).

Both of them are just plain better than C++ though, because C++ is a flat-out poorly-designed language. For the reasoning behind that statement, see here: http://yosefk.com/c++fqa
(Take the time to read the whole thing, it's quite worthwhile).

The speed of the compiled binaries is really the only advantage C++ has over C# - the code is always going to be buggier on average because the language simply isn't able to help you as much, and in some cases actively works against you. And as I said above, if speed is what you want, you should seriously consider using C instead.

Last edited 2011


Gabriel(Posted 2011) [#42]
Couldn't monkey also feed Unity?

Couldn't help thinking of Grampa Simpson when I read this.

This monkey's gonna change my life...mmmm, I can't wait to eat that monkey!



taumel(Posted 2011) [#43]
@Gabriel
?


gameproducer(Posted 2011) [#44]
"There are over 350 programming languages in the world, and only Java and C# suck."

*cough* Minecraft *cough* ;)

Anyway... once again. Personal preferences & needs would be good to hear. Unity = 3D, Monkey = 2D.

(and don't forget Leadwerks for 3D + blitzmax)


ziggy(Posted 2011) [#45]
There are over 350 programming languages in the world, and only Java and C# suck.
Yes, that's why nobody uses C# this days.


Canardian(Posted 2011) [#46]
There is a huge lack of good programmers, as I read in the news. I think nobody wants Java and C# programmers, and they look for C++ programmers :)


Yasha(Posted 2011) [#47]
nobody wants Java and C# programmers


I think this has a lot to do with the fact that people who only know Java have a reputation for being terrible programmers who don't actually understand what they're doing; whereas you have to have a few more brain cells in order to get working results out of C++. That's still not a good feature for C++, any more than a workplace with swinging blades and spike pits is a good workplace because the employees will have quicker reflexes.

It's also a misleading first premise. Looking for a C++ programmer for most applications is just as likely to mean the hiring team have their priorities wrong; the pressure of conformity means C++ is used in a lot of places it shouldn't be (to my tastes, that would be "everywhere"). The vast majority of business applications need to be reliable rather than fast (and there are other options for speed: C, D, Objective-C, OCaml, and Haskell all have implementations offering excellent performance).


Hotshot2005(Posted 2011) [#48]
UNITY 3D is more like 3D Level Editor where you put Building and stuff.... it not good as I thought It would be


taumel(Posted 2011) [#49]
For the 32671 times, that's wrong, most parts in Unity can be accessed by script as well, it just comes with a comfy editor on top which you don't have to use but which can make things a lot easier.


Gabriel(Posted 2011) [#50]
@Gabriel
?

This is going to be an anti-climax. I was just reminded when you talked of Unity being fed with a Monkey that Grampa Simpson also wanted to be fed with a Monkey.

For the 32671 times, that's wrong, most parts in Unity can be accessed by script as well, it just comes with a comfy editor on top which you don't have to use but which can make things a lot easier.

Yeah, good luck with that. I gave up even trying to explain to people. I think people are just so used to using hacked together third party tools for everything that they don't know what they've got when they have a professional tool. I'm inclined to think they'd say the same thing about Unreal Engine and the UDK.


Canardian(Posted 2011) [#51]
A good game engine is command line based, UI's kill all automation.


taumel(Posted 2011) [#52]
Hey, i have a good game engine for you...



Last edited 2011


D4NM4N(Posted 2011) [#53]
I think nobody wants Java and C# programmers, and they look for C++ programmers :)
LOL! What planet are you on :O

In sweden almost all the programming jobs are either .Net, Java and for scripting languages like PHP, Ruby, Python etc... The ones that ask for C++ usually want it for doing lower level hardware/driver stuff or have some other good reason for using it, (and usually ask for something else as well). Games houses usually ask for C++ too, but much of the time they already have their engine team so ask for scripters who dont go near the C++.

In fact there are probably more jobs going in Java and OBJ-C right now than anything else because of the iPhone and Android. The papers are full of them. (.net is asked for a lot too (C#/VB) for desktop apps and web development, and will probably be asked for a lot more when/if Nokia and MS's mutated love child spawns... and when/if Monodroid/Monotouch (C# for ios and android) gets going)

Employers want fast results where application development is concerned, and this is usually preferable over a few Milliseconds of extra speed.

Last edited 2011


CodeGit(Posted 2011) [#54]
LOL.

Last edited 2011


Naughty Alien(Posted 2011) [#55]
..its rather interesting watching folks arguing about game engines/languages...some things really never change.. :)


Chroma(Posted 2011) [#56]
Java is a really cool language. I actually like it. It's like what C and C++ should have been.

/duck and run


Winni(Posted 2011) [#57]
Java is a really cool language. I actually like it. It's like what C and C++ should have been.

/duck and run


Yes, and C# is what Java should have been.

/whistles and walks slowly away with a fat grin on his face


Chroma(Posted 2011) [#58]
In that case they should have called it C Flat...

/runs like hell


Winni(Posted 2011) [#59]
Or C Minor?

/still wonders why we keep discussing those ugly curly braces languages on a BASIC forum


taumel(Posted 2011) [#60]
There was a time when Basic was actually cool!



Last edited 2011


slenkar(Posted 2011) [#61]
programming basic with a paddle.....doesnt sound cool


taumel(Posted 2011) [#62]
Plural!


D4NM4N(Posted 2011) [#63]
um.. Triural !


Alberto(Posted 2011) [#64]
I see that many people still assume that 2d and 3d engines must be different technologies
That's was true in the past
For example XNA is still using terms such as "sprite" etc but as a matter of fact it renders a texture on a flat cube
In other words also the 2d xna games are actually 3d games
This is also the way Unity makes 2d
It is the modern way


taumel(Posted 2011) [#65]
This is, let's just say, wrong.

Hardware since quite some time is based on triangles and therefore all sprites are based on planes (two triangles) not cubes.

Unity does not offer a 2D engine, speaking of batching, ordering, collisions, animations, physics, etc. all those things a 2D engine normally does for you. What Unity offers like almost any other 3D engine out there is a orthogonal camera mode with which you can implement you own 2d engine.

So, can you do a 2D game in Unity? Yes. Can you use commands or a 2D engine which helps you doing so? No. Best you can do beside of writing all this on your own is to buy some third party extension for Unity which does that for you to some degree. But as written a few times before a 2D engine for Unity has been announced, whatever that means exactly.


Alberto(Posted 2011) [#66]
As far as XNA is concerned , I dont know exactly how it works but the point is that sprites are not dierctly drawn on the screen, they are mapped on 3d objects (may be not cubes , a I said )same as they were textures
In other words there is one only engine both for 2d and 3d games even though XNA use terms such as "spriteBatch" probably because end users are familiar with traditional 2d engines

The advantages in my opinion are evident
You can use cameras, collision , physics also in 2d

Unity must for sure improve its 2d feature but the traditional "sprite based " 2d engines have no future

Last edited 2011


dynaman(Posted 2011) [#67]
> programming basic with a paddle.....doesnt sound cool

It was not, I think it was also limited to 26 variables and a very limited number of arrays. I bought that cartridge for a $1 in the bargain bin, I still want my dollar back...


taumel(Posted 2011) [#68]
@Alberto
I don't know when the last time was i used a sprite which wasn't based on a two triangle textured plane. I mean of course it works this way as that's how the gfx cards work...uhm...that's a little bit like if you would be saying dinosaurs have no future, of course they don't have, they already died.

Why you can use collisions and physics especially in 2d based on triangles is a little bit beyond me because if needed you could deliver such information for each more traditional sprite as well.

We'll see how long poly driven hardware is the future and when more volume based concepts will be the alternative.


Alberto(Posted 2011) [#69]
Well maybe I misusunderstood your post
When I read

"Unity does not offer a 2D engine, speaking of batching, ordering, collisions, animations, physics, etc. all those things a 2D engine normally does for you"

I thought, why not ? The direct opposite
Take collision for example

If you map a texture on a flat polygon than you can make use of the 3d collision system even in a 2d game
Not to mention scene scrolling, physics, particle animation , special effects etc

For people who are interested I would suggest to download the "Buzz" Unity 2d tutorial
It is a supertraditional asteroid like game
In my opinion the use of 3d in a 2d game makes the development much easier

Having said that I agree that Unity lacks many traditional 2d engines features but it would easy for them to wrap, so to speak , the 3d feature in a 2d box
Probably their clients are more intersted in 3d applications


taumel(Posted 2011) [#70]
Well, of course a more up to date 2d engine could offer a little bit more features than you're used to for example used to from the Blitz products and in Unity you can limit the PhysX engine so that it's useable in 2d projects as well but it's also not the fastest solution for what you might need in 2d again as it a.o. still is a 3d physics engine.

For some projects being able to use 3d in 2d is a real benefit, for others it isn't. I think the main reasons for the direction Unity is heading are their own interests as well as their major clients, although i personally disagree with their priority list because especially support for a great 2D/2.5D engine makes a lot of sense for all those mobile devices since the very beginning.


Alberto(Posted 2011) [#71]
personally disagree with their priority list because especially support for a great 2D/2.5D engine makes a lot of sense for all those mobile devices since the very beginning.

Definitely
Never understood how sophisticaed 3d features can get along with a 3.5" screen

If you can ignore the ugly way to code...

Same here
What's, in your opinion, the best game engine,from a programming point of view ?


Chroma(Posted 2011) [#72]
Wait... Monkey or Unity? That doesn't make sense. Use Monkey for 2D and Unity for 3D...


taumel(Posted 2011) [#73]
@Alberto
Yep and you can see this with the projects realised for iOS with Unity as well, many of them, although done with Unity, are simply 2D games, still Unity prefers wasting their time and those of their customers for more high end features. Unity for quite some time had this snobby, 3D is a real game whilst 2D isn't anymore approach which of course is nonsense but somehow they have to justify why Unity is better than Flash and a little potion of bad taste of those who are in charge.

The perfect tool for my needs doesn't exist. I want a simple oo, risc like, curly brackets free programming language with well thought out commands sets (that's where i'm happy with Blitz products, i also would be fine with Ruby) but i also want to utalise modern technology (like a up to date 2D/3D/Physics/Sound/Game engines, that's where i'm more comfortable with Unity, how about if monkey could make full usage of OpenGL ES2?), i do want a professional editor/debugger as this can safe you a lot of time (only available with Unity on Windows), i want to release crossy and lightweight (both Blitz and Unity have their pros and cons again) and i want very good docs (not available for both products).

Last edited 2011