Galcon Games
Phil Hassey - game dev blog
Phil Hassey as Snidely Whiplash
"You can't buy awesomeness.
You're born that way."

Galcon 2 – beta23 – All rewards ready to ship! Many interface updates.

November 22nd, 2013

Hey, beta23 is available to backers for Windows, Mac, Linux, and Android. iOS builds coming via TestFlight shortly.

I’m VERY excited to announce that we’ve FINALLY gotten ALL the stuff in to begin shipping for all the $100+ tiers! I’ll be sending out surveys via Kickstarter shortly to get your current shipping information so we can get these to you ASAP! Here’s a pic of the mess in our house right now!

And a closeup of the boxes! I can’t for you to see these in person!

I’ve done a HUGE overhaul of how chat works, so it should be much slicker on iOS / Android. The interface now lets you hide chat completely, which is especially useful for phones. I’ve worked on the keyboard appear / disappear stuff, so it should be a better experience on mobile devices. The changes should also make it work better on the desktop too – less interference with box selection. I’ve also overhauled how number keys are handled so that percentage changes are registered more readily. I hope this fixes many of the things people have complained about with the chat system.

I’ve also done a major cleanup on the game settings / options. This resulted in a ton of changes to the user interface code, which I think makes the game work much more consistently given the various options. It’s pretty hard to make the game work when there are some 24 different combinations of how players might select the options to work together.

I’ve also done a fair amount of performance work on the game, so it should actually run more smoothly, especially on mobile devices. I’m now downscaling for phones so that much less memory is used and I made a few other tweaks to increase performance. I’ve also re-worked how the timer tracks frame changes in the game, so there should be less of a stuttering feel when a frame is skipped or delayed.

On the miscellaneous department, I’ve also done some heavy re-working of the touch detection code, so fast swipes should be detected more accurately on mobile devices as well as on the desktop. I’ve also cleaned up the audio engine, so there are now cross-fades between tracks and smooth volume adjustments. I’ve also done a small mountain of fixes to the servers. The lobby should be much less buggy than the last update.

For everyone curious about the progress of Galcon Legends, the game is nearly 100% complete. I was hoping to release it before the holiday season, but I ran out of time. So I’m going to have to put the release off until after the holidays. I did a ton of work on polishing little details in this game, which resulted in many of the improvements you’re seeing listed for Galcon 2 above.

I’ll be hanging out on the servers for a while – so let’s play for a bit!


Indie Game Dev: Outsourcing Fitness!

November 21st, 2013

Earlier this year I realized I was a little bit overweight. Here’s a pic from 2002 when I was at the high end of overweight. I never want to look like this again:

So with that in mind, I always am working to fend off the weight gain. A year and some ago, I put myself on a bit of a diet / hiking regime. This worked pretty well until I got really busy with work again and I gained back 10 lbs in a few months. Seeing how I was about to dive into a big project and I was already overweight, I knew I had to do something.

I decided to outsource “thinking about fitness” to BeachBody. I realized one of the problems was, with my focus so directed on my work, I didn’t have any mental strength left to actually make myself get in shape. BeachBody has been doing the home workout video thing for ages, and I have a few friends who have used their products before, so that played a role in my deciding to get into it.

Another big thing was they had just come out with a new series called “Focus T25” which really appealed to me. I had checked out a few of their workouts before, and they often had workouts that varied between 15 minutes and over an hour, so you never knew how much time it was going to take every day. Not cool. T25 is ALWAYS 25 minutes.

BeachBody is really smart with how it gets you to get in shape. So let me break down a few of the things it does, gamification-wise.

- They encourage you to be in an group with a few other people. This helps add a bit of social pressure to the experience and makes you feel less alone. Because, you are alone when you do workouts in your living room. Encouragement is done via their website, and sales. You actually get an extra free DVD if you buy the workout through a “coach” (reseller.) The coach is supposed to get you into a group and encourage you. This worked pretty well. It happened all on Facebook, so that makes sense.

- They include a chart for you to check off daily if you’ve done your workout. This is nice, very “daily challenge oriented.”

- They include a diet plan, but basically they say “1600 cal per day” … I ended up just working out my own meal plan, because most of theirs was too complicated. But the inclusion of the meal plan definitely drives home the importance of keeping with some sort of diet if you want results.

- The characters they chose for the videos (Shaun T, and 4 others) seem to be good picks for bringing the pressure right into your living room. I have a projector set up, so when I do my workouts it’s pretty much like being in a gym with them.

- Every Saturday they have you record your weight. This was great, because it avoids the day-to-day roller coaster of weight fluctuation and gets you looking at the long-term progress. So you don’t get discouraged by any single-day set backs.

- The final challenge is getting through the 10 week program and submitting before and after pics and before and after stats. You get a T-shirt if you do this. Definitely achievement unlocked type stuff here.

So my results were this:

- It took me about 16 weeks to get through the program, I had lots of travel and things going on, so I wasn’t able to just power through it in 10 weeks.

- I dropped 14 lbs over the course of the program.

- I found the whole thing worked well, I just had to track my calorie intake, do my workouts, and I made sure to go outside and hike as often as possible. I probably averaged over 10 miles a week.

- I am no longer overweight.

I’ve been crazy busy the past 5 months but having outsourced the thinking part of getting in shape really worked for me. I’m currently working through the program again to shave off a few more pounds. Here’s the way I look at it. I watch probably 2.5 hours of movie/TV every night. So ~30 minutes a day for 5 days a week is like 2.5 hours. So doing this routine is equal time-wise to ONE night of mindless entertainment. Hardly a heavy price to pay for fitness.

While in some ways, I outsourced my fitness planning to BeachBody, I also learned the key lesson they teach: if you want to get in shape you have to do it yourself.


Galcon 2 – beta22 – Major iOS / Android overhaul, progress on Kickstarter rewards

November 9th, 2013

Ahoy there, beta22 has arrived! Check it out for Windows, Mac, Linux, and Android. (iOS TestFlight on the way …)

This build doesn’t have any gameplay changes. What it does have is a whole new audio system on ALL platforms. It also has a completely new backend for iOS and Android. Both, I hope, will work better than before. Please tell me how it goes in the forums.

BUG NOTICE: It appears you can’t chat unless you press the “Chat button” on desktop computers. Will fix for next beta. Yuck!

On the Kickstarter rewards front, some serious progress is being made. In just the past two weeks we’ve gotten in marble bags, ordered more marbles, ordered the manuals, approved the manual proof, ordered boxes from another company, shipped box sleeves to said company, and gotten in boxes full of shipping materials and more boxes. I think once everything is here and we’re about to do the box stuff, I’ll take a big photo of all this junk in a pile! So – thanks again for waiting on all this – I’m pretty sure you’re gonna like the final product.


P.S. I’ll be online for a short time today if you want to play!

SDL2 Tips, Tricks, and Workarounds

November 5th, 2013

It only took me about 3 days to get my framework working with all my targets: Windows, Mac, Linux, iOS and Android. I took an extra day to write my own simple mixer for WAV and OGG audio. And there might have been another day in there for other cleanup / fixes. So maybe 1 week total.

You can get SDL2 here. If you’ve used SDL before, you’ll find that it’s pretty similar, only it seems to work better, and now it’s got slick iOS and Android support.

You will want to follow the SDL 1.2 to 2.0 Migration Guide. And then for Android and iOS, read the README-android.txt and README-ios.txt as included in the source zip. I’m just writing up some tips here to help you along the way. I’m writing this with OpenGLES 1.1 in mind.

SDL2 for Windows, Mac, Linux

- Initializing your Window must be done in the right order. Basically, I call SDL_CreateWindow first, then SDL_GL_CreateContext. If SDL_CreateWindow fails with my preferred settings, I chose more fail-safe settings. After setting the mode I use SDL_GetWindowSize and SDL_GetWindowFlags to see if I got what I wanted. If things aren’t quite right, I use SDL_SetWindowFullscreen and SDL_SetWindowSize to try and request them again. (I always go out of fullscreen, set size, (maybe go into fullscreen), then set size again.

- As of SDL 2.0.1, Mac Retina displays do not work consistently. There is a flag for this “SDL_WINDOW_ALLOW_HIGHDPI” but I’ve found that if you ever change mode, or do anything, things seem to fall apart. If you aren’t messing around much, it might just work well enough for you.

- glu doesn’t seem to work anymore. So I had to switch over to using glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP,GL_TRUE); to generate my mipmaps. I examine the glGetString(GL_VERSION)) to make sure it’s >= 1.4 before doing that. And if I’m not on a new enough GL, I just don’t use mipmaps at all.

- Use stb_image to load your images. (I didn’t do that just for SDL2, but it’s a great tip!)

SDL2 for Android

I can’t believe how smoothly this went. (Recall, 2 months for NDK, 1 week for Marmalade .. this port took 1 DAY!!!)

- Follow for the details.

- in AndroidManfiest.xml in the “activity” tag add android:configChanges=”orientation” , keeps your app from crashing. You may use other orientation tags to keep it in a single orientation, or whatever.

- If you use sockets, be sure to add these permissions “android.permission.INTERNET”

- Use SDL_rwops to read your own data files (which you have placed in the “assets” folder of your Android project.)

- If you want to use SDL2_mixer, you may need to edit SDL2_mixer/ and disable a few things.

- If you are using single touch, your mouse SDL code might work already, otherwise add support for SDL_FINGER* events (and filter out the touch events from your mouse code if (e.motion.which == SDL_TOUCH_MOUSEID) { break; }

- Be sure to call SDL_SetTextInputRect before SDL_StartTextInput if you are using key input. SDL_SetTextInputRect let’s you specify where on the screen the text is appearing so that SDL2 can shift the screen to keep the virtual keyboard from overlapping it.

- On suspend / resume I had to pause my audio.

SDL2 for iOS

- Follow README.ios for the details.

- SDL_SetTextInputRect doesn’t work. So you’ll need to capture UIKeyboardWillShowNotification and shift your screen to keep the virtual keyboard from overlapping it on your own.

- Unlike in Android, the orientation won’t change between portrait and landscape UNLESS you add SDL_WINDOW_RESIZABLE to your SDL_CreateWindow flags.

- Even though I added in SDL_iPhoneSetAnimationCallback, I got crashes when suspending my app. I also had to use SDL_SetEventFilter to capture SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERFOREGROUND to set a flag to tell my callback to start / stop doing its thing.

Custom Mixer?

You might be able to use SDL2_mixer on all platforms. I did try it out for Android, and got it working pretty easily. However, I decided to write up my own mixer using SDL2 to stream the output. (This ended up only taking a few hours, and it keeps me from having to have SDL2_mixer as an additional dependency on all platforms.)

I used SDL_LoadWAV to load wav files and stb_vorbis to load and stream ogg files.

Good luck!

Wits & Wagers Halloween expansion

November 2nd, 2013


For Halloween Nan and I (well, mostly Nan, but I did come up with at least a few of the questions) came up with an expansion for the game Wits & Wagers!

You can download the pdf WitsAndWagers-Halloween. Print out page one, flip to back, print out page two. (Double check alignment, the pumpkin question should have the long answer on the back.)


Galcon 2 – beta21 – Bug fixing, cleanup, colorblind support added

October 26th, 2013

Ahoy there, beta20 has arrived! Backers can check it out for Windows, Mac, Linux, or Android. (Testflight on the way…)

This update just fixed a bunch of bugs, and adds colorblind support. It also removed Galcon Legends from Galcon 2. (I hope to get a release candidate build of Galcon Legends out for you to test on Steam very soon!)

To modders, I’ve changed most 0/1 style bools over to true/false style bools to make things work better with Lua.

Also, check out a video of what happened when I first enabled colorblind mode in Galcon 2.

Please post your feedback on the forums!


P.S. I’ll be online for a while to play the game, talk about Galcon 2, etc!

Goats in Utah!

October 24th, 2013

A couple weeks ago Nan and I went on a goat vacation to Utah. It’s a super cool place to go hiking! Here’s three of my favorite pics from the trip:

Goblin Valley is totally amazing!

Spookey Canyon is super weird!

Cuzco says, “I’m the best!” while hiking on Escalante.

Petunia and Nubbin just hanging out on slot-canyon walls in Willis Creek.

Headin’ back.

Anyway it was a great time, we had a ton of fun. And the other day we bought a new goat hutch, it looked like a UFO in the back of our truck and a ton of people were staring while we spent the day in Pueblo driving around with it.

Goat hiking is fun!

Galcon 2 – beta20 – SDL2, UI, Legends, Modding, Galaxy Map, Rewards …

October 19th, 2013

Ahoy there! beta20 is ready for backers to check out for Windows, Mac, Linux and Android. (TestFlight / iOS coming shortly.) I’ll be online for the next hour or so, so stop in and say hi!

The game itself got an internal upgrade as I migrated from SDL to SDL2, the main value of that is making full-screen work on retina display Macs. Everything else should be pretty much the same. I’ve also done a bunch of bug fixes and tweaks on the UI, so playing should work even better than before. These changes will improve play on touch and mouse control.

Galcon Legends got a bit of an overhaul with some new music, graphic improvements, and bot AI improvements! I’m hoping to release Galcon Legends to the public pretty soon, so do check it out and give feedback on the forums.

Modders rejoice! I’ve *finally* gotten around to fixing up mod_client and mod_server. You can customize those mods to make your own Galcon modes to test them out. Keep in mind we also have documentation on much of the Galcon 2 API for your reference here!

The Galaxy Map has gotten a nice new feature – stars with active players are highlighted so it’s even easier to find people online.

Also, I’ve gotten a few inquiries about the rewards. So let me fill you in:

- Post-Kickstarter PayPal backers will be getting their rewards last. KS people get ‘em first. (So if you backed late, you have to wait … it’s just kinda fair and it makes logistics easier for us.)

- $100+ tiers are on hold while we get the box set sorted out. We’ve had some trouble with the box, currently the wraps for the box are at the box company, who seems to not be willing to do the project, so we’re trying to get those returned so we can get the boxes produced by another company and then wrapped by someone else. A bit of crazy :( We’re really hoping we’ll get it sorted out soon.

- I’d love to send out stuff earlier (like the poster / magnet set) but unfortunately shipping costs are crazy, so it would cut into the money which is saved for the in-game art. Also, the way KS works, we can only request your address once, and mark things as shipped once, so that would make a bit of logistical mess too.

Once we have the box in hand, it’ll all be getting shipped out pretty quickly. But, yeah, it’s being delayed. Sorry about that! Thanks for your patience and all that.


Galcon 2 – beta19 – Try Galcon Legends NOW!

October 1st, 2013

Ahoy there! A new update is ready for Windows, Mac, Linux, Android, and TestFlight.

The main feature of this is a new beta of Galcon Legends is included right with Galcon 2. (This will not be part of the final Galcon 2 release, but it’s the easiest way for me to get it out to you for testing!) Just sign in and click on the LEGENDS tab at the bottom of the screen.

I really want feedback on this game, as I’m going to try and release Galcon Legends during October, so please tell me what you think on the forums! This update of Legends also includes the excellent new soundtrack created by Joshua Laya. (Note: music not available on iOS or Android builds yet.)

Lastly, I’ve done a bunch of the bug fixes found in beta18. For the sake of making this post look longer, here’s the complete list:

= 10/1/2013 =
- ios: on portrait modes (ipod touch), the zoom mode goes on even when it shouldn’t (problem does not exist in landscape)
- ios: can’t slide percentages.
- mods: include Galcon Legends OR remove the Legends button from the mods screen.

= 9/30/2013 =
- legends: add music
- mods: upgrade frustration mod
- api: winning a bet loses your coins. (so a bet of 50 against 1 person loses you 150 instead of gaining you 50)
- galaxy: not always tracking rank / location of players properly.
- lobby: when joining a server, you aren’t always changed to the correct class.
- galaxy: joining a server doesn’t always get you into the correct server. (probably due to running out of servers? so maybe fixed?)
- galaxy: have button to dismiss user list
- galaxy: have user list say what server they are on right now.
- lobby: if in settings, anytime anyone types anything in chat, it drops you back to the lobby out of settings.
- galcon_util: game will end even if it’s a single player game (to avoid hanging servers.)
- lobby.lua: now you can’t start a game if there are 0 /play people
- clients.lua: added /debug command to inspect server variables.

= 9/26/2013 = (fixing on server)
- bets: betting winning crashes server.
- server: music not resetting for client when i rejoin a server.
- galaxy: user totals not correct on map
- galaxy: map should indicate where users are playing.
- galaxy: going to a server doesn’t always put you in the proper server

Have fun!

P.S. I’ll be online for about an hour, so sign onto the Galaxy Map and say hi!

Galcon 2 – beta18 – Overhaul edition: Galaxy Map, Rankings, and Zooming

September 26th, 2013

Ahoy there! It’s been a while, thanks for waiting around! The summer has been very busy with Nan and I participating in our first goat shows, as well as hosting an indie game developer mini-conference on Lake Powell.

But between all that, I’ve managed to get a ton of stuff overhauled for beta18! You can download it for Windows, Mac, Linux, and Android. (TestFlight for iOS will be mailed out shortly.)

So here’s the breakdown of what we’ve got! The most “in your face” change is the overhaul of the Galaxy Map. It now has a few constellations and each star has a slightly different game type with it. In theory, you can now play some 2v2 and donut shaped games!

Next up, the rankings got a major overhaul. I’ve only tested them a little bit, but now you should be able to rank up your flag, gain extra stars (by earning points on various stars), and get wings by winning in tournaments (right now: betting.) I reduced the number of ranking flags down to one flag for the whole game, as I think that makes things easier to understand, and it makes it so unlike previous Galcons where some flags were impossible to rank up, this one should be.

Next, I did some major work on the user interface stuff. For a long time I’ve disliked the pan + zoom features in Galcon 2, so Nan suggested I change it to a mini-map type thing. Which really changes how it works, but I think it works much better. Be sure to give Esparano’s Frustration mod a play with it and tell me what you think.

Lastly, I did even MORE work on the user interface. iOS players should be able to use multi-touch finally! I also got sick of the ludicrous number of options in the settings page. I wasn’t able to even be sure what some of the options meant after a while and it was beginning to break the UI code by having too many options. (It was possible to set up the game so it just plain didn’t work.) Anyway, I reset everyone’s settings and have a new set of them to mess with.

Thanks everyone for your feedback! Be sure to stop by the forums and tell me what you think of all the new stuff, I need your feedback to make this game the best it can be!


P.S. Pop onto the servers right now, I’ll be playing for the next hourish and getting bug reports / feedback there too!

Galcon   Watermelons   Dynamite   The Hairy Chestival
All content of imitation pickles (c) 1999-2008 - Phil Hassey  "we care"