I’m happy to share what I’ve been working on under wraps for the last few months.  It’s a new game called Heldric – The legend of the shoemaker.  It’s a mix between a hack-n-slash and city builder but without the grinding and resource gathering.

It’s been a long road to this point with lots of hours. And I still have so much left to finish.  But my goal is to release in December in time for Christmas sales.  If you’d like to help out, visit my IndieDB listing by clicking on the rating below and watch/vote for my game.
Heldric - Legend of the shoemaker

Screenshots of Alpha build

So it’s been a while since my last posts.  As video games and programming have been long term hobbies of mine, I decided to launch a new indie game company, Astral Byte.  I’ve been working on a new project and making some really good progress so far.  This has kept me from other activities, but fear not, I will return to them as well.

As a teaser, here is a character named Nara that I’ve created.


So why not go check out out my new site and leave some feedback.

February 22, 2013 marks the second anniversary of the 2011 6.3 magnitude earthquake here in Christchurch. Many lives were lost and much of the city was destroyed. At the time I was working on Tuam and Manchester Ave in the central business district. I wanted to start by sharing some of the photographs that I took right after the earthquake.

Still to this day the physical scars are visible as you drive through town. A vacant lot where a shop once stood. Steel support beams weather in the elements as the skeletal remains of a once great building. Piles of rubble as another building that was damaged in the earthquake is torn down.

Yet while the physical scars a clearly visible, the emotional ones are less so. The official death toll stands at 185 people lost that day. For those of us that remained in the city, we have been faced with difficult conditions. We have had a staggering 13,000 aftershocks, each one that constantly remind us of that day along with a bit of concern, “is this another big one?”

The economic state of the region has severely been impacted.  Many businesses were destroyed or forced to move because of damaged buildings.  Damaged roads and bad locations have caused many more to close down.  The community lost not only the jobs, but the business service as well.  Many of us have been without work or underemployed since then.

Housing has been another source of anguish.  Costs have been pushed to an all time high rivaling that of luxury towns like Queenstown. Countless homes were destroyed or made uninhabitable by damage.  Landlords have been taking advantage of by increasing rent.  Or worse, to make a quick buck they sell the homes and kick the renters out. I myself have been forced to move twice since the September earthquake.  Lines of 30 to 60 applicants appear at every rental property. All hoping that they will be the ones to be selected.  Some so desperate they are offering to pay up to an extra $100 per week above the asking price.  The process takes months of countless applications just to find a home.

Post earthquake Christchurch shows the strain of physical and emotional scars. Yet, we carry on as we must. The rebuilding effort is happening, but at a very slow pace. As a city we still have many needs. Housing, employment and infrastructure are all essential. However, we must not forget to rebuild our lives as well. Our scars serve as a reminder of what we have overcome and accomplished in difficult times.

Even though it has been almost two years since the large 6.3 earthquake in February 2011, we still the stray aftershock.  Last week we got a good shake of 4.62 that reminded anyone of the big ones not so long ago.  This gave me an idea for laser etching on shot glasses.  I started with a real seismic wave and added the text “Christchurch Aftershot.”  Good way to calm the nerves after a good shake?

Christchurch Aftershot

Christchurch Aftershot

With everything already setup, I tried testing out a few more designs.  The next test was a kiwi bird over text Christchurch New Zealand.  I think the kiwi bird’s body actually came out quite well.

Christchurch New Zealand

Christchurch New Zealand

Finally, I added a vine pattern that wrapped almost all the way around the glass. This too much more time but I think looks great.

Vines glass

Vines glass

Glass is a unique material with laser engraving.  As the process actually micro fractures the surface to produce a frosted look.  You can feel a very slight texture if you run your fingers over it.  But because the etching is part of the glass surface, it won’t dissolve in liquids like painted glass.

The past week been a busy one. I’ve tried my hand at making hardwood signs and engraving them with some choice quotes. After a good bit of searching, I found some nice Mahogany to test making signs. I started by adding a decorative edge with my router.  A bit of sanding and a nice light stain was then used to bring out the colours and grain in the wood.

Sign edge profile

Sign edge profile


Next was to add some varnish for protection and assist with cleanup of the smoke from engraving process. I tested on several different pieces with a range of colours.


Beware of dog... and cats

Beware of dog… and cats

The lighter colours seemed to work better.  The smoke would be blown back into the wood grain for a nice contrast on the background. Hard wood also provided a very nice medium for fine detail as seen in the leaves of the trees.


Tree engraving detail

Tree engraving detail

While darker wood or more pink tint looked wonderful stained, it didn’t provide enough contrast for to easily read the lettering.


Darker wood grains

Darker wood grains

I tried to experiment with white paint filling in lettering the lettering. This proved a bit more difficult to keep out of the surrounding wood grains.


Paint filled engraving

Paint filled engraving

Here are a few examples of the prototype signs. Half the fun is finding great quotes or messages for them.

old film roll

It’s no doubt that we live in a digital world.  The old days of buying rolls of film to later chemically developed have been replaced with compact flash storage and online photo galleries. Most of these things have be wonderful achievements for everyone. I still remember the days of being limited to 12-24 pictures per roll of film. The film also had to be the correct ISO for the expected light conditions for best results.



Today my digital camera can take over 1,600 pictures on a single CF card. I don’t need to worry if I bought the right type of film or wait for it to be developed.  However, if you are anything like me, you have vast collection of pictures taking up space on your hard drive.

But sometimes the digital world has unexpected negative impact on our lives. Because any physical pictures must be printed out, I find that less and less of them actually make it into frames. Ironically, I have thousands and thousands of digital pictures but hardly and physical copies of my work.

wooden-photo-framePhotography has changed over the years, but what about the frames? Improving the picture frame might just be what is needed to take the digital pictures and turn them into tangible goods. By making a unique frame, the pictures can become more than a image on paper. They can blend over and onto the frame making the entire object a unique item.

I have been toying with different ideas for unique frames with different themes. Here are a few examples that I’ve started.

Wet dog frame

Wet dog frame

Welcome baby frame

Welcome baby frame

Picture perfect frame

Picture perfect frame


What other ideas would you like to see? Post a comment and let me know.  If you would like of any of these frames personalised for yourself, please visit my shop.

City center map

I’d like to share some images of my Minecraft server that has been running for over a year and half now.  I started this server not long after the February earthquake of 2011 here in Christchurch.  Just as we had to rebuild our city in real life, I constructed this virtual city server block by block.  Many of our city iconic buildings in were destroyed in the earthquake.  The city’s main icon, the cathedral  was destroyed in the quake.  This was one of the first large buildings constructed.  I’ve also added some other buildings that were destroyed to help remember them.


The city itself acts as a the main hub for the server.  It contains portals that take you to other cities, each with their own theme.

Egyptian City

You can read more about the server details on the minecraftforum post.  I’ve met some really good players over the last few years.  Many of us are still just casual players who come to build and share our creations.  The server has slowly grown into what it is today.

Mayan Temple

Collection of shots from around the server.  These are taken with HD texture pack and GLSL shader for added effect.

Who doesn’t like candles?  Their warm light dances on the walls and over all objects in the room.  Okay, so maybe I’m not Shakespeare, but I do think he said it best about candles.  “How far that little candle throws his beams! So shines a good deed in a weary world.”   How fitting for a tiny little tea light candle as well.  Tea lights are a great way to keep the candle wax inside the aluminum cup and your surfaces safe.  However, they are not the best looking on their own.  Time to spruce them up a wee bit.

I started with a basic concept of a small box with legs.  Inside a spacer would keep the candle centered.

tealight design

tealight design

This design gave me the most surface space to engrave the words of wisdom.  I have a bit of affinity toward darker wood.  A few coats of stain and varnish provides a nice contrast to the engraving and colors of the flame.  I then cut each of the parts out and prepared them for assembly.

tealight cutout parts

tealight cutout parts

The bottom part has fingers that lock into the four sides holding everything together.  Keep in mind that these are all rather small.  The center hole for the tea light is 37mm in diameter.  Because the candles are already small, the font size had to be reduced to get the quote to fit on the front.  I’m afraid that the quote font size might a be a bit too small and difficult to read.

tealight front quote

tealight front quote

Regardless of the font size, I believe the box works well for the intended use.  I plan on making a few more of these for around the house.

tealight box finsihed

tealight box finished

This year, 2012, has seemed to drag by very slowly for me.  I thought it would be a great idea if the coming year could be cut up into small pieces.  Keeping with that spirit, I created a 2013 calendar that is a jigsaw puzzle.

2013 Jigsaw Calendar

The calendar was created using a Linux console command.   “cal 2013”  This gave me the text in monospace format.  I then took SVG designed jigsaw design and modified it to fit my needs.  The internal lines are lightly engraved to simulate different pieces.  You’ll have to click the full size image to see them as they are hard to see from the thumbnail.  The outside is then vector cut to produce a nice border.  The calendar text is then deep engraved into the 4mm ply to expose a darker lower layer.

I made two of calendars that were about 27x30cm on unfinished plywood.  Next time I think I’ll try a smaller version with dark stained wood.  With a light engraving, this should give a nice contrast.


Drivers – RTL2832U SDR

Before you run any software, you need to get the SDR device drivers.  For windows this is done by replacing the default TV driver using Zadig.   On Linux, rtl-sdr from OsmoSDR must be built from source.  This part was rather painless, though I do suggest using the non-root install option during cmake.


SDRSharp or SDR# is a Mono/.NET application that is supposed to be cross-platform.   However, after downloading, I quickly found that Linux wasn’t very well supported.  To begin, the precompiled binaries threw exceptions and crashed.  Support posts suggested compiling from SDR# source. I grabbed the latest from SVN after installing a slew of build dependencies.  Then it is launched via mono SDRSharp.exe.  However, there are some license issues with the RTLSDR linkage that prevented the inclusion of the SDRSharp plugin needed to use my SDR.  Once you find the SDRSharp plugin, you need to edit SDRSharp.exe.Config to un-comment the plug-in.  Then links need to be made to the RTL-SDR libraries.  After that it runs… if you can call it that.

SDR Sharp UI Problems

SDR Sharp UI Problems

First, the UI was so laggy that it was totally unusable.  Two-five seconds delays when selecting options.  Note that there is white text on white backgrounds (see image above) and very small text that overlaps other controls.  After searching for 20 minutes, I found the only way to increase font size in mono was to lie to X11 and increase my system DPI settings.  This helped the smaller text, but didn’t fix the broken panel controls like frequency manager. (see image below)

SDRSharp - panel won't expand

SDRSharp – Look at bottom left, panel won’t expand

This was all running in a small window.  If I tried to maximize the application it basically locked up.  Audio was okay without shutter, but the mono UI was very broken.   Since it was Mono/.NET I tried this application on windows.  It ran without any issues on Windows.  It was smooth in fullscreen and reacted in real-time without even the slightest sign of lag.  Of all the other applications, this one was my favorite for easy of use and simple interface… when you can get it to work. 🙂

Result: Linux unusable broken UI, Windows – Great!


Linrad screenshot

Linrad screenshot

Linrad (http://www.sm5bsz.com/linuxdsp/linrad.htm) is a no frills cross-platform SDR GUI.  It isn’t very user friendly or as intuitive as other programs.  Many of the functions are accessible only via keys that must find via the help and memorize.  Everything was draw using basic lines.  The spectrum display could desperately use some gradient or even solid fill to improve visibility.  I have rather poor eyesight which made the small fonts and single pixel lines too hard to see at high resolution.  While it did function for me, I found it too awkward to use and difficult for a beginner.

Result: User Interface awkward and too hard to use


While GnuRadio isn’t what I would term a SDR scanner/browser, it does have a huge rage of functionality.  There are decoding plug-ins for a very wide range of signals.  Real-time decoding can be done via FIFO files.  I started trying Debian’s repository copy of gnuradio.  While it ran, it was missing any RTLSDR sources.  Checking the website revieled the need for a third party plugin gr-baz.   This then gave me problems since it refused to compile missing Gurel, which was installed but not the development versions.  That didn’t even appear to exist in Debian unstable.

More searching online to find additional solutions.  This time I tried using the building script suggested on the gnuradio wiki page.  I removed all repo versions of gnuradio binaries and let it run the script.  After running for 20 minutes and chewing up 750MB of disk space, I got this:

I reran with verbose and got

But I had python3.2 installed.  Sure enough there is a libpython3.2mu.so.  Turns out that gnuradio build/configure is broken.

Result: Failed to compile RTLSDR plug-in from source


Gqrx, website, looked like the perfect application for my Linux SDR problem.  The UI looked easy to use and not overly complicated.  The author suggest starting with the binaries first.  Which I tried to only find that they were compiled for GLIBC_2.15 when Debian unstable is still at 2.13.  Several minutes later, after finding tons of others complaints that Debian hadn’t updated, it seems that 2.14-2.16 were mostly updates for MAC/Windows and so they didn’t need to update.  This of course means tons of other apps are broken too.  (Like Steam)  Okay, so I said “lets try the source.”  I grabbed the latest versions and tried to install.  The website suggested having GnuRadio installed should work.  Maybe they meant the source version of GnuRadio  because I could never get it configured to find it my versions.  I even tried toying with the library paths of the qtcreator application.  I have my doubts that it would have worked anyway since I couldn’t get the required third-party plug-in for GnuRadio to work.

Result: Failed to compile from source


SDRSharp – 0/10 – UI too buggy and slow on Linux  – 8/10 on Windows
HDSDR – 0/10 – closed source with no Linux version – 5/10 Windows rather poor bitmap UI
Linrad – 4/10 – User interface awkward and too hard to use
GnuRadio – 0/10 – required third-party plug-in for SDR failed to compile
Gqrx – 0/10 – Failed to compile
QtRadio – 0/10 – too many dependencies that were not in distribution repositories

Excluding SDRSharp’s flawless performance on Windows, my results for trying to find SDR software on Debian Linux Wheezy were greatly disappointing.   Hours of trial and error wasted on what should have been a rather simple “configure/make/install” process.  The SDR drivers were working on Linux, but most of the applications had major issues.  My only solution right now is to reboot into windows and use SDR#.


Once upon a time programs would ask your permission before using your resources.  The idea that a program would phone-home and connect to a remote system host would be appalling.  Today this practice is common place.  Applications do anything from just checking for latest versions to submitting tracking and usage metrics.  Wouldn’t it be great to have the ability to run an application or command without network access?

Thankfully, there is an easy way to do just this with Linux groups and iptables.  I’ve written small wrapper script that enables you to easily run a command or application without network access.

Some setup required

To make the magic work, a few things must be setup first.  Start by adding a nonet group and  remove the password.

Then you’ll need to add a iptables rule to reject all packets using that group id. If you’re running a Debian/Ubuntu distribution this can be accomplished via a script place in /etc/network/if-pre-up.d/nonet.

Wrapper script

The next step is my wrapper script.  For added safety, the script checks for a few conditions before running switch group.

Download: nonet

Download and install the above script in your path, $HOME/bin for example.  Make sure you chmod +x nonet first.  You’re then ready to run commands.

All child threads from the main parent will inherit the nonet group and therefore have no internet access.  This method can be expanded for additional permissions by using more groups.


LAN/Localhost only

This is an example of using the above method to allow localhost + local area network access only.  Use where you want an application to have access to say a local server, but not talk to the outside world.  Script is for /etc/network/if-pre-up.d/lanonly.


Project Omega Early Screenshot

Project Omega Early Screenshot

As I mentioned before when talking about low polygon artwork, making a your own game takes a lot of time and effort.  The actual worst enemy of a indie game developer is allowing feature creep to kill your project.  When I started “Project Omega” it had a very limited scope.  During my time working on the game engine programming, I kept adding new features and ideas that I may want to use at some point.  This of course caused the entire project to balloon out of control.  On the other hand, who doesn’t want to add cool new ideas to their product?   It’s hard to fight that temptation to make the best possible product or just deliver something with a workable scope.

Project Omega Different Planet

Project Omega Different Planet

The above screen shot shows an additional planet with different terrain, physics, temperature, obstacles and more details.  Actually, at this point I had made a framework and five planets.  Each one with a unique and different and atmosphere.  While this did add a lot to the game, it took a lot of time that kept me from working on my other areas.

Some of the features I have working:

  • Game Engine
    • Ogre3D C++
    • Bullet Physics
    • Open AL 3D Sound
    • Multi-state system with loading progress job manager
  • Real physics simulation on tank
  • Multi-factor weapon system with heat/energy/recoil for each type
  • Defense Towers with basic AI to track/lock on player
  • Multi-track music system
  • Menu navigation with world selector
  • Randomized worlds via coherent periling noise
  • HUD with zoom-scope view
  • Zoom-able minimap with radar
  • Particle systems with explosions
  • Entire system is mod-able via text .INI files
  • Text chat/system console with real-time engine controls
  • Multi camera style controller
Low poly missile tower

Low poly missile tower

I’m just a hobby indie game developer, but learning to integrate and develop this has been a fun learning experience.

To choose a good gift you need to personalize it to fit the person.  In this case, the person was very interested in Egyptian culture.  Building off of that idea, I set out to make something that looked Egyptian and could be useful.

After doing some research, I chose to do an Egyptian themed jewelry box.  I noticed a lot of styles that used dark colors with gold accent.  This led me to try a dark wood stain that is then engraved to reveal the lighter internal wood.   I used random hieroglyphics for the four sides.  On the top lid it has the eye of Horus since is watchful eye of the protector.  Under the eye I put the person’s name in hieroglyphics.

Egyptian Wooden Jewelry Box

Egyptian Wooden Jewelry Box

I used a new type of hinge that allowed for smooth rotation of the lid and added a spacer and red felt inside.

Egyptian Wooden Jewelry Box Inside

Egyptian Wooden Jewelry Box Inside

It’s not something that I think would sell because of the costs and time involved to produce.  But as a gift that wasn’t an issue.

Engraved Bamboo Spatulas

Engraved Bamboo Spatulas

Bamboo turns out to be a wonderful wood to work with on the laser.  I tested some bamboo spatulas with different ideas.  The only ones I could find had a wooden finger joint, seen in the picture as the dark stripes, in two places on the handle.  Bamboo also seems to be able to handle a good deal of engraving detail.

Engraving detail

Engraving detail

One of the biggest challenges of using a laser is learning how each material reacts.  Natural materials like wood and rocks are all different.  Even the same type material can have huge differences in density that can cause the same settings to come out differently.

I thought I would give thin natural wood cork a try.  While I think the engraving came out perfect, the cutting was a major disaster.  The cork burned and charred so badly that it made a mess to work with.  Although trying any less power and it wouldn’t cut through.  I think these would be great if I could find a way to cut them out without burring the edges.

cork coasters

Cork coasters laser engraved

Disclaimer, I’ve used the Aperture Science one a wee bit. 🙂