Thursday, January 5, 2012

StarWright - A New Beginning

Well, I'm starting over from scratch.

For a while now I've been working on a game prototype called Starship Builder. In short, it's a "build-your-own starship simulator" in which players design their own starships by placing rooms and parts onto a grid. Players can challenge other players in multiplayer matches to see who can design the best starship. Eventually, players will be able to explore galaxies with the starships that they create. You can read more about the game on my website.

I think that the existing prototype shows a lot of promise (usually when I show it to fellow gamers, the response I get is, "When can I buy this?"). But as high as its cool-factor is, the prototype as it exists right now is deeply flawed, both in terms of design (the user interface is very confusing and too detail-oriented) and programming (the game is being held back by choice of game engine).

So I'm starting over. For now, I'm calling this new version StarWright.

Beginning again from the ground will help me hit reset on the game's design. I will take what I learned from the prototype (the premise is fun and interesting, but the U.I. is terrible, micromanagement is tedious, and player-control of multiple ships is desirable) and build a much more fun game that is much easier to play.

But probably more importantly, starting over afresh will let me correct some major technical issues with the current prototype, most of which stem from the use of the Unity3D game engine. While Unity was I think a good choice for proving out the basic concepts of the game, it has proven to be unable to scale up to the complexity that the game demands. Unity requires that ever piece of code be attached to a game object, and it does not provide control over the main game loop or the precise order in which objects are updated or rendered. Working around those limitations was cumbersome, inefficient, and a lot of work. By switching to my own game engine (dubbed Halfling, it was originally created to power my games Tetrik and Tanky-Tank), I now have full control over the game's code, which will allow me to make a more sophisticated and much more optimized game.

I'm just getting started, but here's a sneak peak at the new ship designer interface:


There's not much to the game yet -- only three parts you can use, and no way to test your ship, fly around, or fight other ships. But I have high hopes for this new version. Throwing off the shackles of the old design and game engine already feels like breathing in a cool breeze atop a mountain. It's liberating.

Now that I'm taking the project more seriously and hope to sell a finished game one day, I probably won't be posting regular playable builds of the game -- just screenshots and maybe an occasional video. That will also save me the hassle of having to make a new build for every blog post I make!

Friday, December 30, 2011

Texture Packing

Today I wrote a texture-packing tool for my game engine. It takes a lot of small image files and "packs" them into one really big image file.

Just for kicks I ran it on every single .png file in Tanky-Tank. This image is the result:


This image has been shrunk down, even after you click on it to see the larger version. The actual size is 4096x2655.

Thursday, December 8, 2011

RGB Version 2

I just finished up a significant new version of my RGB game prototype. (You can read about the original version here.) This new version revamps a couple of puzzles based on playtesting feedback, and also adds an entirely new 4th puzzle. Check it out!

Download for PC and Mac.

Wednesday, November 30, 2011

Particle Editor

I spent the past couple days re-writing the particle system and editor for my game engine. Here's a screenshot:



The user interface on the right s totally auto-generated based on whatever code variables are modifiable in the particle system.

Monday, September 19, 2011

Starship Builder - New Art (again)

My previous attempt at creating a new art style for Starship Builder was such a failure that I figured I'd try again! I'm not thrilled with the result, but I do think it's better than the original, and much better than that previous attempt.

Here's what it looks like:


Future Walt thinks that those sickly green people are really ugly.

Download this latest version for PC and Mac.

Thursday, September 15, 2011

Starship Builder - Multi-Ship!

The past few days I've been working on a big new feature that I've been wanting to add for quite a while: multiple ships! That is, each player can now control up to four ships. I think supporting multiple ships per player is important because 1-vs-1 ship combat, while fun to watch, can be a bit dull and non-interactive to actually play. By allowing multiple ships, I'm opening up more tactical possibilities, such as flanking and maximizing the strengths and weaknesses of different ship designs.

Once in the simulator, you can add a friendly or enemy ship by pressing either the "Spawn Friendly" or "Spawn Enemy" buttons. Once you have more than one ship, simply click on a ship to select and control that ship. The rest of the game works just the same.


Download for PC and Mac.

Here's a full list of the latest changes:

  • Added support for up to 4 ships per player.
  • Ships are now more intelligent about how they fly to a location: they will fly directly to the location at the maximum speed and then will rotate into final position once arrived.
  • Bullets now fly through space twice as fast.
  • Big performance improvement to physics calculations.

Monday, September 12, 2011

Starship Builder - Automated Crew

Before I talk about the latest new features of Starship Builder, I want to mention that I decided to dump the new art style that I tried in my previous post. While much cleaner and more "slick"-looking than my original uber-crappy programmer art, the new style just didn't *feel* right for a game based on a detailed starship simulation. Also, it reminded me too much of the art style of Captain Forever.

Anyway...

In recent versions, it was possible to directly control the crew of your ship, explicitly assigning them to various stations. This proved to be too hard to manage, especially as ships were constantly moving about and rotating -- it was too hard to select the desired crew and tell them where to go.

So in this latest version, you no longer have any control over the crew on your ship, who are now completely automated. The crew will now by themselves seek out jobs to perform -- you don't have to worry about that. Different jobs have different priorities so that, for example, the person manning the Cockpit will never leave his job to man a cannon. Eventually you may have a way to adjust the priority of what jobs the crew is performing -- say, manning weapons versus repairing systems -- but this feature is not implemented yet.

However, you do have control over which systems are activated and which are not. By default all systems are active, but if you select one or more systems and press the C key, then any crew manning those systems will automatically leave and find other jobs to perform. Press the C key again to re-active the selected systems.


Download for PC and Mac.

Here's a full list of changes:

  • Player no longer has control over crew. Crew is now completely automated.
  • Select systems and press C to toggle them on and off. Deactivated systems use no crew.
  • To move the ship, press M and click the destination.
  • Can double-click a system to select similar systems.