Monthly Archives: January 2005

Conversation

Well, I’m kind of happy that the SLG portion works again, somewhat. Here’s our first (still very preliminary) screenshot from that half of the game.

Truth

I wanted Jules to post the next round of screenshots, because they were to be the first “real” ones, and he refused. So I’m posting them. This is how the game looks right now. There are a few features, like exploding gibs and score display and thrust particles and such, which used to be in the game until we upturned everything and went to OpenGL. So I’m still working on fixing or completely re-implementing them.

The SLG/gal/ren-ai/dating-sim/whatever portion of the game has also taken a step back; after trying to teach our old PyGame code some new OpenGL tricks for a while, I ended up just scrapping a lot of it completely, and now I have to rewrite the text display system and some other bits from scratch.

Last night on Skype, Jules and I came up with a very promising scoring multiplier system that looks like it will be fun to play and actually tie in to the theme of the game, as well. I’m excited to start work on it, since it’ll make the internal demos about five times more fun to play.

Be well…

Before you get the wrong idea: the scenery in these screenshots is just for testing purposes. Especially the “Hi! Welcome to the Dumbcave” sign. XD

Success

Tonight was a pretty major breakthrough. The game was using OpenGL before, but it was just using the OpenGL pixel-blitting functions, which were not really any faster than the pixel-blitting functions in PyGame. I was seriously worried last night that it just wasn’t possible to make the game the way we intended. Tonight, just to see how much of a difference it would make, I tried reworking the graphics system so that instead of blitting the pixels of each sprite straight to the screen, it created an OpenGL surface for each Guy on the screen, with the Guy’s sprite graphic texture-mapped onto it. The screens you see here are the result of that, and they represent one of my proudest moments in the entire development process of this game. That the sprites are all squished into 64×64 pixel squares, that they are drawn upside down, that they don’t appear in the right places, these are all irrelevant details. What matters is that the sprites show up, move around, interact, and, best of all, smoothly animate across the screen regardless of the resolution I inflate them to. I have more confidence in us now than I ever did before; I feel like this project is unstoppable.

Cinnamon

Cinnamon final rough (coloured)

Finished this very recently. She’s the last of the “main” female characters I had to finalise, so it’s a good feeling for me. Now, I’m concentrating on creating some of what will be in-game art. In some ways easier, in most ways – much harder.

Next up is a background. We’re really moving along now!

Open Landing

The game more or less runs using OpenGL now. A lot of features (like gibs and sprite tinting) have been temporarily disabled until we can teach them how to use the new graphics system. A lot of these features are going to be improved in exciting ways; for example we’ve decided to try using OpenGL polygons instead of drawn bitmaps for things like gibs and particles. This is a lot less work for Jules and could end up looking really pretty. The bad news is that so far there hasn’t really been much of a speed-up from moving to OpenGL. One of the main reasons we switched was because scaling up our lo-res game to fit modern hi-res displays was taxing the pixel blitting system too much and we were getting very few frames per second. It’s going to take some real finagling to get things running smoothly; there’s a long GL road ahead of us.

Soft Graphing

Changing the way guys display on the screen to use OpenGL pretty much touches every bit of the game’s code. My approach has been to change the way images are loaded, then follow the trail of errors all the way to the point when they are displayed, fixing things as I go. I’m about halfway through this quagmire of repairs, but already several messy systems have been cleaned up considerably. When dealing with an array of dictionaries of arrays, it helps to visualize things:

images array visualization

Update: apparently WordPress doesn’t create very attractive thumbnail images.

Isolation

Jules has come up with some lovely concept sketches indeed for Miss Cinnamon St. Cloud. All of our other main characters so far have been easy for him to conceptualize, but for some reason Cinnamon, my personal favorite so far, has been giving him trouble. Finally, after long discussions and provision of examples, he felt confident enough to go ahead and sketch her out. Ana and Welwyn had come easily to him because they were mainly his own creation. Brianne, for some reason or another, was immediately clear in his mind when I described her. Cinnamon, though, is much more complicated, so she has been the elusive one. It has felt odd to me to get this far into development without an image of one of the main characters, but I’m glad Julesy took his time. Many people would have just thrown something together for the sake of having it, and that’s just not the way we work. Slow, deliberate coaxing of quality is our method.

Starting today my productivity should skyrocket. I have abruptly found myself with a lot of free time. OpenGL, here I come.

Cinnamon

Well, I’ve been doing a bit more drawing over the last few days. A few things are coming out nicely, though slowly.. I still haven’t quite found that “spot” where I can just draw without hesitation. I’m sure artists will know what I mean. Anyway, I’m enjoying the drawing a lot, so it’s all good. Hopefully I’ll have something finished by this eve that isn’t a sketch.

Next up:

Cinnamon profile pic ~ 50% done

BG sketches ~ 30% done

Start high quality ver of Ana

Start ship background

Various pixel art (more concentrating on SLG components at the moment)

-J

Soft rambling

My side of this project primarily deals with grafix.

Usually, I’m an artist by whim. I draw and fashion on the screen what passes through my mind, inkings, musings, feelings and thoughts. This, I think, is probably the longest time I’ve made a concentrated effort to produce something that has true form and substance, something that has a purpose and is a library of objects associated with a direct goal. This, I would say, is my first artistic project. It’s a big undertaking too. I estimate we’ll need over 1000 sprites and hundreds of illustrations. So far (and it seems strange) I’ve already done about 60 sprites. It’s a learning experience. I spent hours perfecting those first sprites, and I can do the same thing in a manner of minutes now. Still, so much remains to be done.

At the moment I’m struggling with free time, but I am managing.

Equipment du Jules:

Working on a cobbled together PC, based with an AMD Athlon XP 1800, Radeon 9600 about a half gig of ram and some little peach fairy stickers on the side of the case. “Running” Windows XP. The real blessing is the lovely software I get to use. PS, yes, but I have to give almost all my credit to the brilliant OpenCanvas by portalgraphics. This small Japanese company has changed the way I look at digitally producing graphics and rendering art. OpenCanvas is a simple, flexible, artist’s tool. OpenCanvas to me is a sketchpad, a canvas, a digital graphics platform and just a relaxing place to be.

Also using a Wacom graphire3 4×5 tablet. I love Wacom.. they are a company steeped in excellence and quality. For tablets, there really is no other option. Communication wise, as fet mentioned, IRC has been an incredible medium for our development. I use the excellent mIRC, which to me represents everything I’ve ever wanted in an IRC client. Simple, fast, customisable. Skype deserves a mention for being an awesome voice chat program that mac users can also use.

But more important and more useful than all of that has been fet, who I really think is the first person who has ever shared my belief and vision in wanting to make a game. This is the only time I’ve ever felt like I can truly do what I want to. His suggestions are always intelligent and clever, at the end we always end up with something we both love.

Working on:

More character portraits

Game format background

UI Grafix Comm Dialogue box

New explosion animation

Be full of love

-J

Kwipment

I’d like to list the technical bits about my half of the project here; we owe the people behind this stuff so much, and if not for them the project wouldn’t even be remotely conceivable.

All of my work is being done on an Apple PowerBook G4, a 12″ aluminum one from 2003. It’s truly the finest computer I’ve ever known.

Soft Landing would not exist without IRC, and nearly all planning and communication is still done through it. My IRC client of choice has recently become Colloquy, in cooperation with the IRC bouncer miau. It’s amazing how much progress can be made even when your partner literally lives on the opposite side of the planet.

Story planning and miscellaneous data keeping is done in OmniOutliner, from The Omni Group. It doesn’t hurt that I happen to work there, but I’d still be using it even if that weren’t so. Level planning and design is done in OmniGraffle, from the same fine company. :D

Now for the truly geeky stuff. After careful research and consideration, it became obvious that the only way to develop such a game without actually dying of tedium was with Python and Pygame. These tools gave us a working engine prototype with a minimum of time investment and a glorious absence of the hassle so commonly associated with getting some major new programming project underway. The big project on my plate right now is changing the graphics system to use OpenGL via PyOpenGL. Oh, and all of the code is written with SubEthaEdit.

So, that’s my Kwipment List at this point. That’s kind of fun.