Sunday, September 25, 2011

postheadericon Visual Scripting - Holy grail or apocalypse for game development



Repost of GameDevUniverse: http://www.gamedevuniverse.com/blog/2011/09/visual-scripting-holy-grail-or-apocalypse-for-game-development.html

Visual Scripting has gained a lot of attention the last years, by various indie designers that don’t want to learn coding its considered to be kind of a holy grail to enabled them to do things they would otherwise never have been able to do.
The likely widest known usage in the game development is Unreals Kismet which is powerfull and well integrated and especially makes cinematics creation very easy. But its also Kismet that shows the limits compared to going with UnrealScript, there are just things it can not do or things that look that clumsy that you really don’t want to do it there. So lets talk about the pro and con in detail.

The raw potential
The main benefit of visual scripting is a simple yet important one: Its not text! All the limited functionality they normally provide are easy approachable, making it possible for people without knowledge in one or more coding languages to create interactive functionality. But it requires that simple yet powerfull nodes for the specific tasks in question are available.
Through Nested nodes (sub graphs) its additional possible to raise the readability of a graph and make parts of it easy reusable.

The problems
The largest problem that anyone will unavoidably hit within hours at maximum is the ubiquity of the information. A functionality written in code taking 5 lines of code can easily lead to a graph spanning dozens of nodes and more to be represented in visual code. As an example of this problem of readability and „just beeing“ please see the following simple graph (done with uScript Retail Beta3) that does nothing but bounce a game object by a given Vector3 over time and back again. The screenshot shows just the small part of it handling the position forward backward handling6a0148c6dde205970c015391d44eae970b-pi

Enumerating collections is another thing in visual scripting that basically is a pure nightmare. Even if there were any visual scripting technology that would be able to represent this process in a LINQ alike form, it would still be very hard to grasp for designers.
As mentioned under the raw potential, one of the benefits of graphs is also a drawback and thats nested nodes (subgraphs), which if used right offer an easy way to reusability and making a graph more readable. But unhappily when not used right they can make it near impossible to maintain a graph at all. Especially if the designer uses nested nodes within nested nodes and even deeper hierarchies it becomes impossible to handle them any longer.

The options in Unity

PlayMaker
Not a visual scripting technology per se as it does not allow to create free form code, its an editor to design Finite State Machines, and important and very easy to grasp concept as we use it all day long without knowing about it.
Out of my view the best solution for pure designers with no coding knowledge because it is not only easy to approach and backed by piles of tutorials etc, but first and formost its not „just code“ that the developer will create but a clean and solid interaction broken down into states. Other solutions as well as pure code in the hands of non coders often lead to messy code and spaghetti code, while PlayMaker does not allow that, it requires that the designer thinks about the interaction and how it „plays out“ to create corresponding states and transitions.
The result will be code that he can maintain much easier and which is much more readable as only the states end on the ‚graph‘, which will enable him to get more done and especially done in a working form.
A usefull feature to make this even easier is the capability to visually debug the FSM, so you see in which state it is and where it transitions etc.

uScript
  uScript is the youngest of the 3 solutions, approaching its release version (Retail Beta 3 at the time of writing). It follows the design principles that are applied in other technologies too, especially Kismet from the Unreal Engine / UDK.
It has well done and polished visual appearance that not only helps being productive but especially being able to grasp the meaning of a graph with a glimpse or two.
One unique feature it advertises to have is that the graphs actually generate C# code, which makes it platform independent. But to be fair, out of my view that generated code has relatively little meaning cause its impossible to work with it beyond „looking at it“ and being granted to work on any platform as its not designed and written for usage in a pure code form. Also when the corresponding graph is resaved, it will be overwritten!
Its major drawback compared to the competition at the time is the lack of visual debugging, which brings back one of the main problem for designers on normal coding to uScript too and thats that you need to know what you do and where an error comes from to fix it basing on educated guessing.

Antares Universe
Like uScript its a full visual scripting solution, which unlike uScript does not base on the Kismet style of working but a more „programmer style“ approach without the temporal variables for transfer or the coroutine yielding directly on the connectors (the + buttons along the lines)
It clearly loses on the front of visual appeal and easy graspability due to the graphics and the layout of nodes and connectors, but it compensates for that through two major benefits over uScript, which are the visual debugging (like PlayMaker) and the possibility to create GUIs in realtime within the editor basically.
Also it offers many very high level and high usage nodes out of the box (LoD node for example) and at least from a subjective point of view a clearly higher execution performance than uScript.

Conclussion
Its neither a holy grail nor the apocalypse. It surely has its good points and when used correctly, for example to expose high level logic in a designer friendly form to allow them to create that code on their own while the programmers focus on the low level and core systems, then it surely can turn into a diamond for a project.
But on the other hand if a designers with no programming knowledge has the hope to create whole games purely on it, I personally consider this completely unrealistic and a major source of frustration for the designer more sooner than later, because there will be limits which he will just not be able to solve without a programmer.
None the less visual scripting can enable a talented designer to create a simple game or a prototype to grasp the interest of others or an investor, so its not per se bad or deal breaking at all
Monday, June 6, 2011

postheadericon OSX Lion, iCloud and iOS 5 and what they means to us as users and developers


Crosspost of http://www.gamedevuniverse.com/blog/2011/06/ios-5-and-what-it-means-to-us-as-users-and-developers.html



Today Apple held its 2011 Keynote and they talked about the stuff we expected them to talk due to all the rumors and leaks but unveiled many new things.

OSX 10.7 - Lion

Yes its that time again where a new wild kitty cat is approaching us from behind again, this time in form of a Lion

Where I think Apple did the right decision

  1. Lion Pricing and Licensing: The once $30 upgrade price tag for all your machines will definitely make Microsoft pretty unhappy as that puts some serious pressure on them to rework the licensing model for Windows again for Windows 8 as the $150 upgrade per machine and stuff like that don't work out in their favor anymore as the price difference from OSX to Win machines is shrinking more and more on the "mainstream boxes".
  2. Pause and Resume: The application and even OS level pause and resume capability sound like a great way to preserve battery time to a level where the previously not working "deep sleep" aka hibernate (OSX never seems to really hibernate, neither did it on my 2008 MBP nor on my 2011 MBP) was seriously missing. Finally the users are no longer punished for using their macbooks as advertised with "just close the lid and ..."
  3. The new Timeline and "smart backup": This is a thing I've hoped for for a long time as there just isn't enough data storage on earth to compensate for the totally inefficient way TimeMachine on 10.6 works. As a large time windows user with Acronis installed, I know the benefits of delta / incremental backups just too well and I'm really looking forward to the gains on that end on the backup end but also the storage saving end.
  4. Auto Sync: This looks like a very powerfull and usefull feature that many of us Dropboxers have known for quite some time in a similar form already. It will be interesting to see what other applications beside their own are going to make use of it though as I still don't feel like using my iPad and iPad2 for Office software work so their "primary use" shown doesn't really add anything for me. 

Where I think Apple went the wrong way

  1. What we saw so far on Lion looks great, but I'm a bit worried that Apple might come around a major "break applications" round again soon to enforce their "new cool stuff". Also I dislike that they are making OSX a dummwitt OS that tries to remove any complicated aspect to allow any 1 cell organism to user their machines. I've nothing against offering the option to use it in "1 cell organism" if you want, but for me it also has to offer the really productive stuff. Luckily I'm not alone on this at least at the time, cause at least Mail will keep its really productive surface as an alternative one (at least by whats the state right now), but I'm still worried that this might not remain like this. Perhaps Apple should introduce a 2nd desktop OS or alternatively another user type for the users you create: "iOS User Profile", where it behaves like an annoying, timewasting candy toy box, just like iOS.

iOS 5


Where I think Apple did the right decision

  1. I'm sure nobody will disagree that the notification system on iOS was the by far worst in the field and the fact that even Cydia offered a better one made it just to obvious even to the blind eyes of Apple so they got the corresponding dev to revamp the official pile of trash. I'm looking forward to using it and see how it stacks up against my Android 2.3.3 TouchWiz 4.0 on my Samsung GT-I9100
  2. I'm just as sure that nobody will disagree that 120CHF ($165 USD) per year was a total rip off for calendar and contact syncing and its great to see that Apple finally realized this as well, just some years after all of their competitors.
  3. The App data syncing through iCloud is great news to me as a gamer and game developer as it means that now even games that don't use cloud game saves finally transfer their game saves over to our other devices. This is a thing I wanted since the first games when I got my second iOS device as its just a major pain to take more than 1 device with you just due to the game saves. (yes as a dev you happen to have more than one, I know thats geeky for all others :))
  4. OTA, Remote Activation & Delta Patches: Finally you can activate your device without a computer and you can update it without a computer. Out of my view, this was long overdue as the 250mb bombs you had to download to your pc or mac, the hours to backup and upgrade etc just were not acceptable anymore in 2011. So I welcome this motion

Where I think Apple went the wrong way

  1. iMessage: While it sounds great in theory, I really fail to see why they needed to create something proprietary to their platform again thats basically a WhatsApp clone instead of grabbing WhatsApp and building upon it and its existing eco system. They are fragmenting the mobile world again as they did in the first 2 years of iOS where their OS was that stone age and crap that it didn't even support 1995 technologies like MMS. Apple really has a skewed view on end user needs and their own "what we need to dominate the world" needs and in this case I think they definitely did a bad decision. FaceTime should have been enough of proprietary trash if one askes me, as I don't know a single iOS user that uses it and I doubt many of you do.

Where Apple still fails to cover basic needs

  1. Apple still thinks that its iOS users are dumb like straw. Thats at least the conclusion I draw from the fact that a simple dropdown or task bar icon outlet to enable and disable WiFi, Bluetooth, GPS and Syncing is still not present even in the 5th iteration of iOS, although Google needed mere 2 iterations for get there with Android. Thats just such a large difference for me, I hate nothing more than wasting eternities in settings menues and "7 view deeps" nesting for simple and pretty often used day to day tasks.
  2. They still refuse to accept basic standards (DLNA) to force their own proprietary, protected and licensed standard AirPlay. Its 2011 and Apple finally needs to be law forced to act according their near market dominance - they have to support standards in the field, independent on if they want or not, thats just basic responsibility.


Naturally there is much more to iOS5, Lion and iCloud than just that.
This is just the first blog on the matter and I will dive into the three topics in dedicated entries in the future once the things are settled more or as aspects become "legally known" so its allowed to talk about them.

A final word of displeasure

All thats all "light" and great, I'm forced to also talk about Apples more and more emerging "we are god, we can steal other standards and innovations but you aren't allowed to use standards we defined with our market dominance" attitude, which is an upgrade from their previous "we are god, what we do is good" attitude they patent enforced in the past, which they try to use to stall all competitors innovation.
Just mere weeks after starting a court case against Samsung for "stealing design and technology innovation" and a year after trying similar crap against HTC, they have the nerve to present iOS5 which is a blatant ripp off of what Android has been in general since 2.0 and additionally going around and stealing HTCs newest innovations on HTC Sense 3.0 on the not even released HTC Sensation.
I think the guys at Cuppertino definitely need to get their head straight and learn how patents, innovation and "standards" work, they still life in the dream world where they are a minor minority with 2% marketshare and try to protect themself as back then while at the same time claiming to have a 44% mobile OS share with iOS and being #1 on the digital music market, which makes them a defacto "standard defining entity", which means that stuff that works for them is something they are no longer in the position to "protect against bigger opponents" as there are no bigger single entities anymore. But as I see it, the US government is well enough payable to not make this happen unless HP, IBM, Google and Microsoft join forces and break Apples neck a bit at a devastating court case, so they learn their position and the responsibility and rights they have as they are, for my liking, bending the existing law a bit too much with their billion dollar force.
Sunday, April 17, 2011

postheadericon Schweizer Unity User - Zürich


Crosspost von GameDevUniverse.com
Heute geht es hier für einmal nicht um Neuigkeiten aus dem Bereich der Spieleentwicklung als solches, stattdessen wende ich mich an alle Unity Entwickler hier in der Schweiz, um einen Dialog zu starten und uns besser kennen zu lernen, denn ich denke das die hiesige Entwicklergemeinschaft ein grosses Potential hat wenn wir zusammen arbeiten und vorhandenes Potential besser zum einen erst einmal besser kennenlernen um es später auch besser nutzen zu können.
Als Vollzeitauftragsprogrammierer mit Unity gehöre ich (Dreamora in der Unity Community) leider auch zu denen die hiesiges Potential kaum nutzen, da ich für gewöhnlich leider keinerlei Einfluss auf die Zusammensetzung der Entwicklerteams habe und überdies für vor allem für Teams und Firmen in den USA, Australien, Neuseeland und Japan tätig bin, nur selten bis nie überhaupt für Firmen im deutschsprachigen Raum zb.
Umso mehr möchte ich jedoch durch meine persönliche Aktivität dem entgegen wirken und die lokale Entwicklung fördern, denn Spieleentwicklung oder die Entwicklung interaktiver Medien im allgemeinen wird hier immer noch viel zu sehr belächelt dafür das wir ein Dienstleistungsland mit einer unbestreitbaren "Sucht" nach modernen Medienformen sind. Als besonderes Erlebnis in dem Rahmen möchte ich zb erwähnen das ich im Rahmen einer meiner Jobs im letzten Jahr eine Lösung mitentwickelt habe für eine US Firma die im Endeffekt in einer schweizer Unternehmung zum Einsatz kommt und mit dem hiesigen Potential problemlos umsetzbar gewesen wäre.
Um so erfreulicher war es, als ich kürzlich erfuhr, dass Unity auch in der Schweiz langsam aber sicher seinen Weg in die Lehre findet. Wie direkt das mit der Lehre zu tun hat, kann ich leider derzeit noch nicht abschätzen, jedoch konnte ich verschiedene, fast wöchentliche Veranstaltungen der ZHdK (Züricher Hochschule der Kunst) ausfindig machen seit letztem Jahr in welchem Unity in irgend einer Form vertreten war. Wie man zb an den letzten Projekten von Michael Burgdorfer ( http://people.zhdk.ch/michael.burgdorfer/ , ehemals oder immer noch an der ZHdK) sehen kann, resultieren daraus durchaus interessante Projekte. Besonders Krautscape gehört definitiv nicht zur 0815 Flut wie wir sie normalerweise erleben. Solltet ihr weitere solche Beispiele schweizer Entwickler & Studenten kennen, würde ich mich freuen wenn ihr mich davon wissen lassen würdet.
Solltet ihr das ähnlich sehen wie ich oder einfach gerne Kontakte mit anderen Entwicklern knüpfen wollen, so würde ich mich freuen wenn ihr euch bei mir meldet!

Wer Kontakt aufnehmen möchte mit mir, kann dies gerne hier durch Kommentare, via PM in den offiziellen Unity Foren an Dreamora, via Twitter an http://www.twitter.com/gayasoft oder via http://www.gayasoft.ch machen
Friday, March 11, 2011

postheadericon iOS 4.3 - The future has landed

Crosspost from http://www.gamedevuniverse.com/blog/2011/03/ios-43-the-future-has-landed.html

That iOS 4.3 and a new iPad 2, if it then were to happen, would happen at the same time was expected, but what not everybody (non beta users) would potentially not have expected is how it landed.


The all new development IDE

With the iOS 4.3 SDK, Apple officially pushed XCode 4 onto the big stage, pushing back XCoode 3.2.x one which was used as the XCode version for the iOS SDK on any previous build.

XCode 4, which has been available as public preview and beta for many months now, adds a few very usefull features for productivity enhancements, if you happen to develop native applications with Object C and C++, as the integrated interface builder, the much better integrated SCM support and what Apple likely would call a simpler, cleaner, more productive interface and out of my view as user of Visual Studio who never understood how Apple can still be stuck in developers stoneage: XCode 4 finally does realtime code checking that goes through the real compile process behind the scene basically instead of good guessing by an artificial checking which had a tendency to end on code that seemed right until the compiler or linker touched it.

As usually with Apple, this all new great world that we have entered comes at the price of basically relearning all we knew, because XCode 4 really deserves its new major number, nearly nothing is where it used to be, some things are not even available anymore.

Along XCode 4, iOS 4.3 officially favors now the LLVM 2 based GCC instead of GCC 4.2 which was previously the standard one.
I would recommend anyone who has no good reason against this compiler to use it, your compile time and performance will thank you for doing so!



Dropping out the the "old devices"

The second big thing about future that landed is that iOS 4.3 unlike many know from its presentation, not only supports the today released iPad2. In addition, iOS 4.3 also removed support for any of the ARMV6 based devices (iPhone 2G, iPhone 3G, iPod Touch 1st and 2nd Generation), which for Apple likely is a first timer, that they did a major hardware cutoff on a software / OS midway the same major version. We have seen feature limitations already along iOS 4, so the shock is not that large but the impact is still not to underestimate as the consequences on ARMV6 supporting builds done with the 4.3 SDK are not known yet, there are reports of strange performance problems with iOS 4.3 SDK based builds and alike though.

For end users that are on the 3rd generation or newer this naturally is great news, not only because there are a host of new nice features, but it also means that the start to focus stronger on ARMV8 devices happens ealier than the expected iOS5, which will benefit 2/3+ of all currently still in use iOS devices, resulting in either better battery runtime or smoother experiences performance wise.



This is all an interesting development out of my view for us developers that work for or against iOS to achieve their target, as we can work productively now and soon without having to fight the very slow, OpenGL ES 1.1 only, low RAM devices that pestered us long enough if you ask me.
Saturday, March 5, 2011

postheadericon The iPad 2 and its impact for developers

So for a day, the cat is now officially out of the bag.
We have seen what Apple has been working on to fight the Android 3.0 hype, where they listened to their users and especially devs and how far Apple is willing to drag the fight.
But what do this things mean to me, to you, to probably all developers working on iOS and Android?

First off I've to say that I am pretty happy with what we've seen.
The rumors previously indicated, that Apple might not upgrade the graphics chip in the iPad reasonably, after already the original iPad suffered reasonably from it on the gaming end, but the claims they put out indicated that they did not only upgrade the SGX535 to an SGX543 but even to an SGX543MP2 or MP4 gpu (as in Samsungs Enyxos 4210 also used in the Galaxy S II and Galaxy Tab 10.1), while at the same time keeping the screen resolution on the same 1024x768 level the previous iPad had, which would be massive leap ahead.
With power like that, the 2 tech demos Epic put on the AppStore (Citadel and Infinity Blade) will look like last generation games. Still good but they won't compare to the high profile games that we will likely see happening.

The first impact of the iPad 2 is pretty clear, with the additional power, the camera, Verizon, the same prices and battery lifetime as the original iPad andstarting on a massive collection of applications right from day 0 on all on native resolution we are talking about a power horse here which Motorola surely didn't want and expect to see that fast when they brought the Xoom to market.
I already considered the original iPad as a rather solid replacement for most tasks I had a netbook, but the new iPad 2 (as the Tegra 2 / Enyxos 4210 Android 3 tablets) make netbooks obsolete if you hook them up to bluetooth input devices at home.

The second impact the iPad 2 will have for us developers is that the competition on the Android side will not be able to get away with its dream pricing.
Yes we all know that Tegra 2 tablets are fast, but we have also seen their shocking, unreasonable prices. Prior to the iPad 2, they had room to say that it is for the sake of power as they were ahead of the iPad by a fair leap.
But now with the iPad 2 coming up in weeks (March 11th in US, 26 major countries planned for March 26th, I'm reasonable and expect them by April 9-16th ie 2-3 weeks later as on the original iPad), at the same price as the original iPad, this excuse will likely no longer work out.
This baby will force them to cut their margins and get their prices in line with the iPad prices or they will kick themself and even more so the chances for Android 3.0 out of the game for another 6+ months. With the Xoom prices we have seen we talk about price drops for Android 3 tablets in the range of 20-30% of their original target and initial release prices.


Crosspost from http://www.gamedevuniverse.com/blog/2011/03/the-ipad-2-and-its-impact-for-developers.html

About Me

My Photo
Marc 'Dreamora' Schaerer
Passionate and dedicated interactive media software engineer
View my complete profile