About

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.

Tuesday, October 1, 2013

Overview of basic features in AoG: New Korbly

See my latest video here or watch below.

Showing some of the basic features now implemented in Age of Goblins: New Korbly. Ship construction, energy management, module destruction, module physics and the ship FTL.

Ship modules breaking off

See my latest video here or watch below.

An oddly configured ship, but it shows that you have to be a little careful not to blow yourself up and it shows modules breaking away from a ship then interacting with it.

Sunday, August 11, 2013

A tangent demo

About a month ago I wrote about a development tangent with a working title of AoG: New Korbly. Today I have a demo for you to try out. Starting from the fresh start at the refactor, this represents a little over a month of very part time work.

Multiplayer basics are in place, but it didn't get a lot of attention, so it's not quite ready to show off. We'll aim for that on the next demo. This demo has basic ship building, power management, radar and various other little features. We'll continue to improve on the game as long as it's of interest and as long as enough people are interested. Likely releasing a new demo when new features are introduced.

Without further ado, the demo

Tuesday, July 9, 2013

A development tangent

Confession: For the last month or so I haven't been working on Age of Goblins. But don't worry! It's not dead or anything like that. I'm just taking some time to explore some other technologies and prototype a different game I've been thinking about. I got into game development to learn about the technologies and create fun things. Plus, I've had this idea for a game I thought might be a little easier to make good progress on in a short amount of time. After a few years of AoG, I needed the rush of new development :)

I've been working on the prototype with another has-a-full-time-job-and-does-game-dev-on-the-side guy, Seth Battin (of PBAction fame). Seth and I are both learning Unity3D while developing this prototype. Since we dove into the project without much knowledge of Unity, we're currently doing a bit of a refactor to apply what we learned about how Unity works. Seth is a bit busier than me so he doesn't have as much time as I do, but it's been great just having someone else to bounce ideas off and check my work (I'm sure he'll check something in eventually). It's also nice experience for learning to work with someone remotely, which I haven't done much of in my career.

The game we're making is a top down space game (3D rendered on a 2D plane of play). Players can build their own ships by snapping components together. For example, adding a bridge component and putting control thrusters on either side is enough to complete a small ship. Player space stations can be built in the same way. Ship and station components can be salvaged by trade, construction from raw materials or salvage (of existing wrecks or ones the player creates). See the "user story" below to see what the gameplay may be like:


The numbered lists show different outcomes available.

It's also multiplayer. I've never attempted a multiplayer game before (except "local" multiplayer), so it'll be an interesting experience. It also sounds like a super fun game to play with other people. Further grand plans include seamless landing on planets for resource collection/trade (space elevator delivery), somewhere from arcade to real-ish physics (needs playtesting) and space factories (for making ship components, not space). How much of that will get done? Who knows. It depends on how interested people are, how interested Seth and I are and who wants to give us a million dollars to make it.

Interestingly, the game is actually set in the same universe as AoG. I don't have all the details yet, so I'll just leave it at that. Well, just one hint, the working title of the game is AoG: New Korbly. There will be a story for the game, but it'll likely be a loose story line, with open ended play.

One thing I can say about Unity, after spending a few years building almost everything myself for Age of Goblins, it's been exciting to actually get to focus on making a game. Even after so long working on AoG, I'm still working on the engine. Let that be a lesson to all of you wanting to start making a game: Use a premade engine! Yes, I've learned a great deal about engine development in the last few years, but I have a lot more fun making games than engines.

Within the next few weeks I'll post a demo up here of the prototype. (It's crazy easy to publish to the web with Unity). Feedback welcome.

Tuesday, May 14, 2013

The uphill physics push

I've been working on (and sometimes avoiding) physics improvements in AoG. I wanted to start turning on physics for more entities. I've had physics implemented for material blocks and the terrain for a while using the Bullet Physics library. Turning on physics for other entities showed me more issues with my physics that needed fixing and so the list of things to do grew.

Sunday, March 24, 2013

What's the gameplay like?

The back story of the game is described in a previous post, The Discovery. Essentially, you're in charge of saving the goblin race (no pressure).

Your goal is to settle a new colony on a strange and hostile land. Most of your resources and technology were lost in transit, so you're starting from almost nothing. You need to build a home for your goblins, defend it from the hostile creatures that inhabit this new land and create the infrastructure to produce the technology needed to return to space.

Saturday, March 9, 2013

Fight or flight? Threat analysis


A still very much in development system in AoG is the threat system. This system is primarily used in combat. It helps entities with their fight or flight decisions.

Basically, the system takes two entities as inputs. The subject and the potential threat. The entities have some facts about them compared and a value is output determining the threat that the potential threat poses to the subject. The facts compared depend on the entities, but some common ones are:

Thursday, February 14, 2013

From data files to entities

Data files are just the start for creating entities in Age of Goblins. Once the definitions are read into AoG, they're stored in a catalog of "blue prints" for generating entities and materials. Each blueprint holds information for each component that will be added to the entity.

When the game requests that an instance of entity X be added to the game world, it refers to the blueprint stored for that entity. As an example, lets look at some parts of the goblin data file. The following will describe some attributes that each goblin entity will be generated with when it's added to the game world.

[Model]{
meshname="Goblin"
texturename="GoblinTextures.png"
distantdrawtype="norender"
selectionType="DynamicBone"
}
[Motion]{
maxvelocity=1.5:1.9
locomotion=Walk,Swim
}
[Skills]{
ALL=0.01:0.05,Mine=8.3:8.8,Construction=8.3:8.8
}

Tuesday, February 5, 2013

Data Files: Entities

Following up on my last post about the data files used for materials. This post will tell you a bit about using data files for defining entities.

First off, it's important to know that Age of Goblins uses and entity/component framework for all the entities in game, similar to the one described here. The data files take advantage of that when defining entities. Basically, the data files for entities tells the entity component system which components to add and what values to give them.

Monday, January 28, 2013

Data files: Materials

Age of Goblins stores a good deal of its data in script files. These files store everything from the blueprints for a goblin to the definitions for materials in the ground.

For all the materials in game, be it a cube making up the terrain:


Or the material it leaves behind when it's mined:




Monday, January 21, 2013

The Discovery

Presenting the first draft of the Age of Goblins back story, names and details may change. Enjoy, let me know what you think.


The Discovery was easily considered the most important discovery in goblin history. Not only did it unify all of goblinkind with a single purpose, it pushed the bounds of known science to previously unfathomable extents. The goblins were simply born too late into Eilliam, the world they called home. The binary stars that gave them life, Qurat and Korbly were building a bomb that would outshine the galaxy. In just a few generations, Korbly would supernova; the goblins had to find a new home.