Not going to lie, I’m a huge fanboy of the Unity game engine… an easy to use, affordable engine that you can export to multiple platforms with ease and have access to thousands of resources through their built-in asset store. What’s not to like? So when I heard that they would be hosting their annual Unity Unite Conference here in Vancouver, I jumped at the opportunity!
I went to a networking party the night before and got to chat with a bunch of developers and artist. Some were local, some from far, one guy was from Istanbul and was one of the guys giving an advanced scripting presentation. One local Vancouver developer’s project in particular intrigued me and I felt like sharing. It’s called “Homeless” and is a mobile game where you start out on the street and work your way up the financial chain until you can afford a high-end suite in Vancouver.
The part that really sold me and why I wanted to share, was that the developer said for every purchase he gets a portion will be donated towards the local Homeless Shelters. So be sure to check out his stuff and consider buying it!
The keynote was largely giving an overall picture of where Unity as an engine currently sits in the marketplace. They largely focussed on the multi-platform nature of the engine and how it relates to developers. They followed this up with a few really exciting anouncements:Unity Cloud
The long and short of this service is that by participating in the cloud, you will have access to in-game advertising for your own needs (and I suspect eventually they will start feeding other paid options through this in time). The idea is that if you are a mobile developer on either Android of iOS, you can insert ads for your other games into previously released games, announce new updates for your studio, etc… much easier than in the past.Unity Games
Unity announced that they would be retiring their previous Union brand and opening up Unity Games, which in short, is a publishing business. They said this service would help game creators with financing, marketing, monetization consulting, user acquisition, and community management. Being a very developer friendly company, they stressed that they would be giving publishing deals that are both fair for the developer as well as their own self interest. What they offer are existing relationships with various platforms, technological help and support, Unity Cloud and global distribution. I’ll need to spend some time reviewing the program in full, but to me this sounds like an exciting opportunity to build and game, take it to them and have a much easier chance of it going big.Unity 4.3 Updates
2D Feature Focus
A lot of people use Unity to create 2D games, but the interface and features are largely focussed on 3D games, so they often have to build workarounds or purchase other solutions to add to Unity in order to build their games. However, in the 4.3 update they will be focussing on providing tools that help 2D game creators, such as:
- Selection Tools & “2D” Mode in the Scene View
- Sprite Sheet Editor
- 2D Physics
- Animation Window, for controlling sprite animations
- Auto-2D-mesh creation, which reduces the number of pixels drawn per sprite
- Auto Atlas creation, which reduces the number of draw calls by grouping sprites together into one mesh
- 2D-specific texture import options
Mecanim is Unity’s new animation system, which is designed to streamline the process of triggering, queueing and blending between animations. It’s getting som every needed, amazing new features and updates:
- Blendshapes! You can now create all sorts of vertex-based animations, such as facial animation or muscle, or whatever…
- In Code: Go to State! Instead of using the animation tree, you can now control through code directly what state the character should enter. Huge!
- In Code: Go to Time… same deal as above, but specifying exactly what time in the animation it should play
- Improved Optimizations (he claimed up to 10x optimized), much of it automated. The demo he showed had 2000 characters running around, impressive.
- Create Transform Object on various parts of the body, for easily attaching objects to your character without reducing optimization
It was delicious!
WiiU for Developers
Unity for WiiU
This part of the presentation largely was an introduction to the more recent tools in Unity, most of which you can just review their website for. However, there are two a few things to note about using Unity for the WiiU:
- Unity for WiiU is free, paid for by Nintendo. No extra license required to use it (once approved)
- It requires a separate install from the standard Unity build, so if you are porting you will likely need to create a separate project. There are plans to integrate it into the normal build cycle, but they have not reached that point yet.
- It will include the new features coming in 4.3, but it was not confirmed exactly when it would be released, other than to say it would follow the same rough schedule as the standard build.
- It has a set of features specific to the WiiU (such as multiple cameras to push audio/video to the controller).
- Currently, it only supports a single controller. Two controller support is coming soon.
Nintendo Web Framework
How to be a WiiU Developer
This presentation was relatively simple, I think they are not allowed to reveal many details, but they covered the following points:
- Devs can self-pubilsh, you get treated the exact same if you are EA or a 1 man shop
- No concept approvals, they do NOT require you to pitch your project to them
- No requirement to use Nintendo-specific features. Screen / motion controls / etc… are nice to haves if it makes sense for your game.
- No exclusivity requirements
- No fees to Lotcheck testing (QA before launch)
- Can release in NAO and NOE regions, Japan is a special case due to language and tax restrictions, but mosst “western” countries are available
- No sales threshold, you receive revenue even if you only sell 1 unit
- Competitive rev-share. They claim industry standard, but didn’t give a number. It’s usually around 30% for them, 70% for you.
- Work from home office allowed, in the past you were required to have a work location. Usually this means you need a business license, a static IP address and most likely some form of insurance. They are mostly just concerned with their dev kits and software leaking to public.
- Easily update your game, you control the updates
- Developers set their own price and release dates, allowed to change prices whenever they want. You are in control.
Overall, this sounds like a very positive environment to develop under, obviously I’ll need to read the fine print and figure out how much a dev-kit costs (probably a few thousand). However, they have really changed their policies to be more attractive to the indie developer.
End-to-end Process for releasing on WiiU
- Become a licensed developer (see link above)
- Get a dev kit. They have “special offers and deals” available once you are at this stage, they didn’t provide specifics.
- Project Sheet: Write up a brief about your project so they can have it on record and prepare for your launch better.
- Make the Game!
- LotCheck: A simple QA which checks for compliance issues. They have a list available so you can check it yourself first, but they cautioned that new developers often miss things and require a couple of attempts. Each attempt can take 1-3 weeks depending on volume. Schedule for this delay!
- Set the Price & Release Date! At this time they will request all the media required for the in-store purchase system and can make download promo codes available for sending early copies to the press.
- Launch! Promote! Do Sales!
Overall, I’m impressed with Nintendo and their obvious efforts to make the WiiU more accessible to the indie developers. I’ll be looking into this more seriously after the event and will post whatever details I can (might get caught up in NDA’s though).
Guns of Icarus Online – Big Vissions, Small Team
It’s hard to really re-cap this presentation as it’s one of those “you had to be there” kind of presentations, but I’ll try to give a summary. Basically, they were an ambitious team with a grand idea; make a giant open world game that is online, where people can explore and band together to pilot airships in the sky and do battle… but it’s not an MMO, they swear! In comes a publisher with $300,000 and they try to make it and fail horribly. However, they don’t give up! They re-structure, find a new sources of financing and continue development for another couple of years until they finish the totally awesome game you see in the video. The whole presentation was on how they pulled it off, and here’s a bullet summary of their main talking points:
Focus on Fun!
They previously failed because they were focussed on creating everything that was in the design documentation, without really figuring out if it was any fun. The second time however, they decided to go through a process of Agile Software Development, which basically means producing a lot of iterative builds to maximize results.
To be honest, my notes are a mess because they packed so much information and I can’t figure out a way to present the information without basically re-doing their entire presentation, so instead I’ll invite you to watch the video once Unity posts it and will just share some of the tips they had that lead to their success:
- Iterate Fast – Frequent iterations forces results because you are constantly re-evaluating and improving upon features
- Small, Multi-Skilled, Team – was a benefit because there was never a bottleneck. They were never waiting on texture artist “Dave” to get his stuff done because other members could help with the workload if it became too much. This flexibility minimizes downtime for a small time, never a wasted moment.
- Co-Location – They all shared the same office and physical space. This benefits in a better performance in most cases because you do not suffer from an “lag” in response times, you just spin around and ask the person a question or get feedback immediately (when compared with remote working).
- Forced Version Control – Everyone had to use version control on every asset, whether it was a document, code or art. I believe the slides said they were using GIT and SourceTree.
- Artists Intergrate their own Assets – No complicated pipeline, just put your own stuff in the game and let’s make a new build!
- Daily Scrum – A daily, 10 minute meeting, where everyone on the team would acknowledge what they did yesterday and what they planned to do today. Just keeps everyone informed regarding where the project is, plus probably an incentive to not slack off!
- Dedicate Time for Learning – Allow people time to tinker and cross-train each other. If you have a few moment of down-time, allow them to ask questions outside their field of knowledge so everyone can understand each others’ roles
- In-House Game Jams – Create a totally separate project and jam something out. Make it quick and dirty with no regard for proper development. Allows for creative exploration and another form of learning, also breaks up the day to day.
- Pick a Single Feature – Focus on your core feature and eliminate un-necessary features that don’t contribute. They reduced their scope by 2/3 in order to focus on their core feature of the game, with positive results.
I didn’t really get to see much of this presentation (overlapping schedules) but they features two new pieces of software they are offering as part of their services called Substance and Fuse. Fuse is an auto-character creation tool, I think it’s still in private Beta though.
Girls Like Robots – How I Accidentally an Adult Swim Game
By far the most fun presentation, the two guys behind this game were hilarious. There presentation was a collection of things they did well, and things they did poorly, here’s a breakdown of the list:
- Share ideas early – Great way to get feedback often.
- Spend Money – If you’re an indie you either have to do it yourself, or pay someone to make it. Free rides don’t usually work out.
- Eat a Sandwich – Basically, make connections with people, go out to lunch
- Unique Art Style – Just make what you want to see, make it unique!
- Be an Awesome Team – Lots of high fives
- Play Test like Crazy – “Hire a Monkey and throw it at the keyboard” in reference to testing the “easy” levels.
- Focus on Tutorial – Make training your users an integral part of the game, but not in your face
- Code it Simple – Don’t over-engineer. He used really dirty techniques and the game runs fine. Don’t waste time on useless optimization.
- Partner with Adult Swim – Apparently they are pretty awesome.
- Pre-Production – They didn’t spend any time planning, just sort of “winged it” which resulted in no cohesive style / plan / etc…
- Admit it’s a Mobile Game – The creator wanted to release it on PC, but accidentally submitted it to a Mobile section at PAX, ended up building a mobile version over night so he could keep his spot at PAX and now it’s on mobile! Still claims it’s a hardcore PC game though.
- Analytics – They gathered all sorts of data, but the majority of it was completely useless to them. The only useful data they had was how many attempts were made per level, which lead them to…
- Shorter Game – Most people only played the first 1/3 of the game, they could have cut 2/3 of it and released 6 months earlier and would have got the exact same results monetarily.
- Know the Audience – They have no idea who their game is for, no data shows who is playing it, where they are playing it or anything really. They still have no idea.
They ended the presentation giving us a preview for their next game, Captain Astronaut’s Last Hurrah, which had an awesome art style. Unfortunately the video isn’t out yet, so you’ll jsut have to visit the website to get a sense of the style.http://popcannibal.com/captainastronaut/
Sony Self Publishing
Essentially, to become a Sony Developer all you need to do is register a business (corporation would be best), have a static IP address on your home internet (for security purposes) and apply. Once approved, you can get a dev kit and access to Unity copy. The representative made it sound very, very easy, so long as you go through the process. Here are a few highlights for self publishers:
- You are the publisher, you choose what to do
- Choose your price and release date
- No patch fees, update your game when it needs to be updated
- Streamlined concept submission
- Flexible, dev kit loaner program (limited quantity). PSMobile requires no dev kit, can be run on consumer PSVita
- Willing to support many monetization scheme, less likely for in-game ads, but if you ask nicely, maybe.
- Providing support for your game through possible mentions on PS Blog, inclusion in PS+ deals and trailers / marketing
Unity Release Dates (estimates only, they may change)
- PS3 – Now, it’s available immediately, Unity 4.2.1
- PS Vita – Beta launches September 2nd
- PS4 – Beta launches February 2014
- PS Mobile – Beta launches February 2014
He also briefly mentioned that Sony is offering a Publisher Fund, but didn’t really give any specifics. Basically you get rewarded by Sony for some guaranteed amount once you launch your game on their system with an exclusivity contract for a period of time. It mostly sounds like a reward, but it could work well for some projects.
Optimizing for Mobile
I was getting pretty tired by this point and the topic was rather dull, but here are a few tips:
- Component Caching – Instead of using “Find()” calls, cache it to an object on script Start, lookup times waste resources
- Pooling Objects – On launch, instantiate the number of objects you need and keep them in a reserve pool. Faster than create / destroying them
- Reduce Unity GUI Calls – Unity’s GUI system is very resource heavy, try not to use it if possible
- OnBecomeVisible() & OnBecomeInvisible() – If an object is on/off screen, you can start or stop it’s functionality, saves time.
- Reduce Polygons or use Level of Detail – Basically, don’t use heavy 3D geometry
- Culling – Make use of Unity’s various culling features to reduce wasted processing
- Limit Transparency – Too many transparent objects means too many pixels with extra processing
- Limit Shadows / Post Processing – Again, these are very heavy
- Texture Compression – ETC1 for OpenGL2.0 games and ETC2 for OpenGL3.0
- Mip-maps – Mip-maps can help compressed textures retain quality while still reducing the footprint
That’s it! I’m tired, time to go to bed. An even longer day tomorrow (or today, depending on when you read this) with a big party at the end of it, so don’t expect the next summary for a few days. Hope you got something out of this!
Tags: Tips & Tricks
Trackback from your site.