About

I'm Tung Nguyen. I live in Sydney, Australia. I write code. I dabble in multimedia, games development, web development, and I aspire to be a competent programmer in the future so I can make the stuff I want.

This site is home to my various projects (mostly Sphere-related), a blog to deliver various programming and games-related bits and bobs, and a way for you, the anonymous reader, to get in touch with me.

I have a profile page over at the Sphere RPG engine wiki, if you want to see some of the older stuff I've done.

Sphere Startup game

Sphere was hurting for a good game-picking interface, so we held a compo. I made the winning entry, which is distributed with Sphere even today. Hooray!

Sphere Releases

Since Flikky's moved on, I've been managing and maintaining Sphere, a C++/JavaScript-based open-source RPG engine, from the Linux side:

  • Sphere 1.2
  • Sphere 1.3
  • Sphere 1.4
  • Sphere 1.5

In the past, I've also done things like:

  • porting the old source to newer versions of C++ compilers
  • adding to the Linux graphics subsystem
  • completing the Linux networking subsystem
  • adding map engine music continuation
  • adding native font word-wrapping
  • improving the out-of-the-box experience for Linux users
  • numerous bug fixes over the years
  • community support via the forums, email and IRC

Sphere wiki

I was the one who designed the front page of the wiki. The design itself was "inspired" by Wikipedia.

I wrote many of the function wiki pages, as well as transforming it from a copy of doc_functions.txt/api.txt to a useful reference with quick descriptions and deeper explanations.

I currently keep the news section up-to-date, and write docs for vital system scripts.

Sphere games

I've made plenty of demos, and some games, including:

Sphere scripts

I've written a handful of scripts that enhance Sphere, including:

Other stuff

I've dabbled with a whole bunch of stuff, in no particular order:

  • C - first language at 12, later for uni coursework
  • C++ - for Sphere, and coursework/multimedia stuff
  • QuickBASIC, VB6 back in its day, BlitzBasic
  • Pascal - didn't learn much, but helped when I contributed to GearHead
  • Lisp - Common Lisp for a while, plus some Scheme and more recently Clojure (try it!)
  • Python - for an AI assignment, oh yeah
  • JavaScript - mostly for Sphere, a bit for web dev
  • PHP - le shudder, but it runs this site (Drupal, which is PHP-based)
  • SQL - enough to cover Databases 1 and 2, plus my own stuff
  • HTML, CSS - learned them so I may never use them, like karate but not as cool
  • bash scripting and awk - for some token sys admin stuff
  • Some x86 assembly - just enough to write a compiler for some coursework
  • Prolog - a bit for coursework, though there's not much to it
  • Java - for some first year uni crap, plus an OS assignment
  • C# - a bit for some Wiimote hacking

Still looking to extend my borders. Haskell is still uncharted territory, while my next target is Ruby for a little something I'm cooking up.

This seems like a lot of languages, but it's not so much the number, but the ability to think "outside" any one language, and instead think of the problems.

Meanwhile, I have the memory of a goldfish, so I tend to write docs. Lots of docs. Good docs. Short docs, otherwise I never read them again. My git for the lazy article is linked on the official git site, if that means anything.

Internet hang-outs

  • Hacker News - because it's better than programming Reddit.
  • Stack Overflow - just to keep up with the real world aspect of programming.

There's also a list of links on the right. Feel free to check them out.