The Descent Released!

 

 

 

 

We are happy to announce the official release of The Descent for iOS. Last week we officially submitted the app for review but now its finally available on the App Store

You can also check The Descent’s official website for more information:

The Descent official website

Stay updated! We are currently hard at work in my grandma’s basement getting ready for the 1.1 release which will introduce new sounds effects, translations to other languages, bug fixes and other cool stuff! Tell your friends!

The Making of The Descent

5 Years of Hubris

The Descent was originally conceived in early 2010. Back then we had been experimenting a for years with many types of game engines and technologies. However our interest in gaming back then was purely academic. We knew that we wanted to experiment with games and that making games was far more interesting than building payroll applications or enterprise software. Between our college years and 2008 we had played around with Java, programming with DirectX (using DirectDraw), and even experimented with established game engines such as Valve’s Source Engine. We never really developed games to full completion, just tech demos or small games or graphics applications showcasing features. We lost interest easily in the apps we were building back then. We just liked trying some cool ideas and then moving on to the next thing. In 2008 I ported a mini game from Nintendo’s Wario Ware Inc (for the Gameboy) called DONG DONG to the Microsoft XNA platform. In my opinion that could be considered our first released game (or port). We posted the game installation file in some website and forgot about it. Shortly after that experience I opened a boxing blog called Boxing Highlights (now defunct) which I ran for 2 years. After closing down the blog in early 2010 (I lost interest in boxing), we decided to venture into working with games in smartphones.

Back then we didn’t know Objective-C. I don’t remember if we owned Mac computers (which are required for iOS development), but we made the decision to try Android game development because I already had some experience in Java so Android seemed like a sensible choice. We wanted to create a small game that we ourselves wanted to play so we decided to build a game inspired by Paper Plane (a mini-game from Wario Ware Inc.), one of the very few casual games that had stolen so many hours from our lives.

I began the core of the development during Fall of 2010 without many graphics assets until we on-boarded a freelance graphic designed into the team. There weren’t many Android game frameworks at the time so we decided to build the game using Android’s built-in canvas functionality. This proved to be a major mistake. We developed an MVP with core gameplay functionality but didn’t have a clear vision or an end in sight. We also started experiencing technical constraints with Canvas that we tried to ignore at the time (most of these were out of memory exceptions). By early 2011 we decided to release the game before summer of 2011 because I was going back to school for a Masters degree in August 2011. That was our initial target but we were still working without a clear plan, without a committed designer (a freelancer whose name will remain undisclosed but who will be referred to as Claudia Pulcher in this article) and experiencing technical flaws in our game implementation. Our technical flaws were deeply rooted in the graphics library selection. We didn’t have experience in developing real-time games for Android and we ended up picking Canvas as our de facto graphics library for development. We paid a dear price for this as we started experiencing many performance issues closer to our “imaginary release date”. We considered moving to native OpenGL (we were still thinking of doing everything ourselves instead of using a relatively established graphics framework) for graphics rendering but never did it due to the effort involved. Before going back to school I decided to fly to Bogotá (where Elioncho was residing at the time) to undertake a 3 week development crunch which we thought would complete the game. It never happened.

During those 3 weeks we started adding more features and developing a lot of new functionality ourselves (scope creep galore). We wanted to have leaderboards and achievements but we ended up developing that functionality ourselves. There was no Google Play Game Services at the time. Those features ate up around 2 weeks of our development time. But we still didn’t have the rest of the game developed (all the levels, all the small easter eggs we wanted to include in the game, and also the addition of sound effects and original music tracks). We also faced many challenges with Claudia at the time. Frustrated with all of these challenges we parted ways with Claudia and after the 3 weeks of development we still had an unfinished game under our belts and no designer.

After that we basically placed The Descent in the back-burner between the rest of 2011 and early Spring of 2014. During this 3 year hiatus Elioncho and I went our separate ways to focus on other projects (In 2011 Elioncho started developing YouOrderIt and I spent 2 years pursing a Masters degree from Carnegie Mellon University). Also, in the middle of 2012, even though we still had The Descent in our minds we developed Condor Wars for Android, a recreation of a game Elioncho had developed in Assembly language during college. There were many psychological implications behind the development of Condor Wars. During Summer of 2012 I was doing an internship close to Detroit, Michigan but was desperately seeking a side project to work on during my spare time. One day we brought up the idea of porting Condor Wars to Android “just for the heck of it” but in reality I believe we did it for the following reasons 1) to regain confidence in development after falling short with The Descent and 2) to use the port of Condor Wars to Android as a “guinea pig” to learn about the pros and cons of developing and releasing a game to Google Play. We released the game in September 2012 but shortly after removed it from Google Play. Condor Wars is now vaporware.

In 2014 something compelled us to bring back The Descent from the dead so we decided to continue where we had left off. However we decided to focus on the iOS platform. In April 2014 we on-boarded a new designer – Quintus Sertorius (his real name will remain undisclosed) to start working on the graphics for the game. We decided to develop the design elements for the game (sprites, backgrounds, etc.) from scratch. With a new designer under our wing I worked on a rough prototype for The Descent iOS using the Cocos2D framework during Spring of 2014 and handed off my work to Elioncho during before Summer of 2014.

By June 2014 Elioncho decided to continue the game by building on top of the rough prototype but switched from Cocos2D to SpriteKit since the latter is an official Apple framework that looked promising (it also shared many structural similarities with Cocos2D, which we realized lacked sufficient documentation). However we were focusing mostly on getting the graphics right this time so between April and July 2014 we worked closely with Sertorius while doing minimal development work on the new prototype. By the end of July 2014 Helldorado Team went on a 4 month hiatus again and The Descent went into hibernation mode due to personal reasons and other side projects.

In October 2014 development work on The Descent resumed but at a plodding pace as we continued to work on the graphics and tried to finalize the official assets for the game. We went back and forth too much with Sertorius regarding the finalized graphics deliverables so we decided in February 2015 to part ways with yet the 2nd The Descent designer. We were again in the same situation – we had a working prototype and no designer.

Between February 2015 and May 2015 we were swamped with other projects as well – we had to develop additional functionality for YouOrderIt which we wanted to include in our product roadmap and some prospective clients were pressuring us to deliver. But even though actual development of The Descent had stalled for a couple of months, we decided that 2015 was the year for release. We set a target for June 2015 to deliver the game or “die trying”.

We started juggling work on many fronts – YouOrderIt (web and mobile) and The Descent. Early during 2015 Elioncho did some freelance work for Carlos Forero of Milmentes and made an arrangement that would allow Forero to work with Helldorado Team as the official designer for the game. In April 2015 we on-boarded The Descent’s final designer and by end of May he had produced all the graphics that ended up carrying the real feeling of the game we had always wanted to play. The bulk of The Descent’s development work (now with SpriteKit and the integrated graphics assets) was developed between February 2015 and June 2015.

In June 22, 2015, after almost 5 years of a development schedule that we described as “half a decade of sweat and blood”, during the middle of day, Elioncho made the last code change of the The Descent, ran some unit tests to validate functionality and clicked the “Publish” button within the deployment wizard of Xcode. For 5 years we had felt like Atlas holding the Earth under his shoulders. Having been burdened by past frustrations and by 5 years of trials and tribulations, we mentally let out a long, deep sigh as a smile formed in our faces.

New Website and New Game Release

New year, new beginnings (año nuevo, cero clientes). We are pleased to announce our new website and finally the release of The Descent – a game we’ve been wanting to release since 2010. We had been thinking of changing platforms for our website (for quite a while) and finally made the decision to migrate from a custom-made website (hosted in Heroku) to WordPress. We decided that we want to change the mentality of “doing everything ourselves” and instead adopt best of the breed platforms and leverage their strengths. In this way we can make updates to our website constantly instead of waiting for website updates and release cycles.

We are very happy with the release of The Descent after the challenges (development and emotional) we’ve faced for the past 5 years. The story of the development of The Descent is very bittersweet and I am planning to share with you the full story in a different (and quite lengthy, but sleep-inducing for some of you) post. Welcome to our site and stay put!

We’re Alive!

Hello guys,

A couple of months have passed, but let me assure you that we’re close to releasing The Descent. As I predicted, our designer failed and we failed to meet our January release date. Then other things came up and we had to stop development entirely. The good news is that we’re releasing between May and June, no excuses. We’re working with a new designer who is producing quality work at a fast rate. Be ready! It’s just around the corner. You’re going to love this game!

Another Status Update of The Descent

Had a great meeting with our graphic designer yesterday. He got pretty excited and pumped up when he played the game and got a feeling from it I’m sure will help him on his work. But the most important thing is that he’s commited for the early next year release. I’m hoping it’s true, our last two designers have been very unreliable.

In other news, Tiogus is finally checking for bugs and sharing input on the game.

All is well, we’re on schedule and very happy to share this game with you guys very soon.

Status of The Descent

After almost two months of development, I’m happy and excited to announce that we are on schedule to release our iOS game (code named The Descent) early next year, hopefully on January. All the gameplay features are done. We’re going into beta phase right now. We’ll be polishing things up, balancing the game, and incorporating updated graphics stuff (we’ll have to push our designer hard).

As always, thanks for your support! You’ll be hearing a lot from us in the following weeks. Don’t forget to leave a comment below if you want to be part of the beta. Thanks again!

Game Documentary Recommendation – Indie Game: The Movie

Just finished watching this doc on Netflix. I highly recommend it, got me really inspired. I feel related in many ways to each character in the movie: the struggles, pain, grind and sacrifice everyone goes through. And ultimately the love that they feel for their craft that makes them fight till’ the end. I hope our story unfolds as theirs.

I leave you with two quotes that I liked:

You kind of have to give up something to have something great.
Tommy Refenes

If you don’t see a vulnerability in somebody, you’re probably not relating with them on a very personal level.
Jonathan Blow

Don’t forget to support the guys that made the movie:

Indie Game: The Movie

Android deployment: Best advice you can get

I am posting this to save you the headache. For all of you who are right now diligently coding your way through the final weeks of deployment, make sure you take into account what I am about to tell you. Probably you already know this, and I’m not really sure if Google detailed this information in the Android Developers website (I didn’t really see it in their deployment checklist), but here we go.

Most of us (Helldorado Team included) have not written code from scratch, but rather, have based our codebase on an existing template taken from the internet, etc. This is true when you want to get a code skeleton for a specific purpose, for instance, an OpenGL rendering framework or something similar. With this in mind, sometimes we have the bad habit of not changing the package name of the application we based our code on, and this in turn comes to haunt us during the actual deployment process.

Therefore, make sure the package name of your android application DOES NOT contain the following strings: “google” or “android“. If the package name of your application contains any of the previous strings, Google Play will not let you deploy your application. We ran into this issue with Condor Wars (the app’s package name was com.android.CondorWars), and when we tried to deploy the app at 4am in the morning, we realized, tired and frustrated, that we had to make a quick code change before deployment.

Quick code changes before production deployment, even if their effect seems to be benign at best, are the worst things you can do in the final minutes before actual deployment. We renamed the package name to com.helldoradoteam.CondorWars and resumed the deployment process. Google Play accepted our deployment package as we celebrated the release of our first game.

Later on we realized we hadn’t changed all references to our old package name in the code, which caused the game to crash in various places. We released a patch to version 1.1 in order to fix the package name issue.

The lessons learned here is to have the correct package name of your application from the very early stages of the SDLC cycle. Fix things now to avoid headaches from last minute changes later.

Deployment aftermath: Android development reminiscences

Naturally, I would just go on and say nice things about android development. True is, the Helldorado Team development team confesses that due to deployment issues we have faced in the past week, we will rethink our original strategy of picking Android as our development platform of choice.

We made it abundantly clear in the past that we had chosen Android because we were familiar with Java and because I was going to buy an Android phone (Samsung Galaxy S). That was back in Fall 2010, Android’s popularity was rising and its outlook was somewhat promising. But now its Fall 2012, there’s countless Android devices, API Levels, etc and honestly it is getting really hard to support every single permutation of Android phone and API Level. Props to Chris Pruett for what he was able to achieve with Replica Island. He is kind of an unsung hero in the Android development community, but honestly Helldorado Team is not hear to play the same role. We are not here to prove anything to anyone. We are not here to prove that we can write code that can run smoothly and without crashes on every available device, we are here just to create fun, playable games. We don’t need this headache. We realized that the reduced development time that came from  our previous familiarity with Java is being offset by increased maintenance efforts post-deployment. We are currently a team of two. Elioncho is running a restaurant full-time, and I am currently pursuing an MBA. We are both extremely busy and we want to use our valuable time creating quality games, not debugging the reason why the Option screen crashes when you press back button on the Xperia phone while this works perfectly fine on a countless array of other devices.

We are now venturing into iPhone development, it will take at least a pair of months to get up to speed, but depending on how the development and deployment of Condor Wars for iPhone goes, we will make appropriate decisions regarding our platform or choice. If everything goes smoothly, Android will cease to be our platform of choice and will just be a pile of dust left behind (Sorry Pebo).