Fred Never Had it so Fun – 1st Crack at Unity

Seems all the cool Flash Platform developers have been trying their hand at Unity these days, so I had to jump in and find out for myself what all the buzz was about.

So, after a week or so of trials and tribulations, I finally completed my first Unity project – a little driving game with a Flintstones style car. Why a Flintstones car? Well, I wanted to use my own models (or those provided by the Unity environment) and, the ugly truth be told, I pretty much suck at 3d modelling. At least a Flintstones car is just a bunch of simple primitives thrown together.

Some stuff I learned, experienced, or would like to learn:

  • Make liberal use of public variables and the Unity IDE. When I started, I found myself creating private vars and trying to define them with complicated and convoluted GameObject.Find() calls. Then I realized I could make the variable public and set its content with a dropdown box and suddenly life became a lot more fun.
  • Really not impressed with the Unity code editor. I’ve heard you can set your own, but haven’t yet taken the time to figure out how to do so.
  • For those of you like me who are both poor 3d modelers and just plain poor and have Swift3D, here’s a quick workflow tip. Create your models in Swift, export to .dae (export object to papervision3d), import the .dae into Blender (free and opensource 3d software) then save the file as a .blend in your unity project assets directory. Unity will import .blend files natively. Sure, I could just learn Blender and cut out the middle man, but the learning curve’s a bit steep and I wanted to focus on Unity not modelling. Don’t worry, it’s on my TODO list…
  • The worst experience: I’m not sure what happened – there was no crash or error logged, but halfway or so through the development process I closed Unity. When I opened it back up, it couldn’t read my project’s database. Thankfully, my models and scripts were still there, but I had to create a new project, recreate the terrain, reattach the scripts etc. Even for such a small thing as this, that was an extra day’s worth of re-work. If this had been a huge complex commercial project a disaster like that could have added weeks to the deadline potentially losing a lot of money. Makes me a bit weary shelling out the 1500 bucks on the pro version. But I guess weird shit happens all the time with all software. You pays your money and you takes your chances…
  • Still a bit unclear on WheelCollider physics. I’d really like to make a car that doesn’t drive up 90 degree angles. I’m sure it has to do with adjusting friction, but when I played around with it, I found I made the vehicle either undrivable or worse when it comes to climbing up terrains. A bit more research needed here.

While I can’t say I’d be willing to give up Flash for a career in 3d game development (I love the variety Flash offers – you may be making a game one day then a website, RIA, or mobile app the next – beautiful), I’m definitely digging Unity and look forward to doing some more with it.

For anyone who may have missed the link earlier, you can check out the experiment here. Of course you’ll need the Unity plugin. Oh, and make sure you work up a good head of steam going around that first corner – you’ll need it to make it over the Fiery Pit of Doom…

14 Comments »

  1. Abraham says:

    Nice :) I don’t exactly know why, but seeing someone else’s experiments with Unity just inspires me, even if they are just simple examples.

    I’m also learning Unity coming from the Flash World (I’m still very basic), it’s a really nice experience because it made me learn and use C# and, with that, Visual Studio (here’s a way to integrate them with Unity http://bit.ly/8lRnZc).

    I had problems with Unity too, when trying to “paint” trees on the ground, it always crashed… but it was fixed updating to latest version. Hopefully that bug happened to you won’t show up again in the next update.

  2. Devon O. says:

    Thanks for the comments, Abraham. I’m surprised, coming from the Flash world, you went with C# when Unity’s flavor of javascript is nearly identical to actionscript.

    I like the idea on your blog of connecting Flash to Unity via the browser (but your example isn’t working). I was thinking of doing something like that myself, but you just gave me a head start with the scripting.

    I’ve heard other complaints about Unity being a bit buggy, but it seems to be improved with each release. Looking forward to my next project already..

  3. Welcome to 3D heaven!!! I added your entry to Burn Rubber Beyottches- Tribute to driving in Unity. You can also find several references to driving tutorials in that entry including some WheelCollider Physics tips and tutorials. http://infiniteunity3d.com/burn-rubber-beiiyotches-a-tribute-to-unity-driving-games/

    I look forward to seeing what you build!

  4. [...] Fred never had it so Fun- First Crack at Unity creates a “Caveman driving game” In an early Unity experiment from a Flash developer’s point of view [...]

  5. Devon O. says:

    Thanks for the entry, IU3D! And for the link as well – lots of great stuff to get started digging through…

  6. [...] reading here : Fred Never had it so Fun- First crack at Unity Share and [...]

  7. [...] web.   Continue Reading Bullsh!t Unity Rant.   and compare it to a more pleased response from Fred Never had it so Fun1st Crack at Unity and share your feedback below about your Flash to Unity [...]

  8. samBrown says:

    I think Unity is an amazing tool to have in the toolbox of any Flasher.

    Dittos on the script editor in Unity, but I did find a decent alternative – UnityDevelop (cousin of FalshDevelop) thanks to the guys over at Blurst…

    http://technology.blurst.com/unitydevelop-javascript-editor/

  9. Greg says:

    Unity will forever be a terrible application in my eyes, until they release a Linux version of their authoring program, and their web plugin. I can’t even play your experiment because of this horrible fact.

    Why can’t they (Unity Developers) be more like ShiVa ( http://www.stonetrip.com ) ? The ShiVa web player, as well as their stand-alone desktop player, work perfectly fine in all three desktop operating systems – Linux, Mac, and Windows!

    They are also avidly developing an authoring tool that will be just as cross-compatible, and will be releasing that (ShiVa 2.0) sometime around Q4 2010 – Q1 2011.

    That’s a lot more than what I can say Unity is developing. I’ve talked to them about a Linux authoring tool, or even just a web player in a Linux flavor, but they have absolutely NO interest in pursuing this.

    I believe Stonetrip (the creators of ShiVa), will overtake them because of this. Stonetrip can clearly see the future and because they offer support for all operating systems, I have no doubt they will become the standard for 3D web applications.

    Linux is the most used operating system around the world (excluding U.S. and Europe) including developing countries such as India and China. When these developing countries become as advanced and technological as the U.S. and Europe, (which will occur in less than 10 years the way things are going) with the vast majority using Linux, what does that say for web application developers? That’s an entire untapped market of billions of people.

    Until Unity shows interest in Linux, I will not show interest in Unity. ShiVa offers more advanced features, and I will stick with them until (IF) something better ever comes along.

    ~ Greg

  10. Devon O. says:

    @Sam – thanks for that great editor link. I use FlashDevelop on a daily basis, so a modified version for Unity is exactly what I was looking for.

    @Greg – Have to admit, not being a Linux user myself, I rarely give it much thought. Some interesting points though. And I’m going to check out ShiVa. Surprised I haven’t heard of it before.

  11. AngryAnt says:

    Whenever you find a bug in Unity (especially one as severe as the one you found), please take a few minutes to try and recall what lead up to the incident and try if you can reproduce it. Then report it using the bug reporter tool.

    While we do a lot of automated as well as manual testig in house, we simply cannot cover all bases – like everyone else.

    We’ll try to get in as many bugfixes as possible on top of feature additions, but deal breakers such as the one you found ofcourse take priority.

    Oh and you can set up Unity to use your favourite code editor in the application settings. We merely include a standard one for those who have not made their choise yet. Personally I use TextMate on the mac – although MonoDevelop is showing a lot of promise.

  12. Good post.

    I pretty much switched to C# just because of how bad the unity script editor was (using visual studio express C#). Having code completion and better debugging tools was all it took. I am still a noob, but having good 3d assets with animations really adds to the production time with what I have done.

    I enjoyed the Flinstone ride.

  13. mellowMarco says:

    Well, without your post I would not been aware of unity… Anyway, I am probably not cool ;)

    I donwloaded it, amazing at first – but generally spoken – you are right: Flash is more versatile. Getting into some serious 3d game development requires a team. For instance: some guy with Blender experience for the models *wink*

    :)

    cheers,
    marco

  14. [...] Fred never had it so Fun- First Crack at Unity creates a “Caveman driving game” In an early Unity experiment from a Flash developer’s point of view [...]

RSS feed for comments on this post. / TrackBack URI

Leave a Reply

Devon O. Wolfgang

Technical Reviewer of “The Essential Guide to Flash CS4 AIR Development”

Contributing Author of “Flash AS3 for Interactive Agencies”

Senior Software Developer in Dublin, Ireland

Portfolio

Bayer Pixel Bender Filter

Bayer Mosaic Filter in Pixel Bender


Now, seeing as how I’ve been trying to learn some Pixel Bender coding lately[...]

Liquitext

Liquid Text Effect


Haven’t been too active around here lately due to a major on going project at work lately as well as the fact that my wife and I are in the slow process of moving homes. Really, the only free time it seems I have these days is during the lunch hour. So, over the past two days, I came up with this fun little toy during lunches[...]

Google’s Text To Speech Engine in Flash

I’m not sure how I managed to miss this, but I just happened to run across a ‘new’ (well, newish), albeit still unofficial, offering of Google today: text-to-speech. You can see what few details there are on this Techcrunch post. Basically, it just boils down to this though – you send your phrase to be [...]

Quick Sound Effects Generator


Need some beeps, boops, or bops, to go with your UI or games [...]

Quick QuickBox2D Tip II – Collision Detection

Custom collision detection/handling in QuickBox2D [...]

None of This Runs Eternal


No Flash/Actionscript stuff here. Just me rambling about the upcoming Current 93 concert [...]

Playing Around with the New UndoManager

Included in the Flex 4.0 SDK and the, just released, Flash Professional CS5 lies a new hidden little gem of a class: flashx.undo.UndoManager (although the Flex 4.0 SDK’s been out for awhile, I have to admit I didn’t even notice this until I installed Flash CS5 and started poking around the documentation looking for new [...]

Making Waves

In a previous post, “Digging into the Microphone in Flash Player 10.1″, reader David Law asked in the comments how it would be possible to save .wav files to the server. I wasn’t sure right offhand, but thought I’d spend my lunch hour yesterday looking into it. Well, after reading this quick tutorial on Adobe [...]

Some Drawing Fun and a Bad Movie You’ll Never See

Earlier today, Dave Gillem posted a link on Facebook to an incredible Processing based drawing application. Thought I’d have a go at reproducing something similar in Flash. Well, I failed miserably, but the results were still interesting enough to check out. You can play around with it below. Just mouse down to draw in the [...]

Animating Bezier Curves


The other day I got the notion in my head that I wanted to draw some bezier curves in an animated fashion. I’m sure this has been done a million times before, but sometimes reinventing the wheel can be a good learning experience [...]

My God, It’s Full of Stars…


Just a quick little thing I got an idea for (i.e. pretty much ripped off) while browsing Processing examples.

Another Year, Another Look

As a few folks may have noticed, the blog is looking a little bit different as of today [...]

The Webcam Warholizer


Just a little bit of quick Friday fun with webcam and bitmapata…

More With the JiglibFlash Terrain

Playing around a bit more with the animated JiglibFlash terrain idea from my last post, I wanted to see how it would work in conjunction with a webcam. So, needless to say, you’ll need a webcam to check out the results below.

Rockin and Rollin with the JiglibFlash Terrain


Finally got the chance to play around with the new JiglibFlash height map terrain, today, and have to say I am very impressed [...]