Blog - Games

Dolphin Olympics 2 coming to mobile platforms as Dolphin Up

May 7, 2012

I'm excited to announce that Dolphin Olympics is finally headed to mobile devices! For reasons beyond my control, the game needed to be renamed. I've decided on the name Dolphin Up, as it encompasses pretty much everything this game is about in as few words as possible.

Dolphin Up will be launching first on iOS, as a universal app with support for iPhone and iPad, and then later on Android, Windows Phone, and possibly other platforms after that. I'm planning to post some more details soon, as well as some videos showing the new touchscreen controls in action. For now, here's a sneak peak at the new title screen for the game:


 

Dolphin Olympics 2 Facebook fixed

April 16, 2012

Just a quick update to let you know that the Facebook version of Dolphin Olympics 2 is now fully operational again. You should now be able to see your friends scores, and your scores should be saving properly as well.

You can also now view our shiny new DO2 Facebook Privacy Policy.

New tool impressions: Monkey

February 6, 2012

Back in the day, when I was getting started with game making, I was very interested in BlitzMax. The language was very easy for me to understand, and it produced fast, fluid games that could run on Windows, Mac, and Linux. I very nearly chose it over Flash. However the ease of distribution with Flash (ie. you can just send people a link to your game) won me over, and I left Blitz alone. A few weeks ago though, for whatever reason, I decided to check in on Blitz to see where it was at these days. Long story short, I discovered that Blitz Labs had released an entirely new programming language called Monkey that seemed to combine many of the features that I liked about BlitzMax with the features that I like about Flash, and then some.

Monkey is similar to C#, Java, or Flash, in that it is conceptually a 'write once, deploy everywhere' type of language. However the big difference with Monkey is that there is no virtual machine or plugin required on the target platform. Instead, Monkey actually translates your code to the native langauge of your target platform. To me, this is big for a few reasons:

  1. It lets you leverage additional libraries of code or other APIs once you publish to your target. So for example if I publish my Monkey game to Actionscript, I can go ahead and intergrate the Kongregate API.
  2. Because you are running in the native language, you are going to get better performance, and can optimize your code for the target platform.

Currently Monkey supports output in several different platforms and languages: HTML5 (javascript), Flash (actionscript), iOS (objective-c), Android (java), XNA (c#), and GLFW (c++). You can check out the Monkey website for more details on what it is, and for a demo version that supports the HTML5/javascript target.

So, that all sounds pretty nice. Monkey combines the BlitzBasic style of development with an even higher level of deployability than Flash. Not only can I make Flash games with it, I can make all kinds of other stuff as well. Too good to be true? Well, the jury is still out on how well the multi-plat exporting works. So far, I have only worked with the HTML5 demo. However if that's anything to go by, and the comments of people in the Monkey forums are to be believed, then yes, it works. What follows is a short summary of my impressions of the language after working on a few small projects with it.

What I liked

  • Monkey is a very simple, clean language. There are very few brackets or semicolons required, and overall the code is very readable. It is an object oriented language, with support for inheritance and interfaces. I'm not a super programmer software engineer type guy so I'll leave it at that. As a Flash developer I found it easy to pick up and use.
  • It comes with a small module called Mojo, which has some simple APIs for 2d graphics, audio, and input. I found mojo pretty easy to use and understand, though the documentation wasn't all that great (I'll get to that in a second)
  • It produces code that works. This might seem obvious, but until I saw my own code running in front of me, I was very sceptical. I was really surpised to see my work just magically appearing in Firefox, running smoothly. Really great stuff.
  • A small but active community. There are some dedicated users of the language who are already building and sharing code, from small snippets, to full frameworks.
  • Compared to some of it's competitors, it's quite cheap. $120 gets you a lifetime license and lets you publish to all platforms. Compare that to an iOS license for Unity and it looks pretty good.

What I didn't like

  • It has a walled off community. This was big for me. To post on the official monkey forums, you need to buy the software ($120 USD). I get why they did this, and I think I will likely end up buying it so it may become a moot point, but as a new user trying to get up to speed, I had no way to ask questions or engage with more experienced users. You can't even search the forums (pro-tip: you can do a domain specific search on google by going site:monkeycoder.co.nz your search terms). Overall I think this is going to hurt the product more than help it. I guess on the plus side, everyone who is posting is a registered, dedicated user, so once you get in there you know you are only talking to people who are really into the software. Still, I think a public forum for demo users would go a long way towards welcoming new users to the language.
  • The documentation is a little scattered and sparse. The basics are there, but it requires a little bit of effort to find things. The language is pretty new though and the BlitzBasic documentation is excellent, so I expect this to change over time.
  • Debugging is a little weird and sparse. You can get by, but there isn't anything like you'll find in Visual Studio, or even Flash Develop.

What I liked and disliked at the same time in equal amounts

Monkey is a young language. While the community is putting out a lot of good stuff in terms of modules and code, the chances are that at some point you are going to want to do something fairly simple and find that there just isn't a way to do it, so you'll have to write up your own module from scratch. For example, there is no default GUI API or code. If you want a button, you have to build it from scratch. I actually kind of like this, because it gives me a complete understanding of the code I'm using, but at the same time, it is time consuming. Your mileage with this may definitely vary, depending on how much you like coding, and what kind of things you try to do with Monkey.

Overall I dug Monkey quite a bit, and am planning on getting a full license soon. Despite it's shortcomings, it feels more than adequate for the types of games I want to make, and will let me target many more platforms that I can with Flash. If you are into building 2d games and are looking for something that can bring your games to multiple platforms, then definitely check Monkey out.

Links of note

19451: A simple scrolling shooter I built in Monkey. Uses Ari Feldmans awesome SpriteLib graphics library

Goldbergboros: The game I worked on at the Vancouver Global Game Jam, built with Monkey. It is kind of unoptimized and slow to load (we didn't really have time to tweak it), so please be patient.

Jungle IDE: A great IDE for Monkey

Monkey Module Registry: It's kind of buried in the Monkey forums. Some good pre-built libraries of code here that you can use.

New tool impressions: Unity

January 31, 2012

I just finished up the Vancouver Global Game Jam, and after sleeping for almost an entire day,  I am alive again! I think I coded for over 24 hours straight, which is definitely some kind of record for me. I am going to write up a post mortem on the experience soon, along with a link to the game our team developed, but in the mean time I wanted to write up my thoughts on some new tools I have been checking out, one of which we used at the Jam.

Over the past couple of weeks prior to the Jam, I had been evaluating some new tools that I could use to port some of my titles to mobile (iOS and Android specifically). I checked out quite a few, and narrowed down my search to two: Unity and Monkey.

Unity you may have heard of. It’s a high-end 3d engine that can publish your project to a variety of platforms, including iOS and Android. I’ve liked Unity since the first time I laid eyes on it. It came out of the gate doing everything that I wanted Adobe to do with Flash: supporting 3d and hardware acceleration in the browser, catering to game developers (Adobe was focused on Rich Internet Applications, or RIAs, for a very long time, and seemed content to ignore all of us folks making games with it), and they offered their tool for free, so you could get up to speed and experiment with it without laying down any cash. Not surprisingly, they have attracted a sizable, active community, and it continues to grow.

I played around with Unity quite a bit, putting together some simple prototypes, and running through a few different tutorials. I really like it. The Unity team seems to have really thought through the process of getting a game up and running quickly. In many ways it feels very drag and drop, but once you start digging into the scripting and looking at the coding APIs, you realize that you have an extraordinary amount of power in your hands.

So what’s not to like? Well, it wasn’t that I didn’t like Unity, it was that in a lot of ways it felt like overkill. There are so many options in it that are clearly geared towards high-end games with larger budgets, larger teams, and most importantly, 3d content, which I am currently not planning on working with. If you just want to get some small 2d graphics flying around the screen, using Unity is, as Mr. Tom Grochowiak puts it, “like trimming a bonsai tree with a chainsaw.” Too much power isn’t necessarily a bad thing, but there are so many options in Unity and things to wrap my head around that I felt like I was wading through technology I really didn’t need.

Unity is a very nice tool, and I think that in the future if I decide to start building with 3d (or just cave to the urge to start typing ‘eulerAngles’ and ‘spline’ over and over), I will definitely use it. However for the time being, I am leaning towards using a different tool. In my next blog post, I’ll take a look at Monkey, a new programming language that feels much more geared towards my immediate purposes, and the tool we used to build our game at the Vancouver Global Game Jam.

My-Escape / Critter Cubes

February 4, 2011

*COUGH*...is this thing still on? I can't believe I haven't updated in 3 years. I'm tempted to write about how I will definitely start updating it more regularly, but I know that's probably not going to happen. With my track record my next update will slide in sometime in 2016.

Anyways, though the website has been laying dormant, I have been busy with life and work. On the games front, for the past 6 months I have been working with the game design group My Escape, a great bunch of folks from all over the world who have come together to build killer flash games. So far we've done one, called Critter Cubes, a game about evacuating frozen animals from a zoo in Antarctica. The game taught me many things, such as the power and challenges of the great Box2D, and the relative difficulty of crabs. I encourage you to play the game!

I am not currently doing any development on the next game from the group, as I am currently running in standby/support mode while I get ready for the arrival of my first child. However I do plan to stay busy this year and put out some new games.
So there you go, three years of updates in one post. That wasn't so bad, was it?

Page 1 of 2 pages  1 2 > 

Categories

Play some Games

  • Tugboat Captain
  • Critter Cubes
  • Rocket Assault
  • Happy Goat Lucky
  • Dolphin Olympics 2
  • Wake Rider
  • Dolphin Olympics
  • Pool Madness