I'm a software engineer who works on game development part time. I teach game development (on gamedev.stackexchange.com and lynda.com). I'm always working on something, and I'll post updates here. Let me know if there's a game development topic you want to know more about, I probably know the answer, or at least where to get one.

Thursday, May 26, 2011

Unit jobs

I’ve implemented unit jobs and tasks. Jobs are made up of multiple tasks. Basically a job is something like “channel all these cubes”. That job would contain tasks like “move to this position” or “channel this cube”. It works fairly well and allows a lot of flexibility in the job scheduler and units performing the jobs. I don’t have the unit models in the game yet, so they are just represented by little diamond outlines. However, it sure is fun to watch them move around and work!

I’m working on getting a video capture program I like and getting some videos up. Much better than these boring screen shots. Should have some within the next week or so.

Monday, May 23, 2011

Yet again, more water

My water flow algorithm was getting pretty bulky. So, like any good programmer I rewrote it from scratch. I really like the new algorithm. A nice recursive algorithm that’s really fast. Standing on the shoulders of giants, I used some of the aspects of water flow as described in this article on Dwarf Fortress. I always liked the water in Dwarf Fortress compared to that in Minecraft.
For example in Minecraft it’s easy to get a situation like this:
Which in some cases is fun, for making under water buildings and the like. However, I wanted something more “realistic” like Dwarf Fortress offers, like this: 
I like it! I’ll try to get some videos up of it in action.
Additionally today is my 2 year wedding anniversary with my beautiful wife. Thanks to her for putting up with me spending all my free time on this game!

Thursday, May 19, 2011

Minecraft question

I just saw some screenshots on your blog and they look a bit like Minecraft... Coincidence? :P

Huh. I was going more for a “3D Dwarf Fortress with textures instead of ASCII characters”. Or maybe like a “3rd person empire building game based on Infiniminer”. ;)

Yes, I agree, my game and Minecraft both employ the use of textured cubes, they can be added and removed. However, beyond that, they’re pretty different. I’m making a 3rd person empire building game. My game gives the player the task of taking their small group of goblins and building a large, powerful goblin empire. Both games are inspired by similar sources, but they are taking different paths.

It’s understandable that my game could be mistaken for a Minecraft look-a-like from these early screenshots alone. Just follow the progress of the game and I’m sure you’ll see it develop into something new and different. Thanks for the question.

Monday, May 16, 2011

More water work, NetBeans and threads

Spent most of the day Sunday on water flow and un-flow. Un-flow is working OK, but it’s not exactly where I want it yet. That’s fine with me it’s fun to work on. Sometimes I get these little oscillating patterns of flow that remind me of Conway’s Game of Life.
Water flows farther on surfaces that aren’t porous. This means you can create channels of stone that will carry water around (if you don’t have the resources to build pipes yet). This will be critical for all the goblin steam craft, water wheels and decorative fountains. 
NetBeans keeps saying that x class isn’t found. So, I have to touch the class file, clean build, then try again. What usually follows is class y not being found, so I have to repeat. I ended up writing a script that goes through and touches all the files. Then I can clean build once, without issue. Also, NetBeans has been giving me silly errors like:
Exception in thread “main” java.lang.RuntimeException: Uncompilable source code - missing method body, or declare abstract
This is immediately after tweaking one little bit of code, then rebuilding. Obviously not removing the method body. /sigh. I’ve upgraded to the latest version 7.0, and I haven’t had any more issues with the classes not being found. However, there are some issues with the NetBeans UI and undo was acting weird. All that is better than missing classes though, so it’ll do.
I’ve been having threads die, without warning, without throwing an exception and not reaching any of their exit points. It’s a mystery, an annoying, frustrating mystery. For now, I’ve just added a thread watcher to see when threads go missing. The watcher then starts a new thread in it’s place. After more work on the water flow, the threads seem to have stopped disappearing. So I guess they were just crashing hard enough to not report. Hard to say.

Sunday, May 15, 2011


Added water and flow. However, I haven’t added “un-flow”, so once water is there, it’s there to stay. I was also playing with the land generation algorithms to get some more interesting stuff in there. I’m using a combination of 2d perlin noise and 3d perlin noise. As you can see from the screens page, there was some interesting stuff! I think I've got it a little toned down to the kind of landscape I was looking for.

Wednesday, May 11, 2011

Working on the UI

I’m really liking the TWL interface! Byte56Game0 is getting a goblin steamwerks style interface. Unfortunately, it only has my “programmer art” right now. Artwork is something I’ll have to really spend a lot of time on or outsource at some point. Also I’ve posted some images of the game on the Screens page.

Keep in mind, this is pre-alpha stuff! Textures are likely to change, like I said, programmer art:

Thursday, May 5, 2011

Hello world!

My first post, I’ll try to explain what I’m up to. I’m making a game! It’s a 3D, 3rd person, voxel based, goblin city/mine/fortress builder. The goblins have gained a little smarts and are finally settling down and building themselves an empire! Inspired by Dwarf Fortress, Infiniminerand MineCraft.

This is my first game, and it’s fairly early in development. I work on it when I’m not at my day job. I’d like to use this blog to provide progress reports on it’s development, and get feedback about the direction of the game. It’s written in Java/OpenGL (using LWJGL), so should support Windows/Linux/Mac. I’ll post screen shots of the game soon.