Blog Posts

One of the areas I've been most concerned with, being a solo developer, has been the 3D assets.

My primary skillset lies in programming-- that's where I'm most confident. I've been programming computers since I was a small child, when my friends and I used to use a computer in games of cops and robbers. We'd pretend that the computer was a bank terminal, and I'd programmed a simple QBASIC program to make various alarm noises whenever one of us tried to "hack" it.

I've had some practice doing traditional art as a hobby, and feel quite happy with my photoshop skills, so the texture and ui side of things isn't that concerning... but 3D modeling still feels quite new to me.

Until October of last year I'd never produced a model in my life. The tools, the techniques, and a lot of the concerns involved (like mesh topology for animation) were complete unknowns when I started out, and I'm only just now feeling like I'm getting capable at things.

Species design

So, the image you see is where I'm at now. I feel like these characters are something I can be happy with.

A lot of the shapes are still pretty rough, and before I'm satisfied with them they'll need a lot of detailing work done... but I feel like they represent some of the concepts of the species I was interested in.

The next step, before really detailing these, will be getting them into the engine. If I'm very lucky (or just persistent), I'll be able to make the clothing modular, and also keep the unique stances/proportions while having them share the same set of animations.

It's taken a lot of practice to get this far. One of the things I've discovered is that, for me, developing a good technique has been almost as important as developing core modeling skills. Now if only I can figure out a good technique for modeling hard-surfaces like spaceships...

If you'd like to see what my process looks like, I've been considering doing some kind of zbrush livestream. Let me know if you're interested in the comments below, or drop me a line on twitter @JeckDev. Hope to hear from you soon!

Planet destruction As you can see, this week I've been focusing on some of the art assets needed for Starlight Revolution. One of my goals right now is to develop a fast and efficient process for creating spaceship models. The workflow I've settled on so far has been to build the base mesh using sub-surface modeling, and then sculpt details on top using ZBrush's alpha and stencil tools. This is a departure from my earlier process, and hopefully it'll help me avoid doing mesh retopology.

There are still a lot of kinks to work out, but I think I've got the basics down. The area I want to focus on next week is making these models truely modular, so that the player will be able to assemble their ship from parts. This is an important development goal, as with a sufficient variety of parts it'll allow players to customize the look and feel of their civilization, but there are a lot of potential hurdles to jump.

So that's the update for now. I've been considering doing weekly art livestreams, so let me know if you're interested in the comments below, or by directing a twitter @Mention to @JeckDev. You can also subscribe to the mailing list for occasional email updates on what I'm doing. If you'd like to see what kind of content you can expect, you can check it out the latest newsletter here.

This week has been all about optimizations. Starlight Revolution has some pretty neat things going on under the hood, but the way they're implemented often starts out very inefficient. The goal is always to get the basic functionality in first, and then focus on making it run fast later. Sometimes, this focus on functionality first can also lead to bugs.

One of the recent changes I made had such a negative effect on framerate that I almost had a heart attack. For every laser in the scene, framerate was increasing exponentially. It took awhile to figure out, but what was happening was that each laser was being treated as a camera, rendering the entire scene from its perspective. The scene was only displayed on the screen once, when it drew from the real camera, so from the outside it looked like the game mysteriously slowed down every time a laser was fired. Not good.

Fixing this bug turned out to be simple, but it was humorous to see how such a small change could have such a large impact. It turned out that I'd accidentally gotten the laser game objects to act like cameras, causing the entire scene to be rerendered for every laser in existence.

Have your own funny videogame bug story to share? Feel free to chat with me about it on twitter @JeckDev or leave a comment below.