... entertainment software built to purpose using minimalist principles ...

Magenta's Maze LogoJanuary 31st, 2017 : Magenta's Maze

What's important for human life is to learn and to do. Learning without doing is to remain asleep and to do without learning is to sleepwalk. The rest is dreamy escapism. I had a dream, everyone has them, but this one was in three dimensions and four colors. I decided to make this dream a reality of its own:

Download MAGSMAZE.EXE *, its DOSBox conf, or the full C source code.

Your goal is to guide an algebraic spirit to find number cubes in a forest, to cast a magic spell by solving the roots of a polynomial. There are nine cubes (1 - 9) hidden throughout the maze of trees and three magic circles connected by ley lines to the center. You must place the correct numbers into white circles to solve the (x - ?) factors displayed at the bottom of the screen. A map to the right of the 3D view assists navigation by showing the maze and its contents, where you are a magenta dot and the cubes are white. The game is randomized by entering a spell name; this is deterministic such that the same spell will generate the same puzzle from math to maze. You are scored based on the count of moves it takes to win and lower counts are better.

If your math is rusty then you can simply try every number cube until it works. When a correct number cube has been entered into a circle, the cube is destroyed and the circle turns magenta. And finally, there are no duplicate number cubes so double and triple roots will cause some of the circles to be pre-solved as demonstrated by the 8,8,8 triple root in the playthrough animation.

More info will be up at http://magsmaze.gibdon.com/ soon (including installation instructions for Mac OS X and Windows) but for now it merely shows this announcement. I hope you enjoy this game as well as the future possibilities it represents.

-- Neil C. Obremski, President of Gibdon Moon Productions

* MAGSMAZE.EXE requires DOS (or DOSBox), at least 256k of RAM and a CGA video card. The source code is public domain, pre-ANSI C targeting the Microsoft C 5.10 compiler; it uses no floating point arithmetic. This is the first video game by Gibdon Moon Productions.

December 31st, 2016: Amazing 2016

The FOREST is full of MAGIC ...

I am proud to announce Magenta's Maze, the first official video game by Gibdon Moon Productions, to be released on January 31st, 2017 for DOS. The idea for this sprang into my brain in September and development began in earnest mid-November. Your cloaked avatar lives in the woods and performs spells represented by algebra problems: finding roots, factors, and multiples. You search among the trees for Magic Cubes to put into moving Magic Circles connected by Ley Lines. The spell is cast when the combination is correct and the puzzle is solved!

Magenta's Maze Tech Demo 1

This product is a culmination of my love for vintage IBM PC computing, my compulsion to learn 3D graphics programming, and my growing fascination with mathematics. The target hardware is a Tandy 1000 HX released in the mid 1980's but the game will be ported (via emulator) to all modern OS's within a couple months of its release. I have designed and coded every detail from scratch in pre-ANSI C using only integers. The game engine includes routines for drawing in CGA mode 4 (320x200 w/ 4 colors), a 3D system of triangle/quadrilateral meshes, digitized voice w/ PC-Speaker, tile map, fixed point math, affine texture mapping, and abstracted input from keyboard / joystick / mouse.

Tandy 1000 HX

I owe thanks to many articles, people, and books which will be detailed in the final documentation and in the included source code, which will be donated to the public domain without copyright.

Before and After ...

There must be a first in order to make the next better. This company has survived its initial year and will grow further in the coming one. In Q1 of 2017 it will become Gibdon Moon Productions Incorporated. I've always had a penchant for writing and adding some "inc." to the end of our name has a nice ring to it, don't you think?

Three products were completed in 2016 despite the difficulties, including a music player for Android, a process for producing websites, and an OpenID provider. And of course a fourth, detailed above, is deep in the pipeline. There hasn't been significant revenue from any of these but they are the groundwork of manifesting my ideals.

Gibdon Moon Productions is and always will be about finished products. We build artifacts to bury in the sand: to be learned from, enjoyed, hated, loved or simply dug up as novelties notched in the timeline. I think professionals need responsibility, criticism, and completion. These three motivating aspects intertwine to give us happiness in our careers. If any one aspect is missing then our toil is hollow. Let's celebrate the fullness of our lives!

2016 Gibdon Moon Productions

Happy 2016!

-- Neil C. Obremski, President of Gibdon Moon Productions

FiveWrite LogoJuly 5th, 2016 : FiveWrite

How do you create a website? Do you know what web hosting is? WTF is a domain name?

Whether you don't know where to begin or you started with an "easy" service that seems to have no end, I have the straightforward solution to creating your website now:

Write an email to create@fivewrite.com with your website content and we'll publish it. 1

Every FiveWrite is a free five page website handcrafted on a clean structure with customized styles based on your content. And they are permanent artifacts. What you author we will endeavor to keep alive and intact indefinitely. A future product by GMP will further this ideal by providing physical book and ebook (Kindle) publishing of existing FiveWrite websites, without any extra work on your part.

Some initial examples include FanSiter, Neil's C++ Stuff, Hello FAQ, GW-BASIC.com, and even the Gibdon Moon Productions website. But these are only the beginning and they do not go very far in pushing the possibilities. I envision all future GMP projects getting their own FiveWrite.

So if you want a website then what are you waiting for? Draft an email right now and establish yourself on the internet!

-- Neil C. Obremski, President of Gibdon Moon Productions


  1. Make sure your website is fleshed out and meets our quality requirements.

April 29th, 2016 : EwePlay 1.0.3

EwePlay with Android Jelly Bean

EwePlay 1.0.3 is now available after many hours of testing and tweaking. There were two main issues that have been softened by this release: battery usage and Jelly Bean compatibility (Android 4.1.x).

The reason this is 1.0.3 has to do with me wanting to keep some level of consistency. Android apps provide two version attributes, one as a whole number and the other as an arbitrary line of text. The whole number version of this release is 3 and so I decided to make the text version match.

Battery Usage Improved

Battery Usage: Media server

Initially EwePlay used what's known as a Content Provider to load and play your music. This is theoretically the safer method because it gives the operating system a chance to vet your request and potentially block unsafe content. You'd notice this showing up in your battery usage as something like Media server.

I misinterpreted the results in early testing to indicate that EwePlay itself was not using much battery at all. If you can see the screenshot, it was only using 2% whereas the Media server was at 52%! Of course, it turns out that EwePlay was merely passing the buck and this process required much more CPU and burned the battery faster than desirable.

Now EwePlay loads music directly from your internal memory or SD card. I've seen this give a magnitude better battery life in my daily usage. EwePlay still falls back on the Content Provider if the file permissions prevent direct loading, which has been known to happen on my Jelly Bean device ...

Better Jelly Bean Compatibility

If your phone is a couple years old, say from 2013, then there's a high probability that your version of Android goes under the moniker Jelly Bean 1. I purchased a Samsung Rugby Pro to test Ice Cream Sandwich and, thankfully, it happened to have the older and more used Jelly Bean. I quickly found that songs did not transition smoothly when the screen was off and I despaired at having released without finding the bug!

I spent several hours over the course of days to track this down to aggressive sleep behavior in this series of Android. When you turn off the screen then Android gets ready to sleep and so after a song in EwePlay ended, the next song didn't always start immediately afterwards. In many cases the song wouldn't start for several minutes! Yet this problem could not be reproduced reliably when the device was plugged in, on WiFi, or connected to a debugger and I ended up tracking it to the wrong bug 2.

Finally I discovered the true source of the symptoms and solved it by having EwePlay request what's known as a WakeLock whenever the screen is turned off or you switch to a different app while music is still playing. The moment EwePlay finishes playing the last song in the queue, it will release this request and the device is allowed to go to sleep.

Gibdon Moon Productions at Subway in April 2016

1.0.3 Bug Fixes

-- Neil C. Obremski, President of Gibdon Moon Productions


  1. Wikipedia entry on Android versioning
  2. MediaPlayer "crash" (deadlocks the calling thread) when resetting or releasing an unused MediaPlayer

EwePlay Logo (sheep wearing headphones)March 31st, 2016 : EwePlay

I'm proudly pleased as punch to announce the release of
EwePlay for Android on Google Play!

Music Player for Android

This is the best Android music player for your MP3 collection. EwePlay is all about listening. Every decision I've made whether it was part of the original design or not, was to fulfill this particular purpose. It started with the simple premise: I have a bunch of great music and I want to listen to it. There is no hidden agenda to sell subscriptions, peddle marketing, spam you, or to hit you up for reviews and ratings.

You pay once to own a copy of EwePlay to listen to your music. End of story. Wild concept, right?

I've had the idea for years along with a multitude of others that I did nothing to bring about. This is the first official product of Gibdon Moon Productions. The fundamental purpose of my company is to produce products with identity. I can't stress the 'P' word enough: produce, product, productions. We build and we complete and we give purpose not only to what has been done but who is doing it. I have no doubt that that tickles something deep within you.

But this is about EwePlay so let us return to that.

I originally conceived of EwePlay circa 2003. I remember this because of where I was sitting in eNom's offices within the Unigard complex in Bellevue. I believe it was called "Mood Play", which morphed into "MooPlay" and then somehow into "EwePlay". I had a RIO Sport MP3 player, fought to use Windows Media Player and slaved away on a collection of slippery files.

I have never been able to fathom why music playback stayed in the dark ages, limping with the ghost of WinAmp.

Even as new players and software have come out, they have done little to make listening to music better. Apple's iPod Shuffle was a brilliant little device when it began. Pandora I had high hopes for. And all the subscription-to-collection services like Rhapsody and Spotify have only ever given you access to a slice of music based on the whipping whims of publishers' rights. The aim of all of these is to sell music, which is why they've never been great for listening.

Nothing will ever come close to your personal collection of music; not for you anyway.

EwePlay Cassette

I am often in a particular mood that directly influences what music I want to listen to. From there I either know what songs to play or I just want something, anything to start playing. We've always had ratings on music players: it's called pick and skip. When you pick a song you rate it up and when you skip it you rate it down. EwePlay uses these metrics to give song points. These points are then stored in the MOOD RING you have selected.

It's important to note that the mood is not a genre or an album or a playlist. It is an inexplicable feeling you get and there may be a surprising potpourri of selections that it fits. EwePlay makes no attempt to verbalize your mood, since it's so difficult to describe even by the person to themselves. Hence the MOOD RING is symbolic only; it has 8 settings represented by colors and moon phases. Your "Blue Mood Ring" would probably contain different song scores from mine, even if we shared the same collection.

Alright, so you've got song points that will be different depending on the selected MOOD RING. Now comes the other half of the magic: weighted shuffle. EwePlay's shuffle is not entirely random, it is biased towards songs with more points and takes it one step further by adding the number of days since last played. Thus if a song has +10 and it hasn't been played in a week, the internal weight of that song is 17. Only songs with a positive weight will be automatically played.

Got all that? Probably not, but it's worth mulling over. I sure have!

The end result is that EwePlay's shuffle does a better job of playing songs you haven't heard and/or like better. It improves over time based on your habits, as the scores get more distinct. You will eventually hear all of your collection. And this is all nearly invisible to the end user: it simply happens as part of enabling SHUFFLE ALL.

Now if you know what you want to listen to, EwePlay strives to make it quick to locate music and queue it. Tapping a song doesn't interrupt the one currently playing, rather it appends it to the play queue. Holding the PLAY button does a fast-scroll which moves 10% through the current list every second, getting you nearer to the song you want without wearing out your thumb. Tap the marquee of the current song to scroll to its position in the list. Long press a song and EwePlay will show you related items. Or tap the LIST button to cycle through different ways of showing your collection. And if you have shuffle enabled then every item added causes the queue to reshuffle.

On top of all of this is a user interface with a fixed layout. Nothing in EwePlay shifts around; all of the elements remain in place and are never covered up or slide around like greased up silverware. This is important when you can't spare focus for the UI and need controls to be where you expect.

Release Party

Thanks for your feedback, support, and assistance. You know who you are!

-- Neil C. Obremski, President of Gibdon Moon Productions