About Jamie Munro

How I became the greatest software developer author that you've never heard of.

How I Started Programming: Creating Duke Nukem 3D Levels

After playing Warcraft 2 for over one year - the greatest game of all-time - it was time to start playing a new game. In the summer of 1996, Duke Nukem 3D was the popular game with my friends.

It's quite a different game from Warcraft 2, but hey, why not. Duke Nukem was immediately captivating, it was unlike any game I had played to date. I had minimal experience with Wolfenstein as I got a computer pretty late, so this was my first first-person shooter.

Broken vending machines

This game was not simply about walking through levels and shooting enemies. I was a huge fan of the creative features in each level. Almost every object in the environment could be destroyed, from fire hydrants to cracks in the walls.

On top of the interactive environment, the weapons and enemies were incredibly detailed. The deaths of the enemies were next level. It's hard to pinpoint the best weapon, they all had unique awesomeness to them.

The shotgun was great for making the enemies explode. Pipe bombs were great to throw and watch everything explode.

Destroying aliens

Before I started playing Duke Nukem, as I mentioned at the start, I played Warcraft 2 at nauseam. I played so much that the built-in maps were getting tiresome. That is when I discovered the map editor.

I remember thinking this was the coolest thing in the world, it made me feel like a game creator; even when there was no game play control. I was hooked, I pretty much never played a built-in level again. I proceeded to get my friends hooked on it as well and we constantly played multiplayer games against the computer with our custom maps.

When I started playing Duke Nukem, it did not take long to discover that it also had a level editor! At first it seemed somewhat similar to Warcraft's map editor. I could not be more wrong. I started by creating some hallways and placing sprites down of the enemies. It was very cool to quickly interact with your creations in 3D mode.

This of course was not enough to satiate my hunger for more. I needed to know how to make doors open, cracks in the walls that could be exploded, etc. I quickly became completely lost, the Internet was not what it is today with endless tutorials by hundreds of people way smarter than I am.

I have bought many books on computer programming in my lifetime, but it all started with The Duke Nukem 3d Level Design Handbook. I was so eager to get started. It did not take long to realize that it was so much hard than I could have ever thought!

Building the walls were easy enough, but it was time to create a door that required to be open by the player. Somehow you were supposed to create something called sectors then make that sector rise out of the ground.

I struggled my way through this. Now it was time to make the door locked. My memory becomes a little hazy here, but I remember having to type a few different commands to configure the door to open. I was officially a computer programmer (in my mind).

The satisfaction of making that door open was next level. I was ecstatic. This is when I knew that I wanted to do something with computers, anything really, I had know idea.

Duke Nukem 3D Editor

Fast forward 20 some-odd years and I am a software developer with over 15 years experience! When I have a good day and achieve something, I still get as excited as a 15 year old kid making a door slide open in Duke Nukem.

I'm Jamie and I'm a software developer.


Learn how to code in HTML, CSS, JavaScript, Python, Ruby, PHP, Java, C#, SQL, and more.

No matter the programming language you're looking to learn, I've hopefully compiled an incredible set of tutorials for you to learn; whether you are beginner or an expert, there is something for everyone to learn. Each topic I go in-depth and provide many examples throughout. I can't wait for you to dig in and improve your skillset with any of the tutorials below.