After almost four days straight of working 18 hour per day on tackling the mysterious recent crashes of Prismatica from the Windows App Store, it’s finally solved and Version 1.4.1 has shipped, not only addressing the crashing issues but also bringing with it a whole bunch of improvements and optimizations as an unintended side effect of hours upon hours of bug hunting.

I’d like to extend my deepest apologies to all those who were inconvenienced by this bug. Not only my awesome customer who’ve been unbelievably patient and understanding, considering they basically payed my money in good faith, expecting an interesting new game to play, but receiving only an overly colorful way to crash their phones, but also my wife and kids who’s only time spent with their husband and father this weekend was when they, knowing I tend to forget to eat when immersed in work, regularly brought me some nourishment well as a few reassuring hugs. I love you guys and I’ll make it up to you next weekend! <3

Updates in 1.4.1:

  • Fixed a critical issue that caused the game to crash.
    • This primarily affected Windows 10 Phones as well as recently updated Windows 8.1 Devices.
    • I’ll blog about the details of that whole blunder soon. To make a long and complicated story really short in as honest a way possible: I messed up the building process.
  • Removed the software rendered mouse cursor temporarily on Windows 10
    • Using it locked the cursor inside the App Windows which is terribly annoying.
    • This seems to be something that happens automatically in Windows 10 (at least in Unity) when you hide the OS’ hardware cursor, despite explicitly instructing Unity not to do so (which works fine on other platforms).
    • This probably means that this is either a new, intended feature or a bug in either Windows 10 or Unity 5.2. Either way, once it gets sorted out or I find some other good workaround I’ll add the hand back in.
  • Rewrote the level thumbnail preview shader from scratch
    • This shader is used for level thumbnail previews that are locked and converts colors to grays while maintaining the sprite alpha channel intact.
    • The old one either displayed nothing or garbled images on Windows 10 so I’m guessing it wasn’t DirextX 11 compatible.
    • I used the Unity basic sprite shader as a base and simply tweaked it to change color to gray and even added a configurable level of “grayness”.
  • Fixed issues with app window size and placement on Windows 10.
    • Not critical but really annoying.
  • Made sure no Scale Animators ever reduce Meshes scale on any axis to absolute zero (or less).
    • Shouldn’t crash anything or cause problems but apparently it annoys and confuses the GPU.
  • Audio optimization to reduce memory usage
    • Tweaked the audio file compression a bit reducing their size a bit without affecting quality noticeably
    • Changed the way music is loaded and played from loading and decompressing an entire song into memory to streaming one clip at a time from “disk” as needed and decoding and decompressing on the fly while playing.
    • If you notice any “hiccups”, “jumps” or “gaps” in the music, especially on older devices, please let me know at
  • Texture optimization to reduce memory usage.
    • Combined a bunch of smaller textures into bigger texture atlases.
    • Changed the texture compression format to DXT5 for most textures, reducing their size dramatically.
  • Removed old and/or unused assets
    • Including textures, icons, sound effects, scripts, shaders, materials, game objects and the likes.
  • Various tweaks to the whole building process, both big and small

Version 1.4.0 sees Prismatica’s debut on the Windows App Store (e.g. for Microsoft Surface and other RT platforms as well as Windows 8.1+ Desktops) and has also shipped to the Windows Phone.

Update 1.4 for Google Play, Amazon App Store and the iOS App Store will ship in the next few days and weeks.

Version 1.3 was a Windows Phone specific build and only shipped for it but everything from 1.3 is of course also included in version 1.4 and beyond.

Updates in 1.4.0:

  • Added Portrait mode support
    • Prismatica can now be played in portrait mode, e.g. one handed thumb action on your phone or split screen shenanigans on Surface or any other device that supports it.
  • Added fully dynamic and adaptive resizing to the whole game.
    • To say “added portrait mode” is actually a bit of an understatement, since in reality, the whole underlying UI framework was torn apart and then put back to gather again, bit by bit, with additional magic to allow for a seamless, adaptive, live resizing of everything to any reasonable resolution.
    • In other words, the game doesn’t simply support a screen ratio approximately between 4:3 & 16:9 in both landscape and portrait mode, but anything in between or beyond like; 1:1 (a square windows) or 4:9 (a “snapped” app in Xbox One).
    • This also means you can resize and/or switch orientation while playing without it interrupting the game.
  • A couple of bugs got their due as well

Updates in 1.3.0 (Windows Phone only):

  • Core compatibility changes related to the Windows Phone port
    • In other words, no actual visible changes or updates, but the framework code changed so much that the bump in version number only made sense (i.e. this was a full-blown no-turning-back update, just without any new visible features).
  • Removed the “pitch-out” effect on the music when loading levels
    • It just sounded somehow like something went terribly wrong and the game just broke (though defect related audible pitch distortions is unique to analog audio playback only, the mental association remains strong, at least in my generation it seems. Digital audio that bugs out simply “breaks” all the way and either stops completely or turns into some god-awful garbage noise).
    • I left the “pitch-out” effect unchanged in the level win sequence however, since I kind of like it and in that case there’s no mistaking the “bendieness” for an error)
  • Minor bug fixes

Version 1.2.1 of Prismatica shipped to Google Play and the Amazon App Store on July 24th with the following changes:

  • Enabled “Back” button functionality for Android devices
    • The physical “Back” button now functions as one would expect.
    • It backs out of any menu in the game (from level to  episode, from episode to main, from settings to main, etc.)
    • It exits the game when pressed in the main menu
    • It exits a level when pressed in a level’s pre-scrambling and post-solving (win) menus
    • It enters the pause menu/solution preview menu when pressed in during play
    • It unpauses and resumes normal play when pressed in the pause menu/solution preview menu (i.e. it doesn’t exit the level as in most other cases to prevent accidentally exiting  while playing)
    • In the PC/Mac versions the Escape button functions identically
  • Added a “loading” icon during level loading/unloading
    • The transition between “scenes” was a bit to barren and ominously silent, especially on older and slower devices where loading levels can take a few seconds
  • Optimized performance and stability
    • This version was built against the latest stable versions of Unity and the Android SDK which should fix some device/model specific bugs and/or compatibility issues
    • Added persistent preloading of common resources to reduce unnecessary loading time while unloading resources from memory that then got reloaded again right away.
    • Reduced the number of individual sprite-sheets by combining them
    • Removed old, unused and development/debug resources and code
    • Optimized the build process for Mobile to reduce package size
  • Routed the Fast-Forward button’s sound effects through the correct Audio Mixer channel
    • The volume of it’s “click” sound should now be on par with other buttons in the game (it was loud as hell)

Updates in 1.2.2 (Android only):

  • Fixed a package signing error that prevented some devices from updating version 1.2.0 to 1.2.1.

Prismatica version 1.2 shipped on July 21 to Steam, the Mac App Store, the Humble Store/Widget. Version 1.2 is also be the initial version to be ported to mobile, i.e. iPhone, iPad, iPod touch, Android phones (via Google Play, the Amazon App Store and the Humble Store), Amazon Fire Devices and Windows Phone as well as selected Blackberry Devices (via the Amazon App Store).

As of this writing the new build is still being reviewed and/or reprocessed on some platforms so the exact availability may vary for a few days.

I got some really good feedback for version 1.1 and there was a noticeably consistent consensus in most criticism of the game. With the excretion of the volume imbalance problems (of which I was blissfully oblivious thanks to bad hardware) it turns out, the complaints that people had pretty much mirrored my very own “list of stuff I wish I had time to do” so this update is especially fulfilling to ship as it addresses many things that have been bumped to the “nice-to-have-if-I-have-time” list all-too often.

  • Added “Challenge mode”
    • Well, not so much “added” as split the game into a calm and cool “Zen mode”, where you just solve the puzzle in your own time and your own way (as the game was originally designed to be played by the way) and a “Challenge mode” where you try and beat the clock with a limited number of moves to earn more stars.
    • In order to unlock the “Challenge mode” you must complete the first 6 levels of the game.
    • If you have already completed 6 levels upon updating the game to version 1.2, the “Challenge mode” will simply be unlocked already.
  • Audio and volume rebalancing
    • Turns out the built-in sound card in my laptop is complete sh*t and as such, what sounded fine and balanced to me, turned out to be shockingly jarring and aggressive on pretty much every other machine (lest they happen to have a similarly sh*tty sound card).
    • I also added fading (and pitching) out to the music since it’s abruptly stopping between transitions didn’t really jive well with the smooth-feeling transitions I was going for, especially with the animations.
  • Revamped the “Win” screen
    • The animation sequence when solving a level has been redone from the ground up to make the event feel more natural, transitional and “shiny”.
    • The transition between normal play and the win-screen/menu always seemed a bit rushed to me which actually added a lot to the “shock-treatment” you got from the way-too-loud audio during the winning sequence (i.e. when you rotate the final piece into place the music abruptly stops and you are suddenly surprise-attacked by the jarring sound of cymbals crashing and the all-to-loud jolly Lalala’s of Svavar Knútur.
    • The transition as a whole has now been made to feel smoother and to “ease” you into receiving all those shiny stars so that even if the volume hadn’t have been rebalanced, solving a level wouldn’t have been as much of a shock.
    • This also allows for the injection of the “Challenge mode unlocked” dialog when appropriate as well as any future dialogs like achievements and such (yes, there will be achievements added soon™).
  • Added “Fast-Forward” button for level intro and scrambling
    • This button unlocks with the “Challenge mode” after completing 6 levels and will fast forward past the level intro animation and the levels initial scrambling.
  • Added simple text message in dialog boxes
    • More specifically; “Reset all stars?” in the reset confirmation dialog, “Color blind mode on/off” in the color blind mode information dialog and “Challenge mode unlocked” in the challenge mode unlocking information dialog.
    • I finally caved in my “all-too-clever” attempt to have the entire game text-free when I realized that it was starting to adversely affect the design over all and some players experience. A few players even reported having accidentally reset their scores (something that I sincerely hoped would not happen but was secretly afraid of).
  • Added subtle mouse-over effects to the puzzle board (PC/Mac only)
    • When hovering over a piece, the cog that will be affected by clicking and dragging now grows slightly. This is to better indicate which cog you are about to rotate when clicking a piece that lies between two or more cogs. In case you’re wondering, the logic is simply; the cog to which your mouse is closest.
  • Music encoding changed to Ogg Vorbis
    • Unity now uses Ogg Vorbis encoding for all audio by default (instead of MP3) which means that loop skipping due to the dreaded “MP3 file padding” is no longer an issue. Having already programmed around that issue, I never the less just re-encoded all the music to Ogg Vorbis and turned off the CPU expensive audio file pre-loading process which removed the skips created by the “MP3 file padding” (by having the code literally “listenin” to the files really, really fast to find the padding before playing them).
  • Tutorial changes
    • As part of the split between “Zen” and “Challenge” modes, the tutorials have been changed a bit.
    • The level I-02 tutorial which pointed out that you received the middle star (or only star in “Zen mode”) for solving the level has been removed as it only made sense as the first part of a trilogy of star explanations.
    • The “you-get-this-star-for-beating-the-clock” and “you-get-this-star-for-using-less-than-so-and-so-moves” tutorial hints now appear back-to-back in the first two levels you tackle and solve in “challenge mode”, regardless of what levels those are.
    • Please note that if you update to 1.2 with more than 6 stars, those tutorials won’t display at all (as that means you’ve already seen them).
  • Other UI improvements and tweaks
    • The time and move tracking widgets now display a “+”instead of a “-”  in front of their value after you run out of time/moves to indicate that how much you’ve gone over the allotted time/moves. The minus, although very intentionally added, just looked a bit “buggy”. Somehow we seem to be instinctively vary of integer-overflows in video games, even those who have no idea what that means.
    • My own name turned out to me misspelled in the credits… go figure! ;)
  • Code refactoring and optimizing
    • The code-base itself finally got some long-overdue love; removing debug code and unused scripts, updating outdated animation functions, removing sub-par object look-ups and references and so on.
  • Smaller bugs fixed
    • …of which there were surprisingly few! :)

Prismatica version 1.1 shipped to Steam on July 1 with the following updates:

  • Added a “Color-blind mode”
    • Color-blind mode can now be turned on/off in the main menu settings. Turning color-blind mode on overlays three distinct sets of patterns on the puzzle pieces, all of which can “blend” together to form combined patterns in the same way the colors (e.g. the red pattern is a circle, the blue pattern is dots and purple is dots in a circle and so on).
    • The color-blind symbols can also be helpful in case people aren’t sure how the three primary colors blend, something that I’ve simply taken for granted without giving it much thought. Iceland’s education system is pretty heavy on arts and crafts in the early stages but assuming everyone in the world intuitively knows how to blend green or purple seems a bit thoughtless now that I think about it (although the level intro-animation sequence does show how the colors blend piece by piece so that’s something at least).
  • Added a “Really reset all stars?” confirmation dialog
    • Clicking the “reset stars/score” button in the settings now opens up a confirmation dialog that shows the level stars breaking up and falling away and the levels locking up. This replaces the mechanism where you click the button twice to confirm the “reset”.
    • The icon on the “reset stars/score” button may make sense once you know what it does but accidentally resetting your scores is a pretty harsh price to pay to find out.
  • Increased the volume of the track “Clementine”
    • The volume of the sound files them selves was about 20-30% lower than all the other tracks.
  • Tweaked the volume of various sound effects
    • Trying to control the volume of multiple 2D sounds in 3D space is tricky. I’ve gone through all the audio-sources in the game and configured them to ignore 3D specific voodoo like Doppler effects, distance from the camera and so on.
    • Also tweaked the in-game volume of some effects as the sound files were never actually normalized together volume-wise.
    • UPDATE: Turns out that my sound card was probably the cause of the audio-imbalance in the game and not bad file-normalization. See here: “What’s new in Version 1.2.0 :)

I finally have a release candidate for PC & Mac ready. I’ll be distributing it to a select few people for a thorough final scouring for bugs but barring any big surprises, this is the final product.

If you have a key you can download the game here.

UPDATE: Seems like most of the new sound effects were ignoring the mute setting and always playing. That has been fixed in RC3. :)

The list of the most important changes and updates in RC2 includes:

  • Final Music from Svavar Knútur. The temporary placeholder tunes with vocals have been removed and the instrumental, loop friendly, ukulele versions put in their place.
  • Title Music Changed. The song in the main menu has changed from Clementine to Baby, Would You Marry Me. This was mainly because the bare instumental verion of Marry Me compared to Clementine seemed a bit more cheery and welcoming as a first impression, as well as the fact that it’s the most “pimped up” (i.e. with more instruments and “meat”).
  • Final Sound Effects. Some sound effects were temporary placeholders and some were simply missing. In addition to recording, editing, tweaking on my own, the game development community (indies in particular) were fortunate enough to receive a gift of more than 10GB of professional high-quality sound effects from the awesome guys at Sonniss around the time of GDC. That bundle happened to include exactly the sounds I needed to finalize the sound effects. Again, huge thanks to Sonniss. Some of the new and/or edited effects include:
    • Clicking sound added when you drop a cog in it’s place after rotating.
    • Reduced the volume on button sounds (they were a bit too loud)
    • Added “bounce” sounds to the tracking widgets when they’re running out of time/moves who’s pitch increases with each bounce.
    • Added a breaking sound to when the stars in the tracking widgets break.
    • Added a dramatic cymbal/gong type of thing to the stars that you win.
    • Added some background applause and cheers and whistles to winning a level (just for that little extra).
  • UI Optimization for PC/Mac. I finally stopped trying to develop for every single platform at the same time (mostly) and started concentrating on delivering a solid product for PCs and Macs first, and then “worry” about the other versions later. When polishing and putting on the final touches, it really matters whether you’re assuming the game will be running on a tiny little phone screen designed to be poked at and watching every megabyte of memory you use or a 21 inch screen with 1920*1080 resolution and have 2GB of RAM to play with (these were just random examples though). This included.:
    • Increasing the Font Size for all Text-Meshes. The smaller font size looks better on mobile devices but in full screen on a desktop or laptop, they’re just pixelated.
    • Increased Texture Resolution for a few things, most notably the tutorials. As with the font, they just didn’t look good in fullscreen.
    • Added a Prismatica style Mouse Cursor. The point here was threefold. First of all, the tiny mouse cursor of PCs and Macs just looked kind of small and insignificant among all the huge hexagons as well as a bit of a style breaker. More importantly (in my own humble opinion at least) making the cursor a hand, who’s finger presses down when clicking meant that the PC/Mac level I-01 tutorial would also work for touchscreen devices and any gameplay clips and/or tutorial footage as well as screenshots and such would be more clear and mostly platform independent. Finally, the plan is to use the cursor for console versions of the game (although not as a “virtual mouse”).
    • Added Window Resize Handlers. This means that you can leave fullscreen mode and resize the game window as you see fit and all the UI elements will respond by adapting to the new size (for the most part). I actually did this when developing the “AnchorManager”, my UI placement framework, but I turned it off when I built the game for mobile, since the screen size never changes on phones and tablets (mostly).
    • Made the Buttons Slightly Smaller. The first build was for a 800*600 Web Player version and the size of the UI buttons were made to fit that. Then I made a mobile build and had to increase the button size a bit to make them “finger-friendly”. Then when I ran the game on my PC in full screen the buttons just kind of looked ridiculously big. This doesn’t really matter all that much but I felt shrinking them a bit for the PC/Mac version made the UI feel more “PC”-esque.
    • Loomus Logo Added to the Title Screen. If you’ve got a cool logo, flaunt it! :)
    • Disabled Zooming for PC/Mac Versions. The zooming was another bit of mobile specific enhancements that wasn’t necessary for “real” computers and when using a mouse and since it was still kind of jittery and buggy, in stead of wasting time perfecting a feature no one would use, I just disabled it and moved “zooming” over to the mobile feature list.
  • Tutorials Redone One More Time.
    • I removed the animating arrow on level one and replaced it with a “ghost” Mouse Cursor that appears, “clicks” down, rotates and lets go. I’m pretty confident this will get the point across perfectly and it removed the need for a rather “sloppy” sprite animation who’s resolution was way to low for fullscreen.
    • All tutorials now have a texture resolution that displays well on a big screen.
    • I also simplified the tutorial images themselves and reduced the use of nerdy mathematical symbols. It made them a bit less “scientifically accurate” when over-thinking their meaning, but people rarely “over-think” tutorial instructions and the simplified versions probably convey their meaning better when only glanced casually at.
  • Level Design Finalized
    • Some levels got swapped around.
    • Other levels got redesigned from scratch
    • Many levels got simplified. In most cases that meant reducing the number of cogs/pieces that weren’t really needed to control the level’s complexity and/or difficulty but just added “pointless busywork”.
    • The zoom level of a few levels got tweaked.
    • Scramble scripts for the first tutorial levels were tweaked.
    • Some key levels also got scramble scripts. In most cases these were levels that introduce new mechanics/layouts/difficulty/combos where I wanted to make sure the scrambling didn’t accidentally “ruin” the level due to randomness being so damn random.
    • Level Previews Rebuilt
  • The Launcher Got Pimped Up a Bit.
    • Added a “Prismatica” texture image.
    • Removed unused “Input” settings.
    • Simplified the “Quality” settings to “Simple” and “Pretty” (although it’s really hard to spot the difference; it’s a very simple 2D game after all).
    • Set the launcher to start in full screen and native resolution by default.
  • Finalized the Credits List. This is what if looks like now:
    • Design & Development: Thordur Matthiasson –
    • Music: Svavar Knutur –
    • Marketing & PR: Heidrun Finnsdottir –
    • Additional Sound Effects: Courtesy of Sonniss Limited –
    • Special Thanks: Guðrún Harðardóttir, Matthías Þórðarson, Jón Henrik Bartels, Hrefna Rós Matthíasdóttir, Stephen Northcott, Nicolas Tittley, Andie Nordgren, Thomas Dähling, Charles Palmer, Pétur Örn Þórarinsson, Leifur Alexander Haraldsson, Ívar Kristjánsson, Hilmar Veigar Pétursson, Dan Bisciglia, Mary Kish, Elsa Nielsen, Aþena Katrín Þórðardóttir, Matthías Tristan Þórðarson, Anna Hrefna Þórðardóttir, Ron Carmel, Dan Adelman, Lisa Bell-Cabrera, Dave Mianowski, The Extra Credits Team, Everyone at CCP Games, All My Playtesters, …and everyone else I can’t fit onto this list!  <3
  • Created a Installation/Setup Wizard Package with Inno Setup by Jordan Russel.
  • And of Course; a Metric Tonne of Bugs Fixed! :)
    • I could probably list them all up but that would just make me sad. ;)

The third Beta update (version 0.27.B5 since 2014-12-13 @ 12:42) just went live (downloadable here if you have a Download Key) and these are the most important updates & changes included:

  • Added more tutorials to the initial levels to ease people into how the stars and goal tracking gizmos work.
  • A few levels have been tweaked to fit better to the screen (e.g. Some levels had a extra “hidden” row which created a silly padding on one side when centering the board).
  • Main menu music no longer starts for a fraction of a second even if the game settings are on “Mute”
  • The Pause Preview Flipover Animation no longer breaks if you pause-unpause in rapid succession.
  • A bunch of other trivial bugs fixed. :)

The third Beta update (version 0.25.B3.1 since 2014-10-25 @ 15:20) just went live (downloadable here if you have a Download Key) and these are the most important updates & changes included:

  • Game breaking bug in a few levels (e.g. II-09, II-10, II-12, III-02 and III-03) where the level would pop up blank and then stall the whole game, needing a good-old-fashion restart (of the game, not the device) to recover. This was caused by an old version of the level descriptor files which updated themselves automatically and tried to write the new updated version back, but failing, since the asset library in compiled Unity apps are read-only (live and learn).
  • A bunch of new music from Svavar Knútur:
    • Baby, Would You Marry Me
      • The final, instrumental, “loop-friendly” version of this is ready (it’s SO awesome… plays on level I-01).
      • I also kept the full, “normal” song, at least for the time being for a bit of variety.
    • While the World Burns
      • Got the pure Ukulele version of this in “loop-friendly” mode although I might see if Svavar and I can’t add a little “meat” onto it similar to “Marry Me” (soft drums, a bit of bass, and background stuff to make it “fuller”).
      • Also added the full “normal” version of this temporarily, again for variety and also to see how the fully “pimped” up edit fits into the game.
    • Girl From Vancouver
      • An instrumental version of this is pending so I added the the full version temporarily to see how it fits, which it does brilliantly. It’s got the same overall feel as the rest of the music and grooves awesomely with the game.
    • Clementine
      • An instrumental version of this is also pending but the full version is still the “title” song in the menus and I also added it to a few levels cause it’s really good and deserves a full listen (which I doubt it’ll get in the menu).
    • New Unpublished Song (as far as I know)
      • Got a pure Ukulele version of a new song I’ve never heard from Svavar that I cut down to a nice loop. As with “World Burns” we might pimp it up a bit to add meat to the bones but it’s beautiful.
    • Komdu
      • Threw in three versions of the chorus of this song as “Win-Fanfare” at the end of the levels. One star plays the first chorus or intro to the song, just Svavar singing “Lalalallallala” and strumming his guitar, two stars play the full chorus from the middle of the song and three stars play the chorus from the end of the song where Svavar, the backups and the band go all out. I was having real trouble finding a good fanfare for the winning screen and initially threw this in more as a joke but it’s been growing on me, especially the contrast between the versions depending on the number of start. I might just keep this as is or work with Svavar to make a more fitting version of the tune depending on his professional opinion. :)
  • And on that note: I’ve completed the new “MusicManager” module that play’s all these beautiful tracks.
    • The key purpose of the MusicManager is not only to loop the audio but to take all the little sequence clips that constitute a “song” and assemble them in different order for each level so that the overall “piece” for each level will feel different even though it’s strictly speaking the same tune. For example; a long level might stretch out the intro and middle of a tune so that the song’s progression better fits the expected length of the level before looping all the way to the (almost) beginning again. This also means that I can make the “climax” and/or “climb” of a song coincide with running out of time to achieve a star. I could even (in theory, depending on how much time I want to spend on this) make the music’s “intensity” step up when the level is near completion.
    • The other nifty voodoo trick the MusicManager does is achieve “near” seamless looping of MP3 files and clips.
      • The problem here is that the MP3 compression needs to have a number of samples that is a multiple of 1152 and if that’s not the case, the uncompressed sample pool gets “padded” with silence both before and after the clip so it fulfills this criteria, causing a fractionally small, but still very audible noisy “skip” when it loops, and MP3 is the only option for audio compression on mobile platforms.
      • Another problem is that since Unity does it’s own compression and handling of the whole asset library so fiddling with the MP3 files after compression (removing the padding via brute-force trimming of the files themselves, which was my first attempted solution) is pointless, since Unity compresses everything, reintroducing the dreaded skip-causing “padding”.
      • Google-ing this pretty much turned up either half-assed partial solutions like:
        • Using uncompressed native audio files (not an option on mobile)
        • Creating huge pre-compiled pieces with distinct “fade-in/fade-out” beginnings and ends (i.e. just have the tune end and the start again, which isn’t looping last time I checked).
        • Compiling the game with the “skips” and then listening for every skip (which can be different in exact length depending on platform and even different depending on OS versions, installed codecs and hardware) and then hard-coding them out and recompiling.
        • …or just the general recommendation; “Not possible, don’t try!”
      • The solution was actually rather simple. I just had the computer itself listen for the length of the “skips” in every sequence during run-time after loading the music and compensate for them during looping (starting sequences a few samples later and starting the next sequence a few samples earlier). I’ll probably do a full blog on the technical side of this later for my fellow Game-Dev Geeks. :)
    • This also required the construction of sequence descriptor files for each tune, describing the different sequences in a tune and whether or not to automatically detect and remove the MP3 looping gaps at the start and/or end of a sequence, as well as “composition” descriptors of what sequences to order together and how and when to loop to what and so on and so forth.
  • And of course; a bunch of trivial bugs and tweaks and things like that.

I’m troubled by dev blogs. Well, to be more accurate, I’m troubled by my own dev blog. The trouble goes something like this;

I’ve got a very tight development budget. In fact, when I say “budget” what I’m actually referring to are those one or two precious golden hours between the time when my kids finally fall asleep due to the innate boredom of the act of only pretending to be asleep and until I myself pass out on the keyboard drooling from exhaustion somewhere between the alt key and the space bar.

Having such limited time to play with, every night I manage the miraculous feat of self-discipline of forcing myself to thump down in front of the computer intent on getting some work done, I’m got a choice to make. Do I spend this evening trying to think of something clever and relevant to say and hammer away some semi-pointless blog post that I’m pretty convinced no one will read anyway or do I code, advancing the actual game ever closer to completion?

Add on to that the fact that I’m a programmer at heart, through and through and rarely feel as comfortable and at home as when immersed in nested loops and recursive calls and that not only do I write painstakingly slowly but I also need much more peace and quiet and concentration to spew forth something that a human is suppose to understand as opposed to a compiler.

Needless to say “I’ll blog tomorrow” has been the go-to solution to this conundrum every single time so far (hater’s gonna hate & coder’s gonna code).


“Tomorrow, tomorrow, I love’ya, tomorrow, you’re only n+1 days awaaaaay!”

I also tend to be a bit prejudiced when it comes to blogs. When the blog-bubble hit Iceland around the millennium most blogs around could be categorized into two neat piles; pointless rant and rhetoric and general whining about politics and current affairs (today’s commenting system’s ancestors) and pretty mindless “diarrhea-of-the-mouth” about literally nothing at all like what people had for lunch or how someone thought they’d found an awkwardly positioned pimple but after much squeezing it turned out to just be a particularly stubborn piece of crumb from the morning toast and could have been taken care of with a casual brushing aside but now instead they’ve got this red swollen spot from the needless squeezing and how this whole experience has totally ruined that persons whole day and so on (kind of like Facebook today).

So blogging’s not of to a shiny start. Never the less, pretty much any “Indie-Game-Marketing 101″ guide, video, blog and article out there lists up a few foundational pillars that every indie needs to have in order to successfully market their game:

  • Landing page – People need a place on the internet to visit to learn about your game
  • Screenshots - People need to see what the game looks like
  • Game play video – People need to see the game in action (doubly so for Prismatica, cause screenshots of the thing don’t make a lot of sense until they move)
  • All the important info about the game (platforms, release date, price etc) – People need to know when the game ships and to where and how much they’d need to fork over to play it
  • Testimonials, previews, reviews etc – People need to know if it’s any good
  • Info about the developer/studio – People need to know if you’re any good
  • Contact info – For contacting you (duh)
  • Press kit – Basically all of the above in a downloadable zip file
  • …and finally, every guide mentions the absolute necessity of a development blog – …but all fail to explain why :-/

So having weaseled out of blogging so far and sort of ignored this last little bit of “fact”, it’s nevertheless been lingering in the back of my mind, gnawing at me from time to time until I pretend it’s not there and just start coding.

Recently I’ve gotten a bit fed up with coding though, so it’s grown harder and harder to ignore the gnawing after some considerable contemplation I think I’ve finally managed to work it out.

The point of a dev blog is simply to exist!

Ok, that sounds a bit anti-climatic so let me try and explain my theory.

Indie marketing, especially for first timers, largely consists of spamming gaming news outlets with emails and press releases. There are all these nifty little tricks of the trade to get your email opened, to get most of it read, to get the game downloaded and played, to weasel on to the journalists good side and so on, but never the less, game sites are bombarded by hundreds of such emails every day and even if you follow all the guides and utilize all the gimmicks, and your email is read and you peak the curiosity of an editor who might publish something about your game on their site, they’re still going to have to answer one question before doing so, especially if you’re a first time developer; Will this game ever actually see the light of day?

As i said, there are thousands of indie games being built at any given time, and news outlets are bombarded with press releases from hundreds of these constantly but how many of those ever actually get finished and shipped?

Publishing some hype piece or preview of a game that never ships is pretty pointless. It’s pretty much wasted time for the editor and might even reduce the credibility of the site itself if it keeps happening over and over again, so even if all it takes is for the editor to copy paste your meticulously crafted press-release onto their site, taking the whole of 7 minutes, if they deem the survivability of the whole project iffy, it just ain’t going to happen.

And that’s where the development blog comes in. Landing pages get old with time, so surprisingly quickly in fact that I’ve come to believe that time moves at least 50% more quickly on a landing page then elsewhere in the universe, and screenshots, gameplay videos and so on more often than not don’t have to be updated all that often. This means that the dev blog is probably a journalists best chance to get an accurate glimpse into the viability of any given project. The more active the dev blog is, the more likely it is that the whole project is also active and blogging regularly about the progress, latest updates, what’s going on and how things are moving along in general undoubtedly goes a long way in convincing anyone that there is passion, ambition, talent behind and above all, movement in the project.

Now, this is only a theory mind you, but I’d bet a project with a healthy activity in it’s dev blog has a much greater change of rambling onto the pages of the bigger gaming media outlets (I have a sneaking suspicion that what count’s here most is the regularity of updates rather than the quantity and/or quality of the content).

On that note, let this be the first of many, many healthy (if not overly interesting) future dev blogs from me. Hell, I might even mention the actual game from time to time if I can get around to it! ;)

So that’s my theory. The point of a Dev Blog is simply to exist and by it’s existence and activity show the world that your game hasn’t been abandoned and reassure the entire internet that you’re still working on it and eventually it WILL see the light of day, so any gaming journalist out there can safely post stuff about it without risking eventual embarrassment and ridicule.

So what do you think? Am I on to something here or do you fervently disagree? Let me know in the comments (gotta try and use them for something, right?).

Come to think of it, I probably could have just Googled this or simply asked someone…? Oh, well, hindsight is 20/20 I guess. :)

I think I’m going to have to change this into a audio or video blog or something, because finding time to sit down and write stuff is proving to be quite the challenge, and if I DO manage to find any spare time, it usually gets prioritized to coding and finishing the game rather than simply talking about finishing the game.

But since I DO have like 20-40 minutes (depending on traffic) twice every day or so while driving to work, just hitting record on my phone and yammering on about the development and how it’s going and god-only-know-what might do the trick.

Think I’ll give it a go while on my way home today and see if my random ramblings make me look like a schizo of if there’s any sort of coherency buried in there (well, at least “internet worthy coherency ” which shouldn’t be all that hard to manage). ;)