GameMaker Studio 2: Exporting/Importing Rooms

Background

I’ve been looking for a way to allow another user to create rooms for my existing project using templates I’d created with consistent instance, tile, and background layers.

After my experiment with source control ended in disaster, I decided to shelf that for the time being and try a simpler approach:

Procedure

  1. On PC1, I Exported the as-is project as a .yyz file (File > Export Project > YYZ) and then saved the file to a network share.
  2. On PC2, I downloaded the [MyProjectName].yyz file and Imported it (File > Import Project > Path\To\.yyz file).
  3. I updated the project on PC2 by creating a new room, and then I saved the project.
  4. I opened File Explorer on PC2 and browsed to the project’s rooms subfolder (i.e., C:\>Users\[MyUsername]\Documents\GameMakerStudio2\[MyProjectName]\rooms).
  5. I located the corresponding folder to the new room I’d created, then copied the room2.yy file back to the network share.
  6. Back on PC1, I created a subfolder in my project with an identical folder name and then copied the room2.yy file to that location.
  7. I opened GameMaker Studio 2, right-clicked in the Asset Browser, and selected “Add Existing“. After navigating to the room subfolder from the previous step, I selected the .yy file and clicked “Open.” Nothing happened!

At this point, the rooms list didn’t update with the new asset, nor did I receive an error.

The Missing Step

After opening the game’s project file (.yyp) in a text editor, I could see a list of resources, including rooms, along with their relative paths:

"resources": [
{"id":{"name":"room1","path":"rooms/room1/room1.yy",},},
],

What I did not see was an entry for the new room I created, so I simply appended the list with the new room:

"resources": [
{"id":{"name":"room1","path":"rooms/room1/room1.yy",},},
{"id":{"name":"room2","path":"rooms/room2/room2.yy",},},
],

Towards the bottom of the list is the room order, which I also appended:

 "RoomOrderNodes": [
{"roomId":{"name":"room1","path":"rooms/room1/room1.yy",},},
{"roomId":{"name":"room2","path":"rooms/room2/room2.yy",},},

After saving and closing the text editor, I fired GMS2 back up, opened the project, and after an agonizing minute or so of loading, the project opened without error!

To my delight, there sat the imported room in the asset browser. I double-clicked it, and there it was:

Alternatives Considered

Someone on the official forums had suggested having Eric submit asset packs – I have no idea what that means exactly, but he seemed to suggest this was less than ideal.

Eric’s original levels were created in Tiled, and then I’d manually recreate them in GMS2, which was inefficient and very time-consuming; however, I’d heard that there were tools that could convert a Tiled map to a GMS2 .yy room resource file but couldn’t get it to work properly with my project. This is because our maps utilize multiple tile layers sandwiched between an instance layer (where the objects live) and the background layer. Most of these tools assume you are working for a single tile layer to another single tile layer, and none of the address how to get the room.yy file back into your project.

Caveats and Disclaimers

  • In order for this to work, all of the resources used in the room (i.e., objects, sprites, tilesets, etc.) must be present and unchanged in both the source and destination projects
  • GMS2 is known to not play nice with Cloud-synced project folders, so make neither system

Purgatory Purgers: Git Thee to a Repository!

Doing Things the “Right” Way

I’ve worked alongside development teams for most of my professional career, and they all used source control. So, if I wanted to do things the “right” way, I also needed to use source control [with GameMaker Studio 2]. But alas, the map is not the territory, and you really screw things up if you don’t know what you’re doing. I didn’t know what I was doing.

Initial Setup

Although GMS2 offers [limited] native support for source control, it seemed simpler (and easier) to install GitHub Desktop and point it to the project folder.

Using this method, I was able to upload an entire project to GitHub, then install GitHub Desktop on another PC and clone (download a local copy of) the entire repository (i.e., the project folder) onto the second PC.

Once I got it working to my satisfaction on my end, I went ahead and walked Eric through it over Discord/screen share.

Where It All Went Wrong

Eric volunteered to clean up the tile layers of several maps – little mistakes where the incorrect tile was used for a given room that needed to be updated. Eric and I both thought that he’d pushed these changes to the repository, but the mistakes were still present.

Initially, I’d assumed these were regression problems that Eric introduced, but after looking at the same levels on my second PC, I realized these problems were present in older versions of the project, meaning Eric’s updates didn’t get pushed.

By then, I’d already fixed these problems on my end and pushed the updates to the repository. When Eric introduced his changes on top of mine, the levels were suddenly missing.

Recovery

After quite a lot of troubleshooting, I eventually decided to make a backup copy of the broken project, export the backup I had on my second PC, and then manually redo the changes I’d made over the last 24-48 hours.

This worked, and I was able to get back on track despite losing a day of productivity.

Lessons Learned

In troubleshooting, I discovered:

  1. Eric’s project folder was being synced with OneDrive, which I later learned could cause problems with GMS2 Projects.
  2. We were using different versions of the GMS2 IDE, which is also a bad thing.
  3. You have to be very careful when merging changes, as this can cause problems for individual resource (.yy) and project (.yyp) files.

At this point, I’m going to abandon source control for the time being in favor of something I know (traditional backup), but I may revisit it later…

Revisiting the Triple Threat

About ten years ago, I distilled video game development into three core skillsets (i.e., the triple threat):

  1. Art
  2. Music (and sound effects)
  3. Programming

I’ve always been interested in art (drawing, sculpting, and to a lesser extent, painting). I taught myself how to play simple melodies on a cheap Casio keyboard in my teens. I learned to use, repair and maintain personal computers in the early 90s out of necessity (I didn’t have much money, so my choices were to fix it or do without).

Eventually, I started entertaining the idea of combining my love of art, music, and computers to try my hand at making video games instead of just playing them. Thus began my journey of self-discovery.

Art

I’d always been able to draw relatively well by hand. I lightly scribbled rough shapes, then fleshed them out with strong lines. As technology became more accessible, I’d digitize my art using a flatbed scanner.

I even purchased a digital camera and some clay in the early 2000s to sculpt models and photograph them from different angles in much the same fashion as Adrian Carmack did for DOOM. I could never get the hang of 3D modeling or translate these analog skills into digital media. In time, I abandoned that track in favor of pixel art.

At first, I was terrible at it. But by studying examples, watching tutorials, and practicing, I developed proficiency using Pyxel Edit. I started with a 16-color EGA palette, then later expanded this to the 52-color NES palette.

This has become my niche and primary medium for artwork creation. Tile sheets are relatively quick to make, which is important when you’re a one-man operation. There are 40 years of examples to draw upon for inspiration.

Music

I’ve been writing music for almost 30 years on the Amega Module format, beginning with tunes written on Fast Tracker II using samples ripped from other people’s files. Later, I sampled some high-quality instruments – these were used in the publication of my first album.

Unfortunately, the songs and samples used were lost to time, but I still have a 20-year backlog of my previous work,  dating as far back as 1997, all written for games that existed only in my imagination.

These days, I use a Windows port called “Skale Tracker.” It’s based on FT2, can export to .WAV and .OGG formats, and supports up to 64 tracks (although I rarely need more than eight these days and write chip tunes with half that). I’ve mixed and mastered my exported works in Audacity and have been very satisfied with the results.

Programming

Programming has always been my biggest weakness. I’ve never been the kind of person who can read a book on a subject and put that knowledge into practice. At best, I can look at examples, then adapt those to my needs once I understand how.

Someone once told me that DOOM was programmed in C++ and that I could do likewise. I remember seeing a boxed copy of Borland Turbo C++ at the local Best Buy, retailing for $300. I remember thinking then that if only I had the money to buy it, I’d have everything I needed to program my own version of DOOM. I was woefully ignorant back then…

Many times over the years, I’d hoped to get around my limitations by using a game creation engine,  my first exposure to this was around 1995. I’d gotten ahold of the Pie in the Sky Software’s 3D Game Creation System for MSDOS.

It was a 2.5D game engine capable of creating games slightly beyond Wolfenstein 3D (floor and ceiling textures, angled walls) but fell short of DOOM (no height variable). While I had limited success designing very simple levels, I didn’t understand its limitations or advanced features and gave it up in frustration.

In my late teens to early 20s, I experimented with 3D Game Studio.

I could create primitive shapes, texture them, and use those objects as building blocks to create a castle out of modular pieces. I could render the map and fly through it, but I had no idea how to use its scripting language. I continued to toy with it for a couple of years, but again, I got discouraged as my imagination outpaced my ability.

In 2014, I picked up GameSalad, and created this website. I had no idea what I wanted to create, so I groped around aimlessly in the dark, bumping into bugs and lacking support.

At the time, GameSalad was primarily marketed to Mac users, and the Windows version lacked many core functions. By the time it caught up to the Mac version, they had stopped offering the Standard Edition for free and switched to a subscription model. I didn’t feel comfortable paying for something I wasn’t entirely sure I could learn to use, so I abandoned it and moved on.

I discovered Game Maker Studio in the spring of 2016. I teamed up with my old friend Eric, and we set out to learn the engine. Eric volunteered to do the programming, I would do everything else (artwork, music, design, documentation, project management).

In the early days, YouTube tutorials were our primary source of GMS programming information. Later, I would compare these to “let’s play” videos rather than proper lessons. Thankfully, I eventually discovered John Janetka’s Game Programming Course (GPC). This was a game changer for us (well, me anyway). While the second half of the lessons became disjointed, it was enough to see me through the creation and publishing of my first game.

Unfortunately, I’d run out of time (and money) and had to start working again. Work became all-consuming, and after spending 10-12 hours of skull sweat a day on technical matters, I didn’t have the energy or drive to devote to game programming when I got home. On the weekends, all I wanted to do was sleep.

I tried to pick it back up several times but couldn’t get back into the habit…

When Stars Align

That all changed this year. I have…

  • Started a new job with a pension, so now I have a future and retirement to look forward to.
  • Rid myself of $117,000 of student debt.
  • Nearly paid off my mortgage (8 months to go).
  • Lost 43 lbs. of excess weight through diet and exercise, and I am on track to be back to my ideal weight by the end of the year.

I’ve finally reached a point in my life where I can resume my pursuit of game development now that I have the time, energy, and resources to do so.

More to come…

The Whimsical Whibsy

Ignorantia Neminem Excusa

Years ago, an acquaintance I’d met on a Discord server expressed interest in working with me [in game development]. He went on to tell me about a negative experience he had when trying to recruit a team to work on his ‘game idea’ for him…

That should have been a red flag, but I kept quiet and let him continue… His approach was to create an account on a (now defunct) forum and showcase his ‘ideas’ in the form of a bulleted list of features/characteristics from other games he wanted to incorporate into his own. He posted a single storyboarded scene and spent about a paragraph explaining it, followed by screenshots posted from other games, comics, and pictures of scribblings from pages of his notebook.

At the end of the post was another list labeled ‘MAIN GOALS,’ which was just a list of vague, arbitrary tasks (e.g., form a small team with enough members, sign a contract between members, develop enough concepts needed with the overall project).

Predictably, the responses ranged from practical advice (e.g., here are some books on beginner programming) to outright hostility (i.e., you expect me to work for free?). He was obliged to dismiss the practical advice given to him, arguing that he didn’t have the time to learn how to use development tools nor the money to pay for them.

One of the forum members pointed out that his Steam profile showed 100 hours of playtime over the last two weeks since his initial post, challenging his assertion that he didn’t have time to learn new skills. After some feeble excuses and rebuttals, he relented and asked which tools to look at (remember, these had already been suggested to him). After the previously made suggestions were quoted back to him, he persisted in asking for additional information (i.e., what are the differences between the X tool and Y tool? etc.).

By now, those who responded to the thread had written him off as a lazy troll, and whatever questions he had were dismissed as further evidence of his unwillingness to work for the answers he sought for himself.

###

I’ve come to refer to this young man as a “Wouldn’t It Be Cool If… Guy” or Whibsy for short. Derek Yu refers to them as “…a dreaded Idea Person, stalking the internet for unwitting artists and programmers to make their dreams come true.”

Wibsy didn’t understand that there is no shortage of ideas (or Idea People, for that matter). There is always a shortage of time, money, and talent.

Armchair Game Developers

Recently, I’ve encountered Wibsy under a different guise, the armchair game developer. You know, the one who hangs out on forums, calling for nerfs and radical redesigns of game mechanics while explaining to the rest of us how easy these would be to implement and that any “competent” programmer would be able to do it in an afternoon. All this tells me about this person is that they’re neither a programmer nor competent.

Those who can’t, criticize…

“Those who can, do. Those who can’t, teach. Those who can’t do or teach, criticize.” – Marsha Hinds

Conclusions?

It didn’t take long for Whibsy and me to grow tired of each other. Although it was his decision to break off the acquaintance by putting me on ignore, I obliged him by reciprocating. Although he attempted to re-establish contact a couple of times since then, I decided it was best just not to engage.

How can I help anyone who can’t help themselves?

Porker Let’s Play Campaign – Post Mortem

In the wake a half dozen or so key requests on WeaselZone.com which yielded no Let’s Play videos, I decided to do a post-mortem on my advertising campaign to evaluate what went right and what went wrong.

###

It’d been a little over a year since I programmed Porker: The Quest for Tastiness. That little game was never intended to be a serious endeavor, but rather a means to get some experience creating and publishing a game.

All of that changed on on February 12, when I’d noticed a couple of kids had:

  1. Found that obscure little game on GameJolt
  2. Installed it
  3. Played it
  4. Posted it on YouTube

They did this all on their own, without any prompting, incentive or instruction.
I was so inspired and encouraged by their Let’s Play that I decided go ahead and expand the game significantly into a fully-featured game.

It took about 2 months to finish the game, and I was very proud of the result. We started looking at ways to advertise and I’d settled on engaging the YouTube Let’s Players community. After all, that’s where it all began, right? What follows is how I went about it and what I learned from the experience in hopes that this may help another fledgling game developer…

###

The Popularity Paradox

Although I did not coin the term, “Popularity Paradox,” as far as I am aware (as evidenced by the entire 2 minutes of Google Fu I spent looking) I’m the only person who has applied to the term to this context:

…many indie games become popular because they receive a lot of YouTube coverage from Let’s Players, but Let’s Players tend to only review games that are already popular…

Therein lies the rub! While I sent keys to the usual 1M+ subscriber Let’s Players, I doubted any of them would ever see, let alone play my game. My research seemed to indicate that their backlog of Let’s Play games was dictated by their audiences, usually by popular request via Reddit or some other medium.

So instead, I focused on smaller to medium sized channels, who I hoped would be willing to do a fellow small-fry a solid. Here are the numbers…

I started with the [now defunct] YouTuber Gaming Megalist, a spreadsheet of over 5,000 YouTubers and their demographic information. As I went through the list, I was able to prequalify about 100 or so potential YouTubers, spending about 5 minutes each on their channels to answer the following questions:

  • Do they post frequently (at least once a week)?
  • Do they cover small indie games, or just the ones everyone else is playing?
  • Does their ‘about’ page encourage developers to contact them, or state that they play indie/random/rage games?
  • Do they have an email address?

If I could answer, “Yes!” to all of these questions, they received a..

  1. Personalized message, tailored specifically to them (no mass-mailing)
  2. Game key for Porker to use for a Let’s Play video
  3. Let’s Player’s guide (PDF)

Of those original 100 or so emails sent out, 25 clicked the link to view their key, and of those, 14 claimed their key. Of those, only 3 went on to make Let’s Play videos.

So how do those figures stack up? Well according to Mail Chimp’s Email Marketing Benchmarks*, the Games industry average was a 19.71% open rate, and a 3.19% click through rate.

Since I emailed my recipients by hand, one message at a time, I can’t really say how many of the 100 odd that I emailed a key to actually opened the message, so instead I’m going to consider “key views” to be my open rate and “key claims” to be my click through rate.

Using those metrics, my open rate is 21% higher than the industry average, and my click through rate is nearly 4.5x greater than what I should reasonably expect.

I suppose that a 21% conversion rate (i.e. ~ 1 out of every 5 people who claimed a key made a video). That’s not terrible, but that was result of about 80 hours of work on my part…

I don’t have a full-time PR person, and have no way of distinguishing between people who are serious about exchanging services by helping each other grow versus dishonest scammers who just want something for nothing.

Going forward, if I do hand out keys, I will use a service like distribute() to do it.

Changes

“Time may change me, but I can’t trace time.” – David Bowie

About 8 weeks ago, I celebrated my 1 year anniversary in my new role. A week after that, my manager resigned and I was tapped to take his place. Since then, it’s been a whirlwind of changes and new responsibilities.

By all accounts, this is old hat for me, but the demands on my time have increased significantly, becoming greater and greater as I unravel years of mismanagement and willful neglect.

While I’m very happy in my new position, I am busier than ever, and even less inclined to do anything productive when I get home after 10-12+ hours of skull sweat…

Pressure requires a release valve, and lately, my pressures had been relieved by playing games rather than making them. What’s worse is, these games introduced a whole-new set of pressures and demands on my time – so much so that it felt like a second job, albeit one which I wasn’t being paid to do.

###

While playing games can be fun and interesting, that part fades quickly. What keeps me interested is the social interaction; meeting and spending time with new “friends”. What I found was that for the people I was spending a great deal of time with, the opposite was true – they had no interest in camaraderie, just a person to occupy a seat at the table so they could carry on their game.

Maybe it’s the age gap speaking here, and relationships have given way to instant gratification – maybe I found myself surrounded by the “single serving friends” of Chuck Palahniuk’s Fight Club…

So what did I do? I withdrew…

 

Credits: featured image, “Butterflies” by M.C. Escher

Dreams and Doldrums

“…there is no way that writers can be tamed and rendered civilized. Or even cured. In a household with more than one person, of which one is a writer, the only solution known to science is to provide the patient with an isolation room, where he can endure the acute stages in private, and where food can be poked in to him with a stick. Because, if you disturb the patient at such times, he may break into tears or become violent. Or he may not hear you at all… and, if you shake him at this stage, he bites…” – Robert Heinlein

These days, I find myself short on energy. It’s hard to concentrate on programming when my office is in shambles and there is no shortage of housework to be done: Painting, decorating, yard work, hauling off lots of junk left – some of it mine, but the majority belonging to my former house sitters and their extended family – all of it needs to go!

Despite so much to do I find I have little time or energy to do much of anything after a long day of work… Mostly I just sit lay about and watch videos until I fall sleep.

When I sleep, I dream. My unsatiated creativity gives way to restless nights of dreams, urging me to return to my unfinished work. Somehow, distractions always seem to overtake me, and before I know it, a whole day is wasted with nothing to show for it but writers block.

In other news, my code-signing certificate has been renewed despite having a few new hoops to have to jump through.

I need to find inspiration, and I need to organize my office into something conducive for productive work.

Transition

“Use a superior development system than your target to develop your game.” – John Romero, Early Id Software Programming Principles

One of the nice things about being employed again was the ability to afford a new computer, something I’ve put off as long as I could.

About 5 years ago, I’d purchased a very high-end mobile workstation to take with me overseas so I’d have something to keep myself entertained on the 26+ hour flights to and from the US:

  • Intel Core i7 3630QM @3.2GHz
  • 32GB of DDR3 RAM @ 1600MHz
  • Nvidia GTX 675MX 4GB of VRAM
  • 120GB SSD Primary Drive
  • 1TB Storage Drive

When I came back home, I found it more convenient to develop on my aging desktop machine with ideas of upgrading it when possible:

  • Intel Core i7 2600K @ 3.4GHz
  • 8GB DDR3 @ 1600MHz
  • AMD HD 5770s 2GB VRAM (x2 in Crossfire)
  • 120 GB SSD Primary Drive
  • 80GB SSD Auxiliary Drive
  • 320GB Storage Drive
  • 1 TB Secondary Storage Drive

A couple of months ago, I built myself a new PC that should last me a good 3-4+ years with minor upgrades:

  • Intel Core i7 7700K @ 4.2 GHz
  • 16GB DDR4 @ 3000MHz
  • Nvidia GTX 1080 8GB of VRAM
  • 240GB SSD Primary Drive
  • 2TB Storage Drive

I’ve been very pleased with it so far, and have been slowly reinstalling my development tools. The next step was to copy down my data so that I could pick up where I left off. To facility this, I purchased an inexpensive but well-made USB 3.0 SATA Hard Drive Docking Station.


What was intended to be a simple task, however, turned out to be anything but…The data I needed was spread across 4 different drives, one of which was BitLocker encrypted. The machine itself belonged to me originally, was lent a friend who in-turn savaged it, replacing several of the drives and the OS. On the actual computer, I’d solved this using Windows Libraries, but didn’t have that luxury when reading the raw drives.

So what did I do? I incorporated a handy application called SpaceSniffer to help me work out [visually] where the files I was looking for were.

This application is very similar to WinDirStat, but performs significantly faster. I still have a few more applications to [re]install, but I can get that done tomorrow at some point as it is now 4:13am, and I should think about getting to bed as I have to be up in 3 hours.

Get on with it!!!

Conflicting Priorities

I spent most of last week preparing for a face-to-face interview, pouring over the job description and reviewing every detail so as to be prepared for whatever the interviewer might bring up – this meant putting just about everything else on hold and using every waking moment to study.

The interviewers seemed pleased with me, and I was disappointed to learn that the job descriptions were erroneous; most of what were listed as, “required skills” weren’t required at all! What a waste…

Earlier this week, I received a call back from the recruiter explaining that they elected to go with someone else. In short, a week wasted and nothing to show for it but a heaping helping of disappointment…

###

After about a day of laying about and feeling sorry for myself, I decided that what I really needed was to focus on something productive… the game I’d set aside to study up for the interview was sitting there, 90% done, waiting for me to cross the last mile…

“If you know where you’re going, you can get there very fast.” – Grandmaster Henrik Danielsen

The most time consuming part of making any game is getting a clear picture of what you want to do. This is true for every component, whether it’s creating artwork, making sound effects, writing music or programming.

Of these, artwork is probably the most difficult (for me) and time consuming…  Often times, I may not have a clear mental picture of what I want to do, and haven’t developed a good system for working through ambiguity yet – but once I do break through, things move very quickly!

I’ve accomplished more in two days than I have in the last 2 months, and the end is in sight! All that’s left is just putting in the time I need to spend to get through the last few pieces, a few days more to test, then on to distribution!

With luck, I’ll have a successful YouTube marketing campaign and will sell enough copies to support myself until I finish Beaster’s Dungeon.

Pizza and Diet Coke

You Need Enough Pizza and Diet Coke…

It’s been about three and half weeks since my last update, so I wanted to take a moment and talk about where I am, and where I’d like to be.

As with anything, development is tied to real-world constraints. While it is true that some barriers are self-imposed, others are bound to either personal limitations (your own capacity to learn and develop new skills) or external limitations, mostly financial in nature.

John Carmack once said, “In the information age, the barriers [to entry into programming] just aren’t there. The barriers are self imposed. If you want to set off and go develop some grand new thing, you don’t need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on, and the dedication to go through with it. We slept on floors. We waded across rivers.

The sentiment is noble enough; I concede that you don’t need millions of dollars to make something great, just the will the see it through – even if that means sleeping on the floor or wading across rivers…but that isn’t the whole truth, is it?

Who pays for the floor you sleep on? Where do you get the money for your pizza and diet coke? Who pays for the electricity to power your cheap PC? Suppose something breaks – who pays for the replacement?

…and where do you get the cheap PC anyway? Not everyone is morally ambiguous enough to abscond with their employer’s computers to a rented lake house, away from prying eyes to work on their own projects in secret. Lakes flood, and when they do, you may find yourself wading through deep water indeed (and a lawsuit if you aren’t careful).

There is no honor among thieves. That fact is self-evident, but if you aren’t convinced, consider this: half of Id Software’s founding members were fired or forced to resign within the span of 5 years… but that’s all ancient history now.

…I would venture to say that the outlook of a teenager with no student debt or mortgage is very different. It’s a lot easier to just pack and move when all of your belongings fit into the boot of a brown MGB (which is to say, not much).

Then again, I never did like Diet Coke.

Paging Mr. Finagle Sod-Murphy…

About 2.5 weeks ago, we had a severe thunderstorm, losing power for a short while as well as about 4 hours of unsaved work. A few days later, I heard a loud pop near my feet, followed by the smell of burning plastic.

I quickly disconnected the power strip and the issue became immediately clear – the power cable connecting to my PC was to warm to the touch, and 4″ segment in the middle (presumably a short) was fused into a straight, blackened, stiff and brittle mass. This was probably the cheapest (and easiest to replace) component – it could have been the power supply, or worse yet, the motherboard!

A few days later, my dish washer stopped draining and needed to be repaired – I did so and threw out my back in the process – standing and sitting were difficult and painful for about a week or so.

Not long after that, my wife’s vehicle began stalling after she took it in to get the oil changed. I took it in the following day, and stuck around to talk to the shop owners as I had been coming there for about 12 years and had a good relationship with them. He asked about my work situation, and offered to refer me to a guy he knew at a large, local IT provider – more on that later…

…We Gotsta Get Paid!

Last month, over the course of a day or so, I made a small game for a friend. I wanted to explore making a game from start to finish just for the practice of it. It was just the right mixture of cheese, fun and juvenile humor to potentially make it a YouTube Let’s Play sensation.

The game had a start screen, a non-numerical score and a game over screen. I figured, if I could add a few more levels, enemies and secrets, I might be able to sell it for $0.99 on GameJolt. I have a list of hundreds of YouTube Let’s Players I could give a free copy to with the request that they make a video for it. The press might be sufficient to get enough people to buy a copy to keep me a float for another 3-6 months while I work on Beaster’s Dungeon.

While I managed to overcome several programming issues, and add far more so sophisticated features than I initially expected to, what eventually sent my progress grinding to a halt was my own limitations as an artist – my imagination was well beyond my skill and this stifled me.

For the last 3.5 weeks, I’ve been about 10% from finishing the game to my satisfaction, a loss of time I simply could not afford to bare. With bills looming overheard, and my savings coming dangerously close to exhaustion, coupled with the few meaty bitch slaps from Mr. Murphy I described above, it became apparent to me that I can’t weather much more of this. I needed a plan B.

Quit Your Day Job…

In order to quit your day job, you have to have one to begin with…If I go on to finish that last 10% and publish my game and it fails commercially, I’d still have a job to fall back on and bills would continue to get paid.

On the opposite end of the spectrum, the game might be a runaway hit, and I could use the money to put a substantial dent in my mortgage and/or student loans, bringing me one step closer to financial independence.

In either case, I couldn’t wait to see which way the pendulum swung as bills will not wait…

So I got in contact with the guy my car dealer referred me to, and within a week, I was on the phone with a recruiter. Following that call, I was invited to interview in person, which takes place next week. If successful, I could working full-time again as little as 2 weeks later. The pay is below average for the kind of work it is, the hours would be unusually long and there would be no overtime.

The last time I worked was almost a year ago, and so at this point, I’d rather take a step down in rank and pay to get back into a more technical role (the last two jobs I had leaned more toward general management). I could learn a lot, and potentially get a better job somewhere else.

This all a moot point unless I’m actually made an offer, which is not a foregone conclusion. Between now and my face-to-face, I’ve got to spend my time preparing for the interview and boning up on technologies I haven’t worked with in 5 years or more.

Wish me luck!