Return to Minecraft

Over the past two-and-a-half years or so I have been keeping a persistent Minecraft world on my home computer. Every now and then I’ll start up the server and delve into my little Minecraft world of a couple of weeks or months. Every time I do I invite a couple of friends to continue their own creations. It’s been a while since I last played Minecraft, but I recently started up the server again and have been hard at work creating new structures.

Here is an overview of most of the “civilized world” in my server:
In the center-left is my main home: a large house made of marble mined from the Nether.  Some other points of note include:

  • The World’s Tallest Tower (center) – a cylindrical tower that reaches the maximum height allowed in the game.
  • The Great Southern Wall (center-right) – a giant wall which was constructed to keep the civilized lands safe from the desert to the south.  Just FYI, I build this wall before I even heard of Game of Thrones, so, no, I wasn’t copying it.
  • The Great Warehouse (right) – a sprawling warehouse filled with racks and racks of chest.  I was inspired to build this when the fourth Indiana Jones movie was announced.
  • The Obsidian Tower (upper-right) – a tower made of obsidian, built by one of my friends.  It is not quite complete.
  • The Missile Silo (center) – a large ICBM sits in the southern end of civilized lands, ready to inflict mutually assured destruction against any nuclear enemies.
  • The Black Pyramid (center-bottom) – a black pyramid constructed of netherbrick.  The interior is completely dark and acts as a sort of arena for killing monsters should the need for special materials only dropped by them arise.

There are many other individual structures too numerous to list, and there are extensive networks of underground tunnels and spaces which are not easily viewed.

Here are some more photos of just a few things built within the world.  There are many more impressive structures and vistas besides these:

The Obsidian Tower.
One of the earliest creations was a village containing a variety of smaller buildings.
One of the many bridges situated along The Great Road — an absurdly long road I’ve worked on which stretches out far to the East.
The Great Road features many beautiful views.
The view from the rear of my main home base. The Black Castle is perched atop a distant mountain, silently menacing the surrounding lands.
A cozy chalet along The Great Road.
A coastal desert fortress constructed by one of my friends.
One of my friends is currently constructing a giant statue made to look like the humanoid characters in the game.
An admittedly poor view of Little Egypt which lies immediately south-east of my main home base.
A view of the rear of my mansion. There are many animal pens and a good deal of farmland near my mansion which were built for resource gathering. The bell tower on the left was a copy of a similar tower I saw photos of online. In the distance you can see the Portal Temple, which was the site of the world’s first portal to the Nether.
A statue created as a tribute to all miners. This was constructed at the mouth of one of the many mines along The Great Road which were struck for the stone needed for its construction.
I mentioned earlier a “Great Road”. This is a project in the world where I have created a long, east-west running road across the Minecraft world. The last time I measured, it took about half an hour to walk from one end to the other.

This “Great Road” begins at the eastern coast of the area where everything started and runs westward. During this most recent return to Minecraft, a new megaproject was started in which The Great Road was to advance to the west, across the ocean. The Great Bridge to the West will be the largest structure in the world once it is complete.  It’s beginnings are visible in the lower-left corner of the overworld map near the start of this post.

You can get a feel for how long the bridge is from the following image. Here we see much of the known world, and The Great Bridge to the West is in its initial stages, reaching only 3/4s of its planned final length.

The Great Bridge to the West is not yet complete. Here are some progress shots:

Initial planning the east landing and overall bridge superstructure.

I decided I wanted the bridge to made up of repeating segments in order to break up the monotony of building a bridge that was identical along its entire length and to give it some aesthetic character. After a couple of refinements I settled on an acceptable segment design.

Here we see the construction of the eastern abutment and the prototype superstructure segment template.

Initial preliminary construction of three bridge superstructure segments depicting the three layers of each segment.

My friend, being a little overzealous, started creating bridge segments right away. What I wanted to do first was to just have the three progressively completed segments to act as a guide, and to first create a skeleton of the bridge spanning the entire length of the ocean before building the superstructure segments on top of it, layer by layer.

An overview of the bridge’s initial progress.

Construction of the bridge skeleton is temporarily halted when it hits a good-sized island. A small base of operations was set up on this island.

The skeleton reaches across the entire ocean. Without the segments filled in it is easier to count how many segments span the entire ocean. I planned to use this information to design additional support structures for the bridge (e.g. pillars, suspension towers, etc) but I’m not 100% what I will do (if anything).

The first layer of the superstructure is complete.

The skeleton of the bridge without the segments completed continues off into the night.

With the skeleton complete, the meat starts being added, one layer at a time across the entire span of the bridge.

Side view of the eastern end of the bridge. The building on the shore covers the entrance to the mine used to gather materials for the bridge and includes storage and smelting facilities.

A depot was built along the bridge at the point where the large island that interrupts it.

Beneath the depot are some buildings, farms, and a mine.

Prior to this particular megaproject (which my friends are helping me on) there was another megaproject in which a bridge across a sea far to the east was built. This bridge — known as The Great Bridge to the East — was, at the time, the largest structure in the world.

Here are some shots of its construction:

Initial two tower foundations are done up to the surface and the outlines of the bridge proper are being contructed:

Aerial shot of the bridge and tower foundations:

The tower foundations were build up right from the sea bottom:

The tower frames going up:

Tower outlines at night:

Filling in the towers:

Tower construction:

The towers dark and ready to be lit:

Lighting the towers:

View from the interior of one of the towers as it is in the process of lighting up:

Nearly completed bridge at nightfall:

View of the west bank approach:

The completed bridge as viewed from the east bank:

Near large constructions like this I usually create a small home base. Here’s the interior of the one near this project:

Another megaproject in the world is the East Gate.

Gore’s Medal

In World of Tanks, players may be awarded “epic medals” under certain extraordinary circumstances.  These medals are usually inspired by some historic military commander, hero, or event.

The other day, I acquired “Gore’s Medal” for the first time in my Hummel.

The other awards I won in that battle:

“Ace Tanker” mastery badge

Earn more base experience in a single battle than the average highest experience of 99% of all players in the same tank within the last seven days

“Fighter” honorary rank

Destroy 4 or 5 enemy vehicles in the course of the battle.

“Arsonist” token

Destroy an enemy vehicle by setting it on fire.

“Bruiser” token

Damage enemy modules and/or knock out their crew members at least 5 times in the course of the battle.

“High Caliber” battle hero medal

Awarded to players who dealt the largest amount of damage during the battle and where the total damage dealt is at least 20% of the total hit points of all tanks on the enemy team.


Mark of Excellence: Hummel

I earned my first Mark of Excellence on my Hummel the other day in World of Tanks.  These are special markings that are drawn on the barrel of a player’s tank which indicate exceptional performance.



These in-game markings borrow from the old “kill rings” or “victory marks” tank crews would paint onto their tank guns to mark their kills.


Exemplary Performance

I’ve had some good games since I started playing World of Tanks again.  Here are some awards I recently earned:

The Arsonist award is not easy to get, especially with an SPG.  With a single shot, you have to almost destroy a tank and score a critical hit on the fuel tank and have the fuel tank rupture and catch fire and have the fire do enough damage to finish off the tank.


I was wondering if I’d ever get the Bombardier award, as it entails destroying two tanks with one shot.  High-explosive artillery shells FTW!


I was not expecting the Battle Buddy award; I had no idea it existed.  I guess it says something about an arty player since SPGs are typically not very accurate and often fire high-explosive shells which cause splash damage. It’s very easy to damage allies if one is not careful.


Destroying a third of the enemy team by yourself is a decent accomplishment.


The Raider award is earned when you capture the enemy base — you have to make it to the enemy flag and stay close to it for a minute or two — and do it without ever being spotted by the enemy.  This is fairly humiliating to the enemy.  It’s especially so when the enemy does it with a terribly slow SPG.


The game also has a campaign for each class of tank.  Each campaign consists of fifteen missions, and each mission consists of a primary win condition and a secondary win condition. These missions are just a goal you can set for yourself — you don’t have do them.

The reward for completing a mission is typically a pile of credits and/or some in-game consumable.  Completing a mission with honors (i.e. fulfilling both primary and secondary conditions) rewards additional credits.   The reward for completing every mission in a campaign includes a female crew member (and this is the only way to get them).

I had completed the entire campaign a few days ago, but the game gives you the option to retry any mission which you did not complete with honors the first time.  Tonight I managed to finally complete the entire campaign with honors.



The results of the game wherein I completed the final mission with honors:


And, finally, here’s a photo of my favorite tank — the Hummel:


More World of Tanks

I started playing World of Tanks again after a long absence. As usual, the quality of the graphics and sound have noticeably increased since the last time I played.

I play German tanks almost exclusively, focusing primarily on the SPG line (“self-propelled guns” — aka artillery, or “arty”). The highest tier SPG I have is the G.W. Tiger (tier 9), but I’ve kept the SPGs from the three previous tiers — G.W. Tiger (P), G.W. Panther, and Hummel — because they’re so much fun to play.

The Hummel is my favorite tank to play in the entire game.


I recently completed the final mission of the SPG campaign, which earned me my first female crew member.


I also like the German tank destroyers, and am currently building experience on the Jagdpanther and Jagdpanther II. A second line of tank destroyers has appeared in the game’s research tree, so I’ve started along that one as well with the boxy Pz. Sfl. IVc (the “toaster”).


I like the Jagdpanther, but the lower tier StuG III is probably my favorite tank destroyer.


I used to play light tanks a lot, but they’ve fallen out of favor for me after I earned my Mastery badge with the VK 28.01 after I killed five tanks in one game with it a few years ago:


I used to play medium tanks a lot, too, but that tapered off quite a bit once I researched my first heavy tank.  After discovering that I’m just not very good at playing heavy tanks, my focus moved primarily to SPGs and tank destroyers.

Here are a couple more photos from the game as it looks now:

And here are some videos I just made:

(Here’s my full World of Tanks video playlist containing older videos)

I Flew an X-wing Today!

I was at my brother’s place today and got to try the Star Wars: Battlefront – X-wing VR demo on his PS4. It was incredible!

Here’s a video of my play-through of the demo (The first seven minutes or so are just me getting used to being in a virtual world with an X-wing starfighter – jump to about 8:00 to see the start of the game):

It’s disappointing that there’s nothing more to the demo than one simple mission. There’s really no reason why the demo could not have had an “infinite play” mode.

Sadly, there appears to be no news of any actual full game like this being developed.

Still, I’m sure someday I’ll be able to fly a properly simulated X-wing fighter — there’s just too much money to be had in selling such a game.

Atari 2600 Programming

atari 2600When I was a kid, our family had an Atari 2600 Video Computer System, as did many of our friends and relatives.  We had a good number of games, and many great memories were made playing them.

A few years back I got a book (Racing the Beam: The Atari Video Computer System, by Nick Montfort and Ian Bogost) that talked about how those old games were programmed.  It was quite fascinating.  The approach to programming the Atari 2600 is quite a departure from what I do every day as a software developer.  I gained a lot of respect for the old Atari game programmers; they performed incredible feats of coding.

More recently, on a whim, I decided to read up on Atari 2600 programming about a month ago.  Here’s a little bit of what I’ve learned:  To run games, the Atari 2600 uses a MOS Technology 6507 microprocessor (a variant of the MOS Technology 6502, a generic 8-bit microprocessor which was first produced in 1975 and is still used in hundreds of millions of devices to this day).  This is the central processing unit: the chip that executes the software written by Atari programmers.

The central processor interacts with two other chips.  One is the MOS Technology 6532, another generic chip designed to provide RAM (only 128 bytes — your computer probably has at least eight billion bytes or more), a couple of I/O ports for interfacing with peripherals (e.g. joysticks), and a timer. The other is a custom chip called the Television Interface Adapter (or TIA), nicknamed “Stella”.  The TIA is responsible for generating the signals that are sent to a TV in order to generate images and sound.  The TIA was designed to keep costs down, and cost-cutting measures led to the chip exhibiting some very peculiar behaviors which required arcane knowledge and carefully timed commands to effectively control.

After learning about programming the 6507 to control the TIA, I’ve discovered that the Atari’s reputation for being notoriously difficult to program games for is not overstated.  First of all, in 1975 we didn’t have computers powerful enough to provide layers of abstraction between the programmer and the hardware which act to simplify programming tasks. The Atari requires coding in an assembly language — literally the lowest level of programming possible in a computer (sometimes called “bare-metal” programming because of the programmer’s metaphorical proximity to the physical hardware).

To illustrate the difference between modern software development and programming in assembler, imagine that you want to write a poem on a piece of paper.  Modern programming is like you grabbing a pencil, then manipulating that pencil to write the desired words on a piece of paper.  With assembly programming, if you want a pencil, you can’t just grab one — you have to first chop down a tree to get some wood, mine some graphite out of the ground for the lead, etc.  Programming in assembler for the Atari’s Stella chip is like you having to time those axe and pick swings in step with your heartbeat or you die.

The ultimate testament to the skill of the original Atari programmers is the fact that the games for the Atari 2600 could not be longer than 4096 bytes.  The entire text of this blog post you are reading takes up a little bit more than that!

So, I decided to try my hand at doing a little Atari 2600 programming myself. I followed a tutorial by Andrew Davie to get started.  Unfortunately, some of the code examples had bugs in them that made learning Atari programming very frustrating at times — I had to debug code that I was in the process of learning!

Here is my first Atari 2600 program (hosted on Google Drive — please leave a comment if there’s a problem with the link).  All this program does is display a Canada flag.  It might not seem very impressive, but if you’re familiar with Atari programming you’ll know it’s no trivial task.

canflag0 screenshotThis zip file contains the compiled ROM that you can load up and run in an Atari emulator like Stella (named after the Atari’s custom chip).  If I had the hardware, I could literally burn this ROM file into a writable Atari cartridge and run it on an actual Atari 2600 machine.

Also included is the source code to which I’ve added copious amounts of comments to make it easier to follow (feel free to tinker with it), and a symbol dump file generated by the program that compiled my code which shows exactly how each command in the source code is converted into numbers that the 6507 can understand.

Also, if you’re interested, here is a PDF of the 1979 Stella Programming Guide.

Edit: Spiceware has also put up an excellent programming tutorial as multiple topics on the AtariAge forums.