It's out! Woeful Woebots is now on Steam Early Access!
It took a little over a year, and now I finally have the game at a good state and ready for everyone to play.
Viewing entries in
It's out! Woeful Woebots is now on Steam Early Access!
It took a little over a year, and now I finally have the game at a good state and ready for everyone to play.
The end of 2015 is nearly here, and it has been an eventful year filled with exciting things in my life. Our second child, Isolde, was born and I finally managed to release Animal Drivers! The last few months have mostly gone to bug-fixing the game, and carrying a (mostly screaming) baby around the house. This week I even had myself some rather lovely appendix-killing surgery which I am currently recovering from.
In between these epic life-battles, I've been working on a couple of prototypes and ideas for new games. Suffice to say, I have become extremely excited about the prospect of working on virtual reality games and have been doing a lot of interesting research lately. So if you're an indie developer like me, you might be considering how to gear up for development in VR.
First of off, you should probably decide whether or not you're going to enter the desktop-VR market or the mobile VR market. You can do both of course, but focusing down on one effort will probably be ideal if you're a lone developer. Personally I want to have a little more power available to me than I'm used to from mobile, and I will be hitting the desktop-VR market. This market will be smaller initially, but it will also be more hungry for new software.
You'll need a fast PC. Like really fast. My 6-core i7 from a few years ago is apparently still rocking some serious CPU juice, so I'm all set on that account. You'll also need 16 GB of RAM and probably an SSD drive or two. But most importantly, you'll need to get a new graphics card.
I am an Nvidia fan-boy, so I will only be considering their products for my VR needs. Oculus seems to think similarly and has set an Nvidia Geforce GTX 970 as their baseline requirement to have a good VR experience. So as a developer, this should be my baseline too and I will need to make sure that anything I make runs really smoothly on this card. But what are our options?
With the current 900-generation of cards, your options are
Nvidia GTX 970 (Oculus baseline requirement)
Nvidia GTX 980
Nvidia GTX 980 Ti
Nvidia GTX 970 SLI (two 970s)
In 2016, the new Nvidia Pascal cards will be coming out with some serious juice, but it's hard to say just when they'll arrive. I would bet my money on that the first line of GTX 1000-cards will be released along with the launch of the Oculus Rift Consumer Edition. But that's no good for us as developers, those cards are way too fast in comparison to the baseline that Oculus has defined with the 970-cards. We need to know that our products work on the lowest spec, as well as the highest spec.
What I think is the smartest solution is to buy two Nvidia GTX 970 cards and bridge them together with SLI. It's the cheapest option too because you can buy one card first, and get the second one later down the line. You'll get the top line performance that outrivals the 980 Ti, and have the ability to turn off one of the cards to test your baseline performance making sure everyone can play the game. Both your super rich players and the rest with less hardcore cards will be happy. Everybody wins!
SLI is also an interesting choice now that Nvidia has announced their Gearworks VR API. With it comes their new VR SLI technology, that lets the two GPU cards render one eye each to "to dramatically accelerate stereo rendering". So I believe this is this 970-SLI solution will also be popular for a lot of gamers, even after the newer 1000-series cards come out.
Next up, let's consider the options for desktop VR HMDs (head mounted displays).
The Vive is the first room-scale system, and seems to be technologically more advanced than the others given it's two laser-sighted lighthouse solution for tracking the player. However, it does require a lot more room in people's houses and probably a higher PC-spec than Oculus.
Oculus on the other hand have described themselves as a "seated experience", and I am guessing Sony Playstation VR will be going the same route. It makes a lot of sense, because most people's houses or living rooms aren't easily converted into play rooms. Who has a spare room available these days with current housing prices? Walking around in your living room, tripping over your coffee table and/or cat/baby isn't going to be possible for most people. You can do standing-in-one-place type experiences, but walking around is very unlikely in the Oculus/PS VR market. So if you choose to go for a room-scale experience, you are essentially cutting down your market quite a great deal. On the other hand, you'll be creating a much more immersive experience that players willbe much more involved and engulfed in. Tough choice!
The HTC Vive will be the first one out of the door and it will also have the first hand controllers.
Oculus's Touch controllers won't be released along with the headset, so the choice for developers who want a head start is simple. The HTC Vive is the best HMD to get because you will have everything you need to develop for the Vive, Oculus Touch and the PS VR in one headset. You can create seated experiences as well room-scaled experiences, and don't have to buy several systems to do it. The Vive let's you author both types of experiences. Oculus will not, at least not initially. Converting your game from the Vive will be pretty painless too. Especially if you use SteamVR's OpenVR system!
So there you go, those are my thoughts on what gear is the best to get to start a VR development career. Now I just need to start saving my pennies to be able to afford all of this stuff...
Follow me on social media:
June saw the birth of our beautiful daughter Isolde, and with it came a very natural drop in productivity in regards to Animal Drivers. It's been an emotional rollercoaster for us as a family, especially with the stress and worries of an imminent C-section. It was all suddenly over, and then we had a new person in our little family!
My deadline for this whole Animal Drivers project had been "before the birth", but I totally missed that. I knew once she was born, I'd have very little time to work on the game. In between nappy changes, crying fits that require constant carrying and walking around, etc; I still managed to get a trailer cut and out on YouTube.
Recording it in 60 FPS required a workhorse of a PC, and I couldn't do that on my Macbook Air. But I finally got it all done, and started cutting the best moments together. I think it came out quite nice in the end!
So here it is, the trailer, in all of it's glory. Music by the amazingly talented LIEKE (who also did the soundtrack!)
As always, please follow me on the Instaface Tweets!
On Tuesday our beautiful little daughter Isolde was born!
Mother and child are both doing very well, and we're changing nappies at a pretty serious level right now ^---^
Not much development being done this week, that's for sure!
Animal Drivers is getting closer to being a finished game!
Two levels are completed and are being fine-tuned, and a few more tweaks are needed before I can send the game into soft-launch for iPhone and iPad. Hopefully I can get some players in to test the functions and iron out any major bugs before I release it to the rest of the world this summer!
We have a new baby on the way, and she's coming in a mere two weeks so I have no idea how that will impact progression on the game. Hopefully I can get most of this stuff done before she arrives.
And then maybe those soft-launchers will send some diaper-money our way ^__^
Man, oh man. Diapers. Again.
Just a dream, but Psssst... hey.... Sony, give me a call ;)
Ahh... the app icon.
A lost art, some say. An unthinkable pain, other say.
Right now I'm with the latter crowd. Have been putting this off for quite some time. Ironically, every other app icon I have done has been super simple, made it work and had it stick on the first go. But for Animal Drivers, it is really different. Maybe it's because it's so damn important. The first thing you see in the App Stores, and what you base your decision of whether or not to download on.
I particularly like the colors and attitude in the first one. The second really tells you all about the game, and what it's about. I think I'll have to make more sketches before this decision falls!
Until then, I'm going to go roll around in pig fat to get my creative juices going.
There, that's my secret to staying creative. Pig fat.
Here's this post from the Animal Drivers Facebook page. Feel free to press that Like button! ^___^
I am a total dork. Now I can look like one all the time! SO wearing this on the bus to work tomorrow.
So you are a total Apple fanboy, but you want to port your game to Android to make some extra bucks. I get it, we're the same you and I. Hey, look we're even wearing the same t-shirt. Go figure. There are a couple of unconventional and cheap/free options to test an Android app.
1. Samsung Developer
Samsung has an excellent service for their developers (signing up is free), and it's a testbed of virtual Android devices of all of their phone/tablet models. You connect via the web, and you can upload your APK file directly and test to see if your game/app works. It's somewhat slow, but if you don't have the cash to get a bunch of Android devices, this is the best option out there.
2. Get a cheap stock Android tablet off Ebay for just $50 Go to Ebay.com and search for "android tablet". Set the Price + postage/shipping option and look for something around 30-50 dollars. These are perfectly decent devices with dual-core CPUs, and you'll be able to test your apps on a great low-end device. This way, you can figure out what everyone one Google Play will complain about (and they complain A LOT).
3. Borrow/steal a friend/foe's Android device.
So there we go, three two excellent options for testing your Unity apps on the cheap!
So I'm having a blast making fake corporations and creating my own little world in Animal Drivers.It's a world where humans are pretty mean to animals, and I'm dropping little hints here and there that they're pretty scrupulous in how to treat them.
Things are running smoothly with the 3d production for the game, though it's taking quite a lot more time than planned. Look out for more blog updates with new assets for the game soon!
So Animal Drivers is coming along nicely, the core gameplay is done and the GUI is pretty much in place. I now need to put my construction hat on, shout at some sexy ladies from a crane before I get to work on making all the assets that make up the world and game. So far I have two cars, two characters and a pretty big set of houses, trees, roads and so forth. Still a great deal remains to be done before I can say I have enough to build some levels. So first up, here are a few buildings I finished up last night:
Mhmm.... juicy cat meat.... *hrrrrr*
Signed up for Playstation's PSM program and am now a verified Playstation Mobile developer! I had to give Animal Drivers a run for its money on the Playstation Vita, so I fueled my body with burning gasoline and made a quick port with Unity. After lighting a match and offering my soul to the gods, I realized it was actually working. Barely had to make any changes in Unity to get it off the ground, so that's very good. Looking forward to working more on this once the game is done.
Now, back to work!
A few months ago, I applied to Microsoft and Unity's Windows Phone Incentive Offer programme. I only had one game to show, and to be fair, it's not a very good one (The Sculptor). Honestly, it still boggles my mind that 20.000 people have played that thing, but hey, I'm not complaining!If - I - were 20.000 people, I'd be spending my time pillaging a local village or attacking foreign soil. Not playing a game where all you do is tap your screen!
But anyway, so Microsoft accepted me to their Incentive Offer programme and promptly sent me a free Windows 8 Pro license. Woo!
Look, so pretty!
I wiped my SSD completely clean, and stuck Windows 8 in there. Now getting that thing to work actually took 4 nights and several curses and offerings to some demon of the underworld what's name I now forget (sorry!). I guess that's what Microsoft has to deal with when it doesn't dirty its hands with hardware like Apple does.
Well, I eventually installed the Windows 8.1 Phone SDK with my fancy new free developer license, and opened Animal Drivers in Unity. I had to strip it off some iOS specific scripts, but I was completely flabbergasted that the thing actually compiled a Windows Phone version of the game in just 20 minutes of plugin removals and SDK setup. Man, Unity is pretty amazing! Or maybe I overdid it on the demon offerings... I don't know, but I got the game out, and sent it to Microsoft. They said it was a-OK, and they told me they'd be sending me a free device for testing!
So this thing arrived in the mail with DHL's Ultra Express Delivery Mode, a shiny new Nokia Lumia 925 phone. I plugged it in, tried to get it to be a developer phone via my PC, but that was completely impossible. Spent a whole night trying to figure that shit out, but in the end I installed the SDK at my machine at work and got it to accept the phone as a dev phone. MS should learn from Apple on this point too, I've never had that kind of trouble with iOS devices, or even Android for that matter.
Once it was a dev. device, I could throw my game in there with ease. Suddenly I had Animal Drivers running on a Windows Phone! Awesome! Even my Unibill-driven in-app purchases were working! Now the only problem was the performance... I could only get it to run at something around 30 or less FPS. The Snapdragon S4 chip inside of that phone should be giving my game a lot more juice, but it didn't. I started reading on the forums about this, and apparently I'm not alone. Hopefully Unity 4.5 has made some progress on this issue.
Well, all in all, it's been a great experience to be part of Microsoft's Unity incentive programme, I got a free Windows 8 Pro license, a free phone for testing and I am now 100% sure that I am able (and willing) to be releasing Animal Drivers for Windows Phone!
While setting up localization for my game "Animal Drivers" I realized there are quite a few common words in gaming that could very easily be collected into a page for indie developers around the world to enjoy. And even better, what if one crowd-sourced this information and got as many languages as possible? Well this is my attempt at that, so if you know a word in a language or know of a common word that should be in the list, then please post it in the comments. I will update this post as soon as I find new translations, and once I have enough I will post a CSV spreadsheet ready for use with NGUI. Now if you're thinking of localizing your game or app, then you should consider that the most important languages with the largest markets for apps/games are: US, Japan, Korea, China.
Have a look at this GitHub repository I set up with an easy to read CSV file: https://github.com/hellobard/localized-game-terms/blob/master/Localization.csv
The list includes words like:
Start / Start Game, Next / Back, Continue, Restart / Restart Level, Try Again?, Home / Main Menu / Menu, Yes / No, Okay / OK, Cancel, Buy / Buy now, Coin / Coins, Key / Keys, Awesome / Cool!, Fight!
Update: Someone just pointed me in the direction of this Google Doc with every imaginable game word translated: https://docs.google.com/spreadsheet/ccc?key=0Al1cNCkGdEJfdF8xX0dsaHl6ZVpzMDF2OW9JaWVWMVE#gid=0
I have no idea if it's verified by native speakers or just Google Translated though, so be aware.
Translation success stories: Results of Translating Hit Tenns 3
How many people in the world speak English and how well they speak it:
A year ago, I started learning Unity 3D after having published several iOS and Android apps done with Xcode and GameSalad. My brother coded the first efforts, including our children's book "Jack and Joe" (which has sold several thousand copies, woho!), but he became too busy to work with me anymore. So I had to do everything myself. GameSalad was my first choice. But GameSalad was a very slow piece of software unfit for most kinds of game development. Games were incredibly slow since it is not a native solution, but a sort of emulation of software on top of software. Regardless of how it works, it was not very fast and my dreams of creating of more children's books and games were killed. At least until I decided that I would just bite the bullet, and learn Unity 3D.
As a 3D-artist working in the motion graphics industry for the Norwegian Broadcasting Corporation (NRK), I had a great advantage when getting into a game engine like Unity. I already knew a 3D package well, and understood how to navigate and manipulate an environment consisting of x,y and z. I had done things involving rigid bodies, skinning characters, alpha channels on materials, etc, etc. The rest was just about learning how to attach scripts and code in Unity.
After a year of development in Unity, I figured I would put together a list of things to do and not to do for budding game makers:
2. The Unity Asset Store
You can buy your way out of any problem.
If you're making an FPS, buy an FPS kit. Doing a car game? Buy a car system. 2D platformers? You can buy one and hack it to your needs. Someone has made what you want, so just cough up a little cash and fulfill your vision.
3. Google any problem
This may be seem quite self-evident, but it is as true for life problems like that weird rash on your back as it is for programming. Every kind of imaginable problem or challenge you encounter is something someone else has encountered and overcome. The Unity Forums/Answers are filled with solutions, Stackoverflow has a lot of threads on Unity and there are a plethora of video tutorials as well. Just google your problem and you will find a solution very quickly. Oh and put some lotion on that rash.
For your interface, you can forget about Unity's own GUI system. It is incredibly slow and not very good. First of all, you need to get NGUI. It's made by the same guy who is developing the Unity's new GUI system, so essentially you're getting the same. It's fast, and you could in theory get it's drawcalls down to 1. Reducing drawcalls is very, very important on mobile.
Another plugin you might want to get is FingerGestures which will allow you to do various swipe gestures. I use this in "Animal Drivers" for doing tricks, and it's a great solution.
5. Multiple resolutions & Pixel Perfection
Now, for pixel perfection on all kinds of different resolutions on mobile platforms, you can either figure out how to do something called "atlas switching" manually in NGUI or use the Retina Pro plugin which does this automatically for you.
Atlas switching essentially menas that you make one version of your graphics for every resolution ratio. So for a button, you'd make a 128x128 px button graphic for iPad Retina, one 64x64 px version for iPad 1 & 2, iPhone Retina and one 16x16 for iPhone 3GS. These kind of equate to the same in Android and Windows mobile devices.
You could skip the trouble of making pixel perfect games, but it will not look all that great. Take the time to learn how to do this properly.
6. Optimizing for mobile
This is incredibly important (exlamation mark x4).
Learn how to optimize for mobile graphics. The latest devices are fast as hell, but if you don't learn about batching objects and drawcalls, your beautiful 3D game might not even run on these superfast mobile devices. Reduce the vertex count on your objects, combine as many objects as you can into one mesh and try to pack several objects into one material.
7. Find a programmer
There will be times when you simply cannot figure out how to solve a problem. Either that or it will take you so much time that it is simply not worth it. You're busy, you are making a game. Find someone good and pay them to make individual scripts. Chances are, you will learn a great deal from these scripts and there is a basis there for hacking them to fit whatever future needs you have. This sounds expensive, but it doesn't have to be. I have paid anywhere from 10 dollars to 150 dollars for scripts I needed for The Sculptor or Animal Drivers.
8. Watch a ton of video tutorials
Some links to video tutorials:
9. Set your game to run at 60 fps
Add this to your function Awake to let your mobile device run at 60 fps : Application.targetFrameRate = 60;
By default, Unity (Apple?) caps your fps on mobile to 30 fps, and that is just not good enough for most games. My game "Animal Drivers" at 30 FPS is not a pretty sight. So what's the drawback to setting your game to 60 fps? Well, it will suck batteries like some energy demon from your player's device, but it's worth it. Players expect heavy duty content like games to drain battery, so it's fine and everyone does it.
10. Monetization - Go free
Statistics are showing that barely any games are premium (paid) anymore, and your game is extremely unlikely to make any money if you go this route. Even games with serious recognition and press are barely breaking even. You'll probably be putting years of your life into this, so make sure you choose the right path. My game "The Sculptor" made about 500 USD in ads in 6 months. It's a free game made mostly so that I could learn Unity on a very simple project. If I had gone premium on this, I would have made 10 dollars. And that would be from the few friends I could I force into buying my game. To monetize a free game, you need ads and in-app purchases.
Advertisements networks: Chartboost / RevMob: These two provide interstitials that pay exceptionally well. Someone installs a game via the ad in your game, and you're paid between 0.50 cents and 3-4 dollars. It's crazy. Now compare that to getting a one-time payment of 0.99 (-30%) in a premium app.
TapJoy With your free app, you'll want to include an in-app based economy. TapJoy provide a way for your players to get coins and gems without having to pay. They either have to watch an ad video or participate in an offer from an advertiser. The more they do, the more coins they get. It's a nice way to let users who don't want to pay get the items they want in your game. Everybody wins. TapJoy also provide interstitial ads like the ones from Chartboost/RevMob.
iAds / AdMob: iAds pay really well if you have a lot of daily users, and AdMob pays quite poorly even if you have a decent amount of users. I'd recommend going for interstitials rather than a constant banner. It's intrusive, ruins your game and you won't make all that much money off it really.
In-App Purchasing: You only need one plugin for this, and it's called UniBill. It's fantastic. One plugin will let you setup your in-app purchases for iOS, Android, Amazon, Windows Mobile, Mac App Store, etc. You will save yourself an anstounding amount of time and effort by using this one plugin.
Animal Drivers is my new stunt car game for iOS, Android and Windows Phone that I am working very hard on. Currently I am getting the core game loop working and I have some basic graphics and models implemented. As soon as the GUI and core meat of the gameplay is done, then I will start building models, cars and levels. That is something which I am REALLY looking forward to!
It's running pretty fast on mobile, 60 FPS on iPhone 5 and iPad 4 so far, and pretty well on iPad 2.
More updates on the game as it progresses! I am aiming for a launch sometime next year.
Just came across this wonderful service provided by www.GameAnalytics.com which seems to have some great tools for analyzing how your players are using your game. It even has an exciting heatmap tool that lets you see which areas of your map are the most visited. Great way to improve the player experience. I am implementing this into The Sculptor in the next update, and this should be a fantastic tool for my Car Game (top secret). Check it out here:
So Stupid Art Company's site (now Ghost Squid) got hacked by Russians. That was not much fun, so we are now back up on a new server and a fresh install of Wordpress. Note to self, never chmod 777 a folder ever again. Ever!
In other news, lots of new apps coming out. I have so many plans and projects, looking forward to releasing them!