X
X

Login

Login if you already have an account

LOGIN

Register

Create a new account. join us!

REGISTER

Support

Need some help? Check out our forum.

FORUM

How James Paulin built a game from scratch in 72hrs using FatFractal’s backend.

Every so often we get contacted or tweeted at by FatFractal users about how our platform was able to benefit them in various scenarios. This is a story about a hobbyist indie game developer from Oxford, UK called James Paulin -
(t: @jimmypaulin).

James went on Ludum Dare – a website that  gaming development competitions – and was challenged to compete and develop a game from scratch in 72hrs.

As you know, building a functional game from scratch can be a very intensive process. Not only do you have to write and develop the code for all the functionality and mechanics,  you will also need to spend a decent amount of time designing the game to make it look good or at least visually passable – keeping in mind the 72hr time frame. An important part of development you cannot overlook however is having to set up and deploy the backend to make it all work across the wire.

James is not a full time game designer. He is a father, a family man, with a day-job in IT. Writing boilerplate backend code is a well-known tedious task. Telling a computer how to process and handle data is extremely important yet is very repetitive and dull. The reason he was able to pull through the development process and keep it within the time frame was the ability to set up a working backend in a fraction of the time and effort it usually takes.

Setup:

The game, called Trappy Tomb, takes place in an Indiana Jones/Tomb Raider style environment viewed from a top-down perspective where the ghosts of previous players haunt you as you play. The app scaffold for the game was done in advance, then all it took to get up and running was to hook-up JavaScript callbacks in the game engine. James said “It took 45 minutes to get it all up and running. It was very fast, it just works”. Once the backend was deployed, he added the object model into the game and that was it. “It was an early boost that helped in the competition.” he said.

At this point James was able to better focus on the Client Side of things, the more important parts of development, the fun stuff! He was now able to give more time to developing the functionality and design of the game. The end result scored highly on innovation points but also scored well for gameplay and graphics. Other contestants were intrigued by his unique Client-Server-based setup, and are interested in testing and using the FatFractal platform for this very reason. James wrote a postmortem about the whole process on his SuperFluidGames blog.

He had previously experimented with the FatFractal platform back in January after he found a written article about FatFractal on Ray Wenderlich’s website. He then recently came across a simple tutorial on the FatFractal Github that showcases the platform’s abilities.

Quoting James: “I chose FatFractal for the server backend and it worked really well. It doesn’t require much setup at all and there is no Server Side code needed. You simply log-in a user and push your objects to the server. You can then pull them back with a rich query language.”

Scalability:

One of the issues James was curious about is Scalability. Without warning, his game picks up across the web and suddenly he notices a huge spike in the number of users playing the game. Without panic, or the need to take the game down, Trappy Tomb was instantly and automatically able to handle all the extra load without experiencing any hiccups, thanks to FatFractal’s proficiency in scalability.

Security:

This is usually a dreaded part of development. Ensuring that your application will run securely over the wire without fear is not an easy task. James’s concerns are derived from the MySQL injections he previously had to handle. “I am not a system admin and have no experience with network coding and internet security. Having to write custom solutions for cryptography and secure user accounts – its so boring.” he said. “It gave me free time to do the fun stuff. Shove the data up to the server and use the FatFractal rich query language in a string and get a bag of data back down. Love the rapid tight loop around that. It’s very appealing, and takes the pain out of worrying about capacity, scaling, and security.” he added.

Support:

The FatFractal customer support has always been one of our best qualities mostly thanks to our resident software engineer Gary Casey.

Here’s James’s scenario (in his own words):

* Open to abuse. I really should have seen this coming, I really should, but I figured it was unlikely that the game would make it outside the Ludum Dare community and so everyone would ‘play nice’ with their comments. Alas it was not to be and on one occasion I was confronted with some extremely offensive language that caused me to take the game offline immediately. It took a few days to work out a solution and thanks go to Gary at FatFractal for his support (t: @gkc). I settled on a system whereby all comments are immediately added to the local game, but will not appear in anyone else’s game until I’ve moderated them via a holding area. This actually has the side benefit that I can read all the comments as they are added.”

This development scenario is not one that’s unheard of. Developers will usually have to battle bugs, overcome security problems, and power through all obstacles to make a piece of software work properly. The FatFractal platform is always there and ready to give your app a solid kickstart.

In the end, James came in 14th place out of 1045 entries in the 72hr jam! He has plans to continue developing Trappy Tomb into fully fledged iPhone and iPad apps. Keep an eye out for it.

In the mean time, get started here with a backend for your app for FREE.

Truth In Code

FatFractal

FatFractal ups the ante in Backend-as-a-Service market

Anyone who has developed a smartphone app would have set up servers and built backend services such as location services to support the app. You could do this on your own servers, or tap on IaaS and PaaS providers like Amazon Web Services (AWS) and Cloud Foundry.

But whether you choose to build and host your app in-house or through the cloud, you’d still need to deal with social media integration and set up virtual machines, user profile services, and more.

The Market:

In the past year, a handful of startups have formed a new category of cloud services known as backend-as-a-service (BaaS) to ease the task of setting up the nuts and bolts for running mobile apps. The new players such as Kinvey, Parse, CloudMine and more recently, FatFractal, all provide mobile backend services such as data storage, push notifications and user management.

“The BaaS players are providing application developers with an instant backend so that they don’t have to manage one,” says FatFractal’s chief marketing officer David Lasner.

While developers can turn to the likes of AWS to build a mobile backend, they have to configure their cloud infrastructure extensively, such as defining an event model that triggers what happens when a user, say, checks in at the same location several times a week.

“And you’re wiring it all together every time you want build an application,” Lasner says.

What we were looking for is something that would give you the native code support, an event model and security that works, so you can stop using the heavy stuff on the enterprise side. You have some pretty smart people out there, but it was still incredibly hard to build these cloud-based apps. That’s why we built the FatFractal platform,” he adds.

Upset the Status Quo:

The new BaaS offerings have the potential to upset the status quo in enterprises that typically control who develops apps and how apps should be developed, says FatFractal’s president Kevin Nickels.

“At the strategic level, they should think about how every employee should be able to write an app, or that customers should be able to write their own apps and access corporate information they way they want to. That’s a really hard thing for an IT department to wrap its head around,” he says.

According to Lasner, FatFractal took about two years to build and allows programmers to write applications in native environments such as Java and Objective C.

“You’ll also get out of the box services integrated in your object oriented world that allows you to do some complex modeling,” he says, “I often joke that if the Facebook team used the FatFractal platform, all the problems they had with the privacy of photos and groups would have taken a month to resolve.”

FatFractal also provides access into the backend, which not all BaaS players allow, according to Lasner. “That’s a problem because if you’re going build a software architecture for the cloud, most of the heavy lifting should happen on the backend. So, while it’s great to not think about data stores, I also want my business logic, events model and custom code to run on the backend”.

As an engine-based platform, FatFractal also allows developers to use familiar technologies to write apps and run the platform, including data stores and services, locally on their own PCs before deploying to the cloud. “Developers love to build things on their own machines because all the tools they’re using are available there, and you don’t have to rely on a network.”

A concern among companies considering BaaS services is the risk that service providers could change pricing models or go bust. Lasner assures developers that there is no vendor lock-in with FatFractal, as the platform uses the same data models in standard programming languages such as Java. That means you can move your app to another infrastructure service or platform, Lasner says.

How developers will take to FatFractal and the other BaaS offerings remains to be seen. After all, to developers, IaaS, PaaS and BaaS are merely different parts of the larger cloud infrastructure required to run their apps.

As Nickels puts it, “there is no need for BaaS to be separate from PaaS; there are no separate markets and at some point, they are going to collapse into a single definition”.

By: Aaron Tan

Contact