Indie Game Developer Resources

Quick Note
This resource page hasn’t been updated in over a year. Content may be outdated and is certainly incomplete. I leave it online as is because it’s frequently visited and does serve as a good starting point for further research.

The List
This is my annotated link list of everything that is helpful in answering the question: how to become an Indie Game Developer? It includes war stories, links to sites where you can upload games, e-business, legal, free assets, game development techniques, and more. I’m irregularly updating it whenever I learn something new as part of my “research project”. Will i ever go indie? Do i have what it takes? Can i make a living on creating indie computer games? Well, that’s what i’m trying to find out, too…

Please excuse the sloppy layout of this page. This is basically a reference for me, sort of an enhanced and shared bookmark list. I don’t put much effort in it right now other than adding more links. Once I’ve learned which resources are truly great and useful and when i have quite a bit of free time to waste i’ll eventually improve the layout and content of these pages, just like my Scrum pages over here.

Runescape Classic – Still Playable?

Runescape classic is a game, or was a game. It was not the first version of the runescape, as there was a beta version of it called Devious Mud. It was released in 1999 with only a handful of people able to play it (Andrew Gower, if you’re still reading this — I would love to try it out!). Nonetheless, Andrew Gower and family (Paul Gower, Ian Gower) decided to make Runescape based on this version and released it in 2001. It was a success and therefore Runescape 2 came out, and so on. This particular blog post will talk specifically about Runescape Classic and answer the question if it is still playable in 2019.

runescape classic closing

Short answer: Yes.

Long Answer: No.

Let me explain. Runescape classic closed down in 2018. There were not many players, most of those players were using automated software AKA bots, macros. Two of the main reasons why the game was closed was because 1) people moved on from the game and 2) the Jagex team had to focus on the other two latest versions of their game.

Now, you may ask, how is it playable if shut down? There is a thing called a private server, which is essentially an illegal game server that duplicated runescape classic and lets people play. Now, the reason that it is illegal is because 1) it breaks A LOT of copyrights 2) it obtains NO authorization from the rightful owners — neither Jagex nor the Gower brothers. These private servers have passion, but blatantly copying the game using stolen content without asking anyone is a big no in my book. Additionally, you don’t know the people behind these private servers or when they will decide to turn the servers off.

I loved runescape classic as much as you, or even more, however I see private servers as a very risky thing for the reasons mentioned above, but also the risk of viruses/malware. Now, if a reputable company with a name bought the rights for the game, I would be all for it. But this has not happened yet.

If you do want to play, I will talk a little bit about the existing private servers. I will be using my research, along with my friends personal experience of playing some of these private servers.

The current list is as follows: RSCEmulation – 63, RSCRevolution – 64, OpenRSC – 4, RSCVanilla – 5, RSCDawn – 7.

The names listed above are listed from oldest to newest, by creation date.

To give you an idea of how many people are playing each server, I wrote the number of online users besides the server name. As you can see, most people have moved on from runescape classic altogether.

UPDATE: I have talked to one of my friends in detail that still plays runescape classic private servers and am happy to give the pro’s and con’s of most of these servers.

RSCEmulation Summary: Decent server, very active, bought/sold ownership is constant.
Pro’s:
– Very Active

Con’s:
– Constantly bought/sold ownership
– Not fully replicated
– A mix of RS2 skills, abilities, not 100% RSC.
– Pay-to-win

RSCRevolution Summary: Decent server, very active, original ownership.
Pro’s:
– Very active
– A lot of development
– Helpful staff members

Con’s:
– A heavy mix of RS2 skills, abilities, not 100% RSC.
– The most heavily modified private server, including skills, landscape and items.
– Pay-to-win

OpenRSC Summary: Decent server, active development, open source.
Pro’s:
– Semi-active
– A lot of development
– Open source
– No pay-to-win

Con’s:
– Low player base

RSCVanilla Summary: Decent server.
Pro’s:
– Semi-active
– No pay-to-win

Con’s:
– Lower player base

RSCDawn Summary: ??
This server has not been tried yet. It’s relatively new with a low player base.

Conclusion…

Should you play a private server? You may want to, but you will probably be disappointed. If you were to choose a private server to play runescape classic on I would recommend OpenRSC. It is open-source, there is no membership fee’s and there is no pay-to-win.

For me… I will be moving onto other games. Rest in peace Runescape Classic.

F.E.A.R. 2 – is it scary, or what?

I’ve started playing F.E.A.R. 2 yesterday, i completed the first three “intervals” as they call it. As someone who didn’t quite think of F.E.A.R. as being particularly frightening, or even horrifying, i was wondering wether and how the second part managed to grip me.

Yes, it did grip me. Somewhat. Not as intense as Dead Space but it definetely had me on the edge a few times. Still it made me wonder … the horror scenes are very well put, the sound is great and adds to the shock element, and so is anything they do with the lighting. It’s better than the first F.E.A.R. because it has the typical extra care and polish that goes into a sequel. But under the surface i’m once again starting to get used to and “meh” the horror the game throws at me. I can’t say i’ve had a revelation but i certainly come to understand a few things why it doesn’t cause me to shiver and crawl under my blanket as much as Dead Space did.

First of all, the horror in F.E.A.R. is – at least so far (and as far as i remember the prequel) – almost completely detached from the action. As a player, i quickly realized that whatever is happening in the phases of the game where i don’t fight but am supposed to be scared, that actually nothing ever happens to me. It’s more like watching a movie with me controlling the camera but nothing else. So i can feel safe and once you realize that whenever there are no enemies around, the game is just fooling with you and your perception by playing sounds and doing the horror-typical “lightshow”, i slowly become detached from the horror. I’m not “in” it. The horror poses no threat to me, the Combine-like soldiers do. And they usually announce themselves and the game also plays combat music until the final enemy of this wave is eliminated, so i don’t have to worry about being scared while fighting. So basically, F.E.A.R. is two games that simply take turns: a tactical first person shooter, and a “survival horror” game without the survival aspect. You just walk down dark corridors through flickering lights and see if it scares you if you see a shadow at the end of the corridor moving, or glass shattering next to you, or some ceiling panel falling down in front of you, or someone hammering on the window and subsequently getting shot.

Don’t get me wrong, F.E.A.R. is a good game so far, and that the game takes turns between being an excellent FPS and being a horror game without combat has it’s benefits as well and may work better for some people. However, like the first incarnation, the horror elements get old pretty quickly. It’s just too much horror movie standard, if not cliché, elements thrown at you.

Dead Space does a much better job at integration the horror and suspense with the action, because everything that frightens you could also potentially be a threat to you, which makes the whole experience so much more intense. The space setting, at least for me, does a great job as well because you truely feel alone. Ok, almost alone. Whereas in F.E.A.R. 2 while going up the skyscraper in the elevator you see a vivid city around you, helicopters fly by, you’re in an environment that is familiar to you. So, necessarily, the horror seems a bit superimposed on the whole FPS shooter thing, it doesn’t really blend or merge. However i would be surprised if that was ever the intention of the developers. I think they made a conscious decision to have the player go through these horror – shooter – horror – shooter sequences. Maybe it just doesn’t work so well for me? Or maybe their intention was never to scare the crap out of you but instead just to get some adrenaline going to make the upcoming combat sequence so much more intense and then follow up this intensity with carefully crafted horror elements. Rinse and repeat.

In addition the inventory (PDA) in F.E.A.R. 2 pauses the game. Which makes browsing the inventory a “safe” experience, i could imagine some players purposefully opening the inventory screen just to, sort of, relax. Of course, if it weren’t for the constant high-pitch noise F.E.A.R. 2 plays while the inventory is shown. This noise is so stressful (i’m playing with surround headphones) that i can barely skim over the intel texts before i have to close it again. It kills me braincells! In Dead Space on the other hand the inventory is projected into the surrounding 3D world, it feels like part of your character and the game continues while you’re in the inventory. This not only keeps the feeling of immersion, i believe it enhances it even.

If i had to sum it up, i would say that F.E.A.R. 2 is a great game both in the shooter and the horror part. While it is the better FPS shooter (in the classical sense) Dead Space has the stronger experience that goes with melting combat and survival horror together. F.E.A.R. is made for classic FPS combat while Dead Space is made to fear the unexpected, the horror and subsequently dismembering every limb you can find – (still) moving or not.

Cocos2d Iphone Resources

I’m providing generally useful classes for use with cocos2d which i’ve either written myself or taken from elsewhere (credit given as far as i know) and if necessary, modified it, enhanced it, fixed it. In all cases, i converted the format to regular Allman / ANSI style as that’s what i’m used to and i find it more readable. If you do prefer the K&R style it should be easy to convert, if necessary make use of a code formatting tool to assist you with that. I don’t know any – if you can recommend one, let me know and i’ll add it.

Currently, the code includes the following classes/methods:

  • LayoutHelper – touch and drag sprites around to layout them visually instead of manually changing coordinates. Refer to Blog Post for more info.
  • PlayMusicAction – a CCAction that lets you queue several MP3 files which are played in succession.Refer to Blog Post for more info.
  • AlertPrompt – shows an AlertView that asks the user to enter some text. Original code by Jeff LaMarche, i made a small modification to the height of the view (a bit hack’ish but it works … you’ll know it when you see it). Maybe that issue only appears if you’re in landscape mode. And if you know of a better way, or how to pre-fill the textbox with some text please let me know.
  • SendMail with CocoaHelper – allows you to use In-App Mail in any cocos2d app, and it works correctly both in Portrait and Landscape mode. You might want to read my quest to get In-App Mail working in Landscape mode. The SendMail and CocoaHelper code are originally put together from fragments i found in the cocos2d forum but i since have lost the links. However, the code has changed so much over time that i think i can now call it my own. Let me know if you want to be given credit for the original Cocoa integration and SendMail code fragments and i’ll add the link here. CocoaHelper’s static methods allows you to display/hide any ViewController’s views on top of cocos2d.
  • LocaleHelper – makes localization of your app easier. These static methods allow you to get the preferred language, get/set a specific language and get/set the language string (“en”, “de”, etc.). It currently supports only english and german but can be easily enhanced to support more languages – you just need to add it to the language enum and the language’s string identifier. I use it in SendMail to get the correct language strings via NSLocalizedStringFromTable for the “email is not setup on this device” AlertView.
  • MenuGrid – it bothered me that CCMenu only aligned menu items either horizontally or vertically, i needed a grid! Since i was not successful in subclassing CCMenu i simply copied what i needed from CCMenu and enhanced it so that i could align my CCMenuItem sprites in a grid layout. I used it to display the tiny 51 Japanese Characters where they are all on the screen at once. In hindsight i probably could have done it by using several CCMenu next to each other but i think there was some reason to do it with a MenuGrid instead, i can’t remember why though.
  • Screenshot – static methods for creating a screenshot in UIImage, CCTexture2D and PNG (NSData) format. Refer to original cocos2d forum post by manucorporat for more info. This code is intended to be included into cocos2d so the code may already be integrated in cocos2d’s CCDirector by the time you read this.
  • ShakeHelper – detects screen shakes and calls a delegate. The original code was posted on StackOverflow by millenomi, developer of the Diceshaker App.
  • Utilities – a collection of useful static methods. I made a method that cleans out certain short-lived textures from CCTextureCache to preserve memory. Textures or Sprites that are given the particular kDontCacheTexture tag can be removed from CCTextureCache with a single call anytime you want. Another method gets a random number that is in a range but excludes a particular number, useful when you want a random number that is different than the one you currently use. And lastly i found some code to get the available free memory on the device. Print this on a CCLabel to see if you’re low on memory or how much memory you saved by using the kDontCacheTexture tag or by making other changes, for example switching to a TextureAtlas.

All of my own source code and modifications i made are licensed under Creative Commons BSD License. Code originally created by others sometimes does not have any explicit license attached to it – but since it was posted in forums, blog posts and other public places i think it’s safe to assume it to be free, as in public domain. If it is not, and you would like your code to be removed or put under a specific license, let me know and i’ll change it.

Scrum Resources

On this page i keep a number of videos, presentations, blog post, recommended books and so on that focus on Scrum and related topics, such as Leadership, Development Processes and Project Management. I try to get as many videos up here because, truth be told, they may not be as instructive as articles and whitepapers but they do sell you on the whole Scrum and Agile development frameworks. So they make good material to show to anyone who doesn’t need to know all the details, and/or to get them interested in the first place.

I ensure you that i will not just add any promising or recommended link that i’ve come across here. Instead, i’ve watched every video, read every paper, blog post and book and deemed it helpful, inspiring and instructive before i put it up here. This is a list of my recommendations for Materials you can use to learn and teach about Scrum in your organization.

Have fun learning Scrum!

Apples Ipad Has 256 MB Of Ram

It’s a simple calculation if you take the iPhone 3GS as baseline, which has 256 MB of memory. If we look at the numbers of available memory on the iPhone 3GS we notice that the maximum free memory on the 3GS is close to 150 MB – if you want to be in the region where you don’t want to encounter memory warnings you need to be below about 120 MB.

I know that iPad developers reported iPad App rejections (no sources given to protect the innocent) when memory usage was between 120 to 150 MB. Unsurprisingly this is also in the range where you get memory warnings or crashes on the iPhone 3GS. That leaves me to conclude that the iPad has 256 MB of RAM and not 512 MB as stated on Wikipedia (without citation).

It’s still plenty to work with though even if you consider the larger framebuffers, 6 MB on the iPad compared to the 1.2 MB on the iPhone 3GS for two framebuffers. You have 5 MB less to work with compared to the 3GS, that’s at most 4% less available memory.

On a related matter – would you like to see the iPad taken apart piece by piece? They conclude by the memory chips that the iPad does have 512 MB by decoding the chip numbers. I’m not so sure about that – it’s two 2 Gigabit chips apparently making 512 MB but then the question is: why do we developers see the same free amount of memory as on the iPhone 3GS? Why and how does the iPad keep the remaining 256 MB to itself? I remain doubtful that it’s really 512 MB.

For us developers, the device seems to offer only the same free amount of memory than we have on the iPhone 3GS – so it doesn’t really matter whether the iPad has 512 MB or 256 MB RAM in hardware.

CONFIRMED: iFixit have since corrected themselves and now say that the iPad has indeed 256 MB of memory.

First Steps Towards A Cocos2d Hex Tile Engine

I decided i should start with the first steps towards my own game. I already know that it needs to be tile-based because that makes a lot of things a whole lot less complicated. I also know that rectangular tiles just don’t cut it and hexagons are the way to go. Not only that, they’re a natural fit for what i intend to build – but no, it’s not going to be a wargame and you’re not going to move around entities across the grid either. For now i’ll leave it up to your imagination what the heck i might be doing. It’ll become clearer over time. 

I already know about the scaling issues of tiled engines, this cocos2d forum post being a good example. So i’m wary of mathematically correct hexagons (correct as in fractional vertex coordinates) and instead tried to come up with a simple hexagon shape whose vertices all lie on fixed point coordinates. In the image below it’s the top row. And as you can see in comparison to the perfectly shaped hexagons below (implemented according to this 8-year old Gamedev.net article) they are a bit compressed along the Y-axis. But that is actually ok since i would prefer a look not straight from above but at a slight angle, so that any objects can be drawn as seen from a 60° or even 45° angle. On the other hand each object now needs 5 images for each of the 6 directions, with the horizontal direction mirrored. And hex tiles can’t just be rotated to any angle, only flipped along the x axis. So there’s a lot of gfx to be done (and paid for) but i’ll worry about this later on.

In fact, i fully intend to work on this game off of my mind, step by step. No big plans, just one step at a time, and see where it leads me to. I have some grand ideas of course but i see them more as a guiding light than a plan that needs to be implemented. If i learned anything from the process of creating Black Hole is that it’s never a singularity you’re working towards. The game shifts and drifts as opinions clash and fun evolves. I don’t even want to imagine how crappy the game was when we started but it can be a painful process, the idea that seemed so cool seemed to fail so utterly at one point and just didn’t provide the necessary fun for quite some time. But as you move along things start to come together in different ways, as you try out different ideas. And that’s how i’m planning this game. At the moment all i know is that i need a hex engine for cocos2d.

But doesn’t cocos2d support TMX maps which support hex maps? Well yes, and no. It doesn’t support hex maps with the edges pointing up and down but i need the straight connections to be in the horizontal direction. The other thing is: i don’t want to design maps, i want to generate them. And change them during gameplay. That seems like it’s not possible with TMX hex maps. I also want complete freedom, and taking a little time to come up with a hex tilemap engine is time well spent. I’m not building an engine from the ground up, just what is needed to draw a hex map and selecting fields based on coordinates.

About the look of the game, i browsed the web to find good examples of hex tiles that would fit perfectly to the game. But that was harder than i thought. There’s only one set of hex tiles i particularly liked, they were made by David Baumgart and posted on his Gamedev.net journal:

test hexes

I especially like the blending effect seen in the zoom-in part of the image. As much as possible i would like to hide the fact that the game map is based on hexagons and create a much smoother, visual look. But that is still a long way out and i don’t even know if that’s possible on the iPad. I’ll definitely dig into that though.

Flower Garden Numbers

Thanks for sharing your sales numbers, Noel Llopis. This post is highly interesting (as about anything he writes)!

Let me quickly share some numbers for the free 51 Japanese Characters App i programmed, released Dec 30th 2009. With no marketing efforts at all the app was downloaded 1432 times in 17 days. Due to the nature of the title, 25% of downloads were from South Korea and 9% from Japan. USA still leads the pack with 32%. More marketing is still to come and i’m curious how the numbers will change because of it.

I myself interviewed other iPhone game developers over the last weeks. The monthly average income they reported averaged in one case at about €1.200 ($1,800) per month for a well done $.99 Flight Control style game with visual style on par with its competitor. It was available for 6 months.

Another developer reported a total income of €500 ($800) per month spread across 4 games or so with each new game doing about double as the previous one. A period of 10 months if i remember correctly. So this guy is slowly getting somewhere. As for marketing he’s blogging regularly, i’m not aware of any other activities.

A third developer made a $.99 cent puzzle game, nicely done but amateurish graphics which probably hindered sales. Also no marketing at all, the website is rudimentary and contains no relevant content. Still he made €200 ($280) per month.

I’ll keep the developer’s identity and app names anonymous as i did not ask them for permission but i though sharing those numbers here will put Noel’s earnings in better perspective. I think he’s doing better than most (as he said).

Needless to say that’s the level of success i’m aiming for.

Making A Living Gladly As An Iphone Freelance Programmer

At the moment my first project with Ravensburger Digital is being tested. I’m eagerly awaiting feedback and if all turns out well it could be ready for release next week. In the meantime i’ve sent out 3 more project proposals, i have at least two others yet to be done, then there are two promised and three ongoing talks for potential projects or cooperations, former colleagues would like to hire me for an incredibly interesting project and finally there’ll be a minor update for 51 Japanese Characters coming soon and we’re thinking about potential spinoffs and cooperation to create a “Characters” series. There’s one more option to consider still: making a living on the iPhone App Store by publishing my own game(s). All i really need for that is some spare money to pay someone else to create art and audio for me. I’m also looking into proposing a business opportunity to a 3rd party whose work i admire and adore – so yet another option, this one i follow through simply out of sheer interest in the product that particular company creates – and it’s got nothing to do with computer games at all!

Overall i’d say i really enjoy being in such high demand, and i feel kind of bad already that i’ll eventually have to choose between some of these outstanding proposals. If i could clone myself i think i’ll need more than just one clone. I’m actually considering something similar to what Dr Touch is doing: a band of freelance game programming brothers working under one name and distributing the workload based on qualification, free time and interest in the project. In the long run it could lead to me actually starting a game programming service company, who knows? But let me not get ahead of myself, i’m still working on the base technology for my cloning facility.

I really, and i mean really, wonder why none of my other colleagues have chosen to go that road? I have some thoughts … because those were mine and i do what everyone does: i conclude that what i experience, others experience as well.

When i was first thinking to work as freelancer in late 2009, i expected to spend most of my time alone, to be disconnected from the people i have to rely on to get a job. To have a huge problem reaching out to contacts and getting them interested, or simply making new contacts. My worst imagination had me begging for projects for low prices just so i could sustain a living. But to the contrary, now i could easily find enough work for two. I’m lucky that i know some people who do have the contacts and that’s just as important as having the contacts yourself. And the payment … well, i’m currently expecting to earn more than in my last year as an employee with bonus program and stock options. But of course i have higher running costs as well.

I also worried about all the extra costs a freelancer has, and all the paperwork it involves. Especially considering taxes, and paying them monthly in advance. Let alone the process of registering a business and running it properly, with all the legal and tax issues to be considered. It turns out that a helpful tax consultant is worth a lot – if only to take away those uncertainties and worries. Yes, i just spent an hour filling out my first tax form – and 15 minutes on the phone with my tax consultant to make sure i’m making the important checks and correct entries that are in my best interest. Time well spent.

In addition i was put off by certain internet platforms  offering work for freelancers. I get a daily summary of jobs offered and over the last 2 months there have been only 2-3 iPhone programming jobs offered. The rest required absurd skills in insurance policies, high-technology systems, low-level engineering, highly specialized areas of expertise – it’s all about buzzwords like Kordoba, SAP BPS, CATS, ABAP-OO, SOA/ESB, Microsoft SCCM, Citrix, PL/SQL, HFM, PMO and roles like Process Analyst, IT Security Manager, Online Banking System Expert, Solaris Administrator, Oracle Consultant and of course the obligatory Business Analyst. Definitely not the kind of jobs i would know anything about. And that painted a skewed picture of demand – if you look in the right places, or advertise yourself in the right places (such as the cocos2d forum through which i got 2 contacts) and have the right contacts in your business it does become obvious what the answer to the question “What should we call a developer who concentrates on developing for iPhone, iPod Touch and iPad?” is: in demand!

I’m still accepting offers and i’m always happy to talk about potential cooperation – if you think that’ll be interesting for you, check out my application website with CV and references. After all: more options means i can get to choose the best job at the right time.

AppAdict Reviews Our Game Black Hole

AppAddict posted a review of Black Hole, the game i and several of my former colleagues worked on together for several months. It was our initial iPhone project and started as a simple prototype to pitch to publishers and potential investors to get our game development company funded. The company never got started which is why i’m working as iPhone game programming freelancer now.

appaddict

They sum up the game with these kind words: “”Overall we enjoyed Black Hole and felt that it is different enough to offer even time management junkies something a little new and different.”

AppAddicts reviewers seemed surprised by the fact that Black Holes don’t just swallow objects, they actually fling them away. As a science geek i already knew that but please keep in mind, if you follow the link to the NewScientist article, that primordial Black Holes are still a theoretical concept and just one out of many explanations for Dark Matter. In fact, it’s not even a favored theory. And judging by that article, NewScientist wouldn’t be my primary source of information about those matters (not just dark ones). The whole research paper “Primordial black holes and the asteroid hazard” is a simply thought-experiment. What would happen if these primordial Black Holes existed and are at least part of Dark Matter. From that, you can calculate the chances of those primordial Black Holes interacting with the outer solar system’s asteroid belt and what would happen because of that interaction.

appaddict review

Anyway, Black Holes don’t just swallow objects because, other than how they are portrayed in movies, they’re simply very massive stars. For a Black Hole to swallow an object the paths of the two objects must be on a direct collision course. Otherwise the objects will simply orbit the Black Hole, just as Mercury orbits the Sun, or much more likely simply accelerated away in a slingshot effect. Of course, physically there’s a lot more going on due to the enormeous gravity, for example Black Holes can feed on stars orbiting them. But other than that they’re just more massive stars and not a super-mega-space-vacuum that sucks everything in that comes near it. Far from it.

UPDATE:

That Girl’s Site also runs a preview of Black Hole: “I would certainly keep an eye out for Black Hole, this build was very promising and its use of the Crystal network is something I look forward to.”