Project Reveal: HackyZack

Hello everyone!

As many of you have noticed, everyone at Spaceboy Games has gone dark as far as Fara progress goes. We have been pummeled with questions over the past two months and it is about time that we come clean!

hackyzack_logo_transparent_2

The team has secretly been working on an older personal project of mine, HackyZack! We have been quietly at work on this game for about two months now. I’d like to take this opportunity to introduce you to HackyZack, get into why we switched gears, and touch on what this means for the development of Fara & The Eye of Darkness.

What is HackyZack?

HackyZack is a unique take on a 2D precision-platformer that incorporates puzzle elements in the form of multi-tasking. As you make your way through each compact level, you must also carry a ball of varying properties.

Pretentious platforming is what @zackbellgames does best. But what does it take to name a game after yourself? Balls. HackyZack has been filled with balls since its original prototype in late 2014. Luckily, the other members of the Spaceboy Games team are fans of balls, as well. The group decided that HackyZack deserved an upgrade. With plenty of new mechanics, polish, a fresh art style, and a unique, original soundtrack, the new HackyZack is a kick in the balls.

hackyzack_gif_1

Why HackyZack?

I have a feeling that most people will be curious as to why we switched gears. A lot of you played and enjoyed Fara at GDC and had assumed that we were working on that project, full-time. Well, we were! Until eight weeks ago, Fara was our sole focus. Friends and fans had been showing great interest in Fara and the game was continuing to grow and grow. A ton of variables were considered when making such a big decision, but I’ll try to keep this concise.

-Spaceboy Games is the largest team that the majority of us have worked on, and we have yet to ship a product together. We felt that a smaller project was a stronger start.

-Having some form of cash flow within the company will allow us to take our time with Fara, and really flesh it out into what we truly believe that it can be.

-For some of us, this will be their first Steam release and/or their first time working within their current role(s). If we’re going to screw up or experiment, we want to do it small. We want Fara development to run extremely smoothly.

With these points on our mind, as well as others, the team came together and decided that revamping my HackyZack prototype was the best path for us at this time.

hackyzack_gif_4

What happens to Fara?

Fara development will continue full-time, as soon as possible. We have a TON of Fara work that is already done, but has yet to be shown (animation, additional spell cards, an entire second biome, more OST, etc). After HackyZack is launched, we will likely have a brief period where we are responding to the Steam community, patching issues that arise, etc, but we will make it a priority to work towards getting Fara into your hands, as quickly as we can!

That being said, I am proud to announce that HackyZack will be coming to Steam in August! We do not yet have a finalized release date, but the game is coming together and will be ready incredibly soon. We are very excited to see how our fans respond to this new project!

hackyzack_gif_2

In the meantime, consider voting for HackyZack on Steam Greenlight: http://steamcommunity.com/sharedfiles/filedetails/?id=727241555

As always, I greatly appreciate all of you and I am continuously humbled by all of the support that we receive. A big thank you from all of us at Spaceboy Games,

Z

Project Reveal: HackyZack

Spaceboy Diary #5

Good evening (it’s 3AM here),

Today was an incredibly productive day for me. I feel like I’ve really gotten my groove back lately. I’m not sure if my current work is a great change of pace for me or if I have less distractions going on, but I’ve been working productively for much longer periods than usual.

This period of Spaceboy secrecy is coming to a close. Most of my milestone work is done and I will be wrapping up what’s left tomorrow. I’m thinking that sometime next week I will be able to stream and work more openly again. I also started a shader tutorial series, for those who have yet to see part one. I’d like to do one entry every week or two, but we’ll see!

I received a bunch of new music demos from Vince tonight (it had to have been 4-5AM for him) and I’m super excited to sit down with him tomorrow and talk about the direction of the audio design and OST for this game. With INK I simply trusted his judgement and his first pass is what we shipped. This time he is giving me a few vibes and directions and we’ll kind of pick and choose where we want to take things from here. Joonas is on vacation, but he will be back very soon to incorporate our ideas and mood into some sound effects, as well.

More coming soon!

-Z

 

 

Spaceboy Diary #5

Shaders (Part 1)

Hello everyone!

Introduction

I have been asked a countless number of times to prepare a series of shader tutorials. More specifically, a series of shader tutorials that will help Game Maker users approach this complex topic without being incredibly overwhelmed. Programming requires a certain mindset and shader programming requires yet another mindset to fully grasp what is going on. That being said, I am really going to slow this down in hopes that nobody gets lost.

What is a Shader?

For these examples, I will be using Game Maker: Studio. GM gives you several options for shading languages, but I will be using the default: GLSL ES. This is a shader programming language that is based on the OpenGL shading language, as well as C++.

A shader exists to return a vec4 to the graphics pipeline (at this point I would hope that you have a solid grasp on vectors, as containers). The vec4 contains the red, green, blue, and alpha values of a single pixel. Every frame a shader runs for every pixel on screen. The return value is the pixel that you see rendered on screen. If you do not explicitly set a shader, a pasthrough shader will be called for you.

The Passthrough Shader

For now, we will call a passthrough shader ourselves. To do this, right-click on the shaders tab and choose to create a new shader. GM will create a passthrough shader for you, by default (I called mine shdrPassthrough). A shader can basically be applied to any form and any number of draw calls (a sprite, a entire surface, the application surface, etc). I will create a simple object that let’s us toggle our shader(s) on and off and draws a sprite accordingly.

Create Event

shader_pt1_img1

Step Event

shader_pt1_img2.png

Draw Event

shader_pt1_img3

From here, place the test object in the room. You can press the space bar to toggle your shader on and off, but you will be unable to see what is happening because your shader is the same as the default passthrough shader that is being called while yours is off.

Your First Shader

Ok, so the first thing that we will do is experiment with the Fragment Shader. You will notice that when you open a shader, there are actually two tabs open; a vertex shader and a fragment shader. The vertex shader is called for every vertex, while the fragment shader is called for every pixel. Open up the fragment portion of your shader file and you will notice that the last line of main() sets a variable called gl_FragColor to a particular value. This is the return value and final rendered RGBA value of your pixel. For our first attempt, we are simply going to change every pixel to a solid red. Note that these values are normalized and range from 0 to 1, rather than 0 to 255. Here’s what this would look like:

shader_pt1_img4.png

shader_pt1_gif1.gif

That’s incredibly simple and not very useful, but you have successfully written your first shader! We can take that a bit further by blending each pixel in the original image with red, rather than just replacing it with a solid color completely.

shader_pt1_img5.png

We’re skipping a few steps here, but just be aware that gm_BaseTexture refers to the texture that you’re currently running your shader on and that v_tex is the texture coordinates passed in from your vertex shader (in this case, it should be unchanged). So you essentially have a position within your texture (a single pixel) and you’re multiplying it by your red value. You are doing this for every pixel in the texture.

shader_pt1_gif2.gif

Again, a very simple effect that you may have stumbled upon before. You can also achieve this by setting your object’s image_blend value to c_red. You have now accomplished the same thing via shader!

I’ll leave you all with this for now. I am trying to take this very slow both for people who are new to shaders, as well as people who are new to programming and GM, in general. Play with color inputs and see what other effects you can come up with.

More to come soon,
-Z

Shaders (Part 1)

Mighty No. 9 and The State of Kickstarter

Good evening everyone!

It is not typical for me to write generic articles related to the games industry, but a few people were asking for my opinion(s) on this subject over on Ask.fm and I decided that it was important enough to share and expand upon here.

Here is my answer when asked about the Mighty No. 9 launch a few days ago:

mighty no. 9?

“Ugh, ok. Games are difficult to make. Bigger games are more difficult to make than smaller games. Competing with a popular franchise (even if it was once your own) is more difficult than trying something else. Crowdfunding a game is difficult. Handling a large team is difficult. Handling a large budget is difficult. Handling player anticipation, expectation, and critique is difficult. Every fucking thing that this guy had to do to make this what everyone wanted it to be was difficult. Hell, it was impossible.

Yet, I find myself in a position where I feel it necessary to complain. It’s a very complicated situation because depending on how you look at it, the deck can either be stacked in favor or against the devs of Mighty No. 9. They had lots of money, lots of time, and lots of resources. Cool. I wouldn’t want that. The ONLY reason Fara will ship when it does is because I personally know the half dozen people who rely on its release and because we will be desperate and running out of money. This is not to say that I plan on half-assing our project and pushing it to market before it is ready, but what I am saying is that I can handle and comprehend the current team size, budget, and scope of the project. If you were to hand me $4,000,000 I would severely fuck this up. I guarantee it. We would hire people to help us transition to 3D. We would license new engines. We would expand upon content. We would toy with ports, networking capabilities, and spin-offs. It would be a disaster. Megaman had restrictions that kept it in a pocket where it could shine. Given different circumstances, the entire franchise may have been as much of a headache as the spiritual successor.

Have I complained? Yes. Have I made jokes? Yes. It’s easy to laugh this off because everyone saw it coming, but Kickstarter is NOT and will NEVER be a consistent storefront for high-quality deliverables. Kickstarter is a slot machine, at best. I do not envy the team who has such tasks on their shoulders.”

I continued to discuss the topic further on Twitter, if you’d like to continue the conversation or read more about my stance on Kickstarter, in general. You can find the original thread here. In short, when you double or triple a campaigns asking price, you aren’t just giving them a financial buffer, you are implying and insisting that they attempt to make a product that is also two to three times the original scope (consciously or otherwise). Most teams are incapable of comprehending and/or delivering your dream project. We gave Comcept too much and they were unable to cope with the scale that we set them up to deliver. I strongly believe that the game would have been better had they hardly reached their original asking price.I wish the best of luck to Comcept and their future endeavors.

Z

Mighty No. 9 and The State of Kickstarter

Spaceboy Diary #4

Hi everyone,

I feel like it has been a week or so since I got around to doing an entry, so here I am writing something new! To be honest, it is a good sign! I have been happy working again and because of that I have been writing fewer entries to keep me motivated. Maybe that’s backwards thinking and I should work extra hard to keep the momentum up, but I have pretty much just been going with the flow lately.

As for work specifics, I still can’t say much. I promise that this is just as hard on me as it is on any of you. I absolutely love being transparent with my work and these few weeks of secrecy have been brutal. I recommend that people watch GDC talks or perhaps stray outside of their typical workflow or interests a bit. I watched a few talks from hacker meet ups while building some levels over the weekend and I got this huge rush to start challenging myself and programming outside of my comfort zone again. I get super jazzed up and excited when I listen to truly intelligent people speak.

In game development, it’s easy to kind of find your safe place and stick there (I still do it a lot). I know that I could pump out level-based, precision platformers for the rest of my life, but at some point I should do something different. Something bigger. Something more challenging. To an extent, that’s what Fara was. It was a game that I wanted to play rather than a game that I knew how to make. It’s a lot of things that I am not and it has challenged me in several respects.

Aside from level design, I have been screwing with some unique music and sound design ideas. Vince is a blessing and his music is absolutely amazing. In a few tracks that I am working with he has written a second track that lies on top of the first. I have both tracks playing simultaneously, but fade the secondary track in or out based on certain things that may or may not be happening in the game. It feels really cool and sometimes it’s not even noticeable what is happening. I hope that people enjoy it and I hope that you can all see/hear it soon.

Lastly, we’re just screwing with some marketing material for PAX West. Myriame and I will be there, but the rest of the team won’t be present since we aren’t showing off any particular build or hosting a booth. However, if you find me, I’m sure I’ll have *something* to give away.

Love you all,

Z

Spaceboy Diary #4

Spaceboy Diary #3

It’s a bit early to be making a post today, but I had a very productive night and I thought that I’d comment on it. After writing last night’s entry, I actually kept working throughout the night. I just had great momentum and wasn’t really feeling burnt out. However, I did take a break from what I was initially doing and instead lied down with my notebook.

I ended up planning a lot of tutorial stuff that we will need. Tutorials are often frowned upon and it is very important to me that we teach the player a bunch of things without explicitly yelling instructions at them. I came up with eight or nine things that we need to show the player and I tried to cram as many of those concepts as I could into as little space as possible. I took a lot of inspiration from games like Super Meat Boy, 1001 Spikes, and Megaman X. They all have tutorials where they force you to discover mechanics within a safe environment, then repeat those moments, but with more urgency.

From there I was just inspired to think creatively. I came up with a bunch of new mechanics that mesh really well with what we currently have while simultaneously solve some design issues caused by earlier decisions. I think Miyamoto said something along the lines of “a great idea solves multiple problems at the same time” and these mechanics really seemed to fit that mold.

Anyway, I’m about to sit down to test these things and move forward! Hope you all have an amazing day!

-Z

Spaceboy Diary #3

Spaceboy Diary #2

Hi friends!

Tonight was…hectic, to say the least. Last night I went to see Lamb of God play in Seattle, so I felt that I should pull long hours tonight! Some times when I’ve been working on something for quite awhile I’ll lose sight of why it originally had charm. I stumbled upon an old prototype of what I’m currently working on and it had a bunch of little details that made it look, feel, and play super well; even prior to having any of Sandy’s assets (his art assets, people). I spent quite a bit of time integrating a bunch of little polish elements into the current iteration of the project. It was really fun and quite relaxing, to be honest. I was essentially just cleaning up code, refactoring, copy+pasting, and testing a bunch of new areas all evening.

This game is definitely a game “for me”. As in, it’s a game of my design and was designed because it is something that I think that I would enjoy. That is both a blessing and a curse. It both worries and excites me! I get to bring something to the world that I enjoy, but I have to remember that everyone else may not want or enjoy what I want and enjoy. It’s a difficult thing to swallow when you’re really into a project. I often wonder how much I should worry about who my audience is and how many people I can (and could be) building this for. INK was kind of the same way. I built it because I had time restraints and because of that I just made what I know: hard as balls platformers. Anyway, I’m really curious what people will think of all of my recent work and I’m excited to show it off soon.

Overall, I’m feeling good. At least work-wise. I’m a bit on edge about other things right now so I’m really trying to pour myself into my work. Hopefully the team feels that it is showing. A lot more work planned for tomorrow! And testing soon! Maybe we’ll need you?

-Z

Spaceboy Diary #2

Spaceboy Diary #1

Hello everyone,

It has been quite awhile since I’ve posted anything. GDC caused quite a bit of burn out and I have found it difficult to focus on work that isn’t mandatory (assets, tutorials, blog posts, etc). I have decided to start a development diary of sorts. This is a personal thing and meant to help me express my work and my feelings about my work, so if somewhat consistent posts are going to bother you, feel free to unsubscribe! These won’t always be too long or in-depth, I am just trying to start a new routine to better my productivity.

I am working under NDA now. I am incredibly happy to be done with the majority of the *business side* of Spaceboy for the time being (contracts, handshakes, hiring, firing, etc), but it also means that we’re to a point where we can’t just openly talk about and spoil everything that we have cooking. It has made an obvious impact on my work morale. I really enjoy iterating on ideas and throwing GIF after GIF up onto Twitter. I am not able to do that for about another month or so (you have probably noticed).

On the other hand, we have been doing weekly Skype meetings that have been helping quite a bit. It’s interesting working with so many people across so many time zones. Planning our meetings is somewhat of a hassle depending on who all is involved. I am in Seattle, Mym is in Vancouver B.C., Fell is in Brazil, Vince is in Philadelphia, Joonas is in Finland, and Sandy is in Japan. Sandy, Fell, and myself have discussed moving to Vancouver as well within the next year or so. Perhaps we’ll actually have Spaceboy Games offices soon!

Anyway, we are working incredibly quickly on something that we’ll be able to show off soon. I’m excited to see what you all think about it. I’ll try to do a few of these posts a week. The content will vary greatly.

As always, thank you for your patience and support!

-Z 

Spaceboy Diary #1

Sup Holmes?!

Hello everyone,

it has been awhile! I recently gave my first public interview about Fara & The Eye of Darkness’ development! I sat down and talked to Jonathan Holmes of Destructoid, on his podcast, Sup Holmes. We discussed my early days as a developer, INK, and Fara. I thought that it would be great to collect my thoughts about the interview, respond to a few follow-up questions, and clarify a few details.
Continue reading “Sup Holmes?!”

Sup Holmes?!

Make, Market, And Sell Your Game In 3 Months Or Fewer

Hello everyone! Recently, Alejandro Hitti and myself were asked to give a guest lecture to a group of junior and senior undergrads at DigiPen Institute of Technology. We had prepared the talk for GDC 2016, but it looks like we won’t be invited to present it there, after all. Instead I thought that I would upload all of the information here for those of you cannot afford to attend a private institute like DigiPen and/or a conference like GDC.

Who are we? – Ale and I actually met at DigiPen back in 2012. We were both programming students and collaborated on our second semester project, a game engine, programmed in C, that we used to create a procedurally-generated platformer. In 2013, I dropped out from DigiPen to form a company and develop independent games, full-time. 2013/2014 was a long stretch of investments, learning, and failures.

Finally, in 2015, I was running out of time and money while Ale was wrapping up his junior year at DigiPen. At that time I decided to prototype a small, simple project. Roughly three months later, that project had been released on itch.io, passed through Steam Greenlight, had its content doubled, been marketed to journalists, YouTubers, and Twitch streamers, and released on Steam for PC, Mac, and Ubuntu.

turret2 INK by ZackBellGames

Are You Ready? – There are really only four questions that you need to ask yourself prior to tackling something like this. If you answer “yes” to each of the following questions, you may just be able to pull it off, too.

Have you mastered your tools? If you’re attempting to make, advertise, and ship a product in twelve weeks, you’re going to have to know your tools inside and out. You will NOT have time to build your own game engine and create other custom tools. I hear a lot of programmers and students with elitist attitudes that believe that using tools is “cheating” and that everything MUST be done from scratch. It is my belief that your time is far more valuable than your pride. I strongly suggest that people know how to build things themselves, but also know when not to (almost always).

For INK, I used Game Maker: Studio, but there are plenty of cheap/free tools at your disposal.

slide0.png

Are all of your roles covered? Be prepared to wear many hats! Remember that a game is not just programming and design. You also need to worry about art, animation, music composition, sound effect design, marketing, and production. If you don’t have all of these roles covered from the start, it is likely that you will not be able to hit all of your deadlines.

Ok, so all of your roles aren’t covered? That’s ok. There are ways to work around that. For example, I am not an aritist/animator type, nor do I enjoy faking it. Instead, I designed my product around that. All of the art in INK is created pragmatically and all of the animation is created via dynamic springing, tweening, and easing.

hard

Do you have an adequate community/following? It is important for you to have some form of community and support PRIOR to releasing your product. You need to have people talking about it BEFORE it is on the market.

I always suggest that you start with Twitter. I tend to tweet progress GIFs weekly, if not daily. Find hashtags that are supported by the community that you are trying to adopt (#gamedev, #indiedev, #screenshotsaturday, #gamemaker, etc). Be proud of the tools that you are using and advertise them (YoYo Games supports me just as much and as often as I support them). Consider starting a development blog via a personal website or a forum, like TIGSource.

The larger your network, the larger your chance at having a successful launch!

Can you afford it? Lastly, you need to be able to support yourself (and potentially a team of people) for during the course of your development time. Be sure to include at least a two month buffer due to business transactions and fund transfers!

Valve pays developers on the 30th of the month AFTER each other month that you make sales. For example, if you make $20,000 in September, you will see that money being transferred on October 30th. That means that it will likely be six to eight weeks after launch when you see your first paycheck! Be sure to account for that!

Again: Master your tools, have your roles covered, build a community early, and prepare for your living expenses.

Making Your Game – The most important part is your game idea, right? I suggest keeping it simple. Very simple. Preferably one mechanic that can be used to approach 3-5 different scenarios, uniquely. You want to find a balance between your potential for content and your scope.

Typically, what I do is prototype a few mechanics with a four-hour time limit. Start to create your concept using placeholder art and STOP after the time limit. The game should be fun and should at least FEEL like the final product. If not, then examine it further for pitfalls and/or scrap it (My initial release of INK was 45-60 minutes of content and took three weeks to complete (roughly 60 hours of work)).

After your prototype is finalized, move onto a brief planning phase. Ale decided to make a complete and comprehensive list of game makers, features, levels, and assets that would be needed. From there, we could cut things that seemed unfeasible as we adjusted our timeline.

Assuming that it is your first Steam release, it would be a good idea to start by preparing a vertical slice of the game (some beginning, middle, and end) rather than just the first fifteen minutes of content. This will give you a good variety of sequences to string together for a Steam Greenlight trailer. Given a solid community and a strong trailer, the Greenlight process should take no longer than one month.

Gaining access to the Steam API and back end means that you can (for the most part) finalize your timeline. Figure out how much content you need and commit to a launch date. You WILL have to cut content. Ale and I cut 25% of our levels, hard mode, and multiplayer.

pause (2)

Marketing Your Game – Ok, I’m not going to go into incredible detail here (Ale does this part, not me), but I’ll leave the link to Ale’s other talk on getting your game noticed.

Anyway, your first step is to gather a press list. This is your compilation of email addresses for media outlets, specific journalists, YouTubers with an audience of a particular size, and Twitch streamers with an audience of a particular size. I say “particular size” because sending out Steam keys is a numbers game. If you send out a free copy, you want at the very least two sales in return via that outlet’s audience.

There are plenty of ways to gain access to this information. Several sites have started by compiling lists of known indie game web sites for you. To start, here’s one of the bigger ones. Ale went from page to page and noted journalists who preferred to play, share, and review platformers (particularly difficult ones). You can do the same with YouTube and Twitch.

After you have your press list, it is important to know when to contact press and more importantly, what to say. Your big push should come roughly a week prior to release. You want the articles going live a few days prior to launch up until launch and maybe a few days after, as well.

We recommend that you essentially do the journalists job for them. Your email should read like an article about your launch. A lot of writers get paid per article and are just looking for things to publish. You don’t need to be concerned about whether or not they value your effort, you just need them to copy/paste and share your work with their audience. Be sure to include a link to a press kit so that they have access to trailers, GIFs, screenshots, and all of your branding material.

Further press releases are acceptable if you have huge sales, additional DLC, ports to new hardware, or large updates (multiplayer modes, for example).

As for marketing outside of press releases, be sure to keep your community engaged. As mentioned before, I don’t like to go longer than a week without publicly sharing progress. A gameplay GIF speaks a thousand words!

Selling Your Game – Prepping for launch will take longer than you anticipate! Sending 1,200 emails will be more difficult than you anticipate! There is a lot that goes into it.

First, you must acknowledge that Steam will not pay a person. If you are a team of twenty or a solo, one-man show, you NEED a business bank account. I’d suggest starting an LLC (limited liability company), as soon as possible. Copy/paste this paragraph and place it before “Making Your Game”. Again, I did not go into business specifics in this talk.

The main thing that you’ll have to be aware of on launch day is being ready to extinguish fires. Something will go wrong and you will have people complaining on your Steam page. For us, it was WASD support. I have never played a platformer (that didn’t require the mouse) that supported WASD controls, so I didn’t add them! Our overall rating dropped to 50% positive or so due this. Within a few hours, Ale patched this up and we retain a 91% positive rating on Steam to this day.

From there, just look for opportunities to expand your audience. Accept interviews, plan your sale dates/periods, and consider updates/DLC. If you want more specifics on INK’s development, be sure to check out our post-mortem on Gamasutra.

-Z

Make, Market, And Sell Your Game In 3 Months Or Fewer