Thursday 22 November 2012

Choosing an iOS Engine Update: Sparrow

Hi,


A while back I wrote about choosing a game engine for iOS. And now I want to add one to that list. The one I want to add is Sparrow:

Sparrow iOS

This is a great 2D game engine. It rivals Cocos2D, though might be even better. It's not as big as Cocos, both in features and community, but it's more concentrated. One of the problems I had with Cocos2D is that there simply is too much, which can make it annoying to use. Sparrow doesn't have that problem, it's much cleaner.
It does however miss some features, the biggest being a build-in physics engine. Though you can just use Box2D (which is what Cocos2D uses too) and make them play together yourself, which isn't too hard.


As a bonus I also want to note that Unity just got an update, now it's at version 4! The best thing is that it now has social API's, so you can easily promote your game by posting stuff to facebook or twitter. There are also a bunch of other cool new features, but that's not what this post is about.

So yea, have fun making games!

Tuesday 6 November 2012

iOS Gyro Controller for Unity

Hi,


While playing around with Unity Remote, to control my game with my iPad, I noticed that the gyroscope doesn't work. This sucks, so I tried to find a solution. I found one from the guys of Quick Fingers, though it needed some tweaks, so I'm writing an updated version here. You can read the original tutorial here, mine will be shorter and more to the point.

Needed Soft/Hardware

  • Unity3D and a mac
  • An iOS device with Gyroscope (any new iPhone, iTouch or iPad)
  • Control for iOS
  • Osculator (trail, 20second wait every 10minutes)

Steps

  • Install and start  Osculator and open the QuickFingers file
  • On your iOS device open Control, in 'Interfaces' add a new one and enter this URL:  http://www.quickfingers.net/unitygyro/layout.js
  • In Unity setup your Input Settings like this: 

  • Now you can use this in Unity, here's how to convert it to a quaternion:
float gyroX = Input.GetAxisRaw("GyroX") * 360.0f;
float gyroY = Input.GetAxisRaw("GyroY") * 360.0f;
float gyroZ = Input.GetAxisRaw("GyroZ") * 360.0f;
Quaternion rotation = Quaternion.Euler(gyroX, gyroY, gyroZ);

Now you can use rotation as the rotation of your camera yo create a window into your game. Kind of, since no image is send to the iPad... Still, it's great for testing and a lot of fun!

Saturday 8 September 2012

Web-Apps without Javascript

Hi,


Recently I've gotten very excited about web-apps, little programs or games that live in your browser. The great thing about them is that they work on any device that has a web-browser. That means they work on your home computer -whether you're using Windows, Mac or Linux- but also on your iPad or any other tablet. This is really awesome. Another great thing is that you can circumvent Apple this way, you don't have to put your app on the AppStore, you don't have to pay the 100$ developers fee and you don't have to wait weeks before it gets reviewed!
The downside, however, is that you'll have to use Javascript, which, in my opinion, sucks. Luckily it's not true! In my search for a better way of creating web-apps I found two very promising alternatives to Javascript, and they are both great.

Google Dart

Google Dart is great. It's an entirely new programming language made to replace Javascript. It's a proper programming language, looking a lot like the C-family. It's properly object-oriented and supports interfaces, generics and (optional) typing. The beautiful thing about it is that it compiles to Javascript, so even though Dart isn't supported by most browsers yet -only by a nightly build of Chrome-, the apps you make can still be run in them. And since Google is backing this project, with a little luck you'll see support for Dart soon.
Now, Dart isn't perfect yet. Since it's very very new, there aren't many tutorials yet, so learning it isn't as easy as other languages might be. Neither are there many libraries yet, so you'll have to make everything yourself. Though this might be a positive point, if you like making libraries and tutorials, this is a whole new world that needs your help!

Haxe

The second alternative I found is Haxe. Haxe might be even more awesome than Dart. Haxe, just like Dart, is a whole new programming language. Though instead of being specifically for web-apps, it can do a whole lot of stuff. It too compiles to Javascript, but also to Flash and natively to Windows, Mac, Linux, iOS, Android and more!
Haxe's syntax looks like Java or Actionscript. Just like Dart, it's object-oriented, strictly typed, supports generics, and more. Anything a modern programming language needs.
Unlike Dart, Haxe is already widely used. So it has a bunch of tutorials and libraries for you to use. And even though it doesn't have a big company like Google behind it, it has a very active development team and community. On top of that it also has a very good standard library. Also, if Dart ever becomes the new standard, someone will probably just make a compiler from Haxe to Dart.

Update 12/09/'12

I've been working a bit more with both Dart and Haxe and wanted to add that Haxe truly is a more mature language. It's just been in development for much longer, and has some features Dart is missing. It's just a matter of time before Dart adds these features, though right now Haxe seems to be the better choice.


So, now you know your options when you want to make web-apps but Javascript is killing your buzz. Both languages are great, and both are worth a try.

Friday 29 June 2012

Remotely download torrents from iPad

Hi,

Yesterday I wanted to download something to my desktop, though I was watching a movie on my iPad in bed and was too lazy to get up. So I searched for a way to use my iPad to tell my desktop to download a torrent. Of course the first thing I did was google it. The first thing I found was something to download directly onto your iPad, though this required me to create an account somewhere and some other sketchy stuff. The second thing I found used dropbox to sync torrent files to your desktop. Neither was really what I wanted, so I just figured out a way of my own. The great thing about my way is that you can even use magnet links, which isn't possible with the Dropbox method.

Here's what you need to do:

  1. Install uTorrent on your desktop.
  2. Enable Remote:
  3. Go to https://remote.utorrent.com and log in using the name and password you set in uTorrents. Then pin this to your home screen. Pinning it is optional, though it's very useful.
  4. Go to your favourite torrent website and copy the torrent or magnet link. Don't download the file, copy it's link.
  5. Now open the remote uTorrent again and paste the link you just copied into the app at the bottom right:
Now everything is set up to start downloading stuff. This same method will probably also work for Android, though this is untested by me.

Now go download some awesome legal stuff and prove torrents aren't evil!



Wednesday 13 June 2012

Choosing an iOS game engine

Hi,

I'm planning on making an iPad game, so I was looking around for an engine to use. I looked through a whole lot of engines, tried a bunch and selected three. If you are looking to do some development yourself, read this and you'll know what engine is perfect for you.
All engines in this post have the ability to compile for iOS, though they all can also publish to other platforms. I'm here to select one for an iPad game, but you might find the perfect one for an other platform too.


Cocos2D for iPhone

As the name suggest this one is for 2D games. It's really powerful and uses Objective-C as a programming language so it's the only truly native engine. Objective-C isn't easy though, so this engine is probably for people who already know some programming. It can make apps for both iPhone and iPad (and Mac too if you're interested in that.)

Cocos2D is for (experienced) programmers who want to make iPhone or iPad apps.


PhoneGap

This is another 2D engine. The big difference though, is that it doesn't make native apps. It uses HTML5 and Javascript to make the app. Thanks to this you'll be able to make iPhone and iPad apps, but also play your game in the browser, on android and pretty much anything else. Javascript is really easy so if you just want to make awesome games without having to learn a complex programming language, this is for you.

PhoneGap is for anyone who wants to make games, with or without programming knowledge. It's absolutely perfect for people with web development knowledge, since you'll be able to use the language you already know.


Unity 3D

Unity is awesome, it's definitely the best free 3D engine out there. You can program in c#, java and boo, all are easy so you can select the one you already know or just select the one that looks coolest. Unity is free to use for desktop and browser apps, though will cost you a bit when you want to publish to iOS. You can always make and try out your game on your pc and then later buy the iOS license. I have worked a lot in Unity and it's just really fun to make game in it.

Unity is for anyone who wants to make 3D games for any platform.



I hope this post saved you the time looking for an engine and that you now know which one you'll be using.

Update: Another great option might be Haxe. I wrote a new post about this and Dart, might also be a good option if you're making iOS games: http://anoddcupoftea.blogspot.be/2012/09/web-apps-without-javascript.html

Update: I added one to the list, Sparrow. http://anoddcupoftea.blogspot.be/2012/11/choosing-ios-engine-update-sparrow.html

Have fun making games!

Sunday 3 June 2012

Hello World

Hi,

Let's start blogging! I'm Pablo, and I'm a game programmer, well I hope to be one soon. So, no better way to start a blog than with a 'Hello World'.
I'm not completely sure yet what this blog is going to be all about, though probably games, game development, silly internet stuff, ... I'll probably write about my own games too, I'm hoping to start doing some iOS development for fun. Maybe I'll even post some tutorials so you can learn something too!

So yea, since no-one is actually reading this yet, I'll finish this post.
Thanks!
-Pablo