Go on, ask me anything.

On your last game how much time is spent on art/content as opposed to programming? A percentage breakdown on what it takes to create a complete game would be great!

We pre-render fonts at various sizes into luminance alpha bitmaps, using AWT and a crappy tool in our spgl tools lib called FontConverter. That makes a note of all the glyph metrics while it renders them, and works out kerning using the brilliantly scientific method of rendering every single glyph next to every single other glyphe and measuring the difference in expected position. All that data gets saved out as a “jgfont” file which is the bitmap and glyph metrics and kerning info in a simple custom file format. Then I’ve got a GLTextLayout class that lays out glyphs from text strings (and recently, has simple formatting commands in it too for changing colours, fonts, etc), and then the whole lot gets plugged into our sprite engine such that a single text layer is spoofed as a “sprite”. The sprite rendering engine does all our rendering - it’s a very very simple sort of 2D scene graph which arranges things by layers, texture, style, geometry, etc., in a pretty efficient way. See DefaultSpriteRenderer in the SPGL code for the guts of it.

Never tried anything 3rd party and this is possibly because working out how to use 3rd party libraries often takes longer than just doing it ourselves. Not always, but usually. I’m not a fan of physics games generally either :slight_smile: I keep an occasional eye on the Monkey Engine and Ardor because one of these days I want to do some 3D stuff. When I’m rich.

Cas :slight_smile:

This is a very hard question to answer. What we don’t do, first and foremost, is 3D, because that requires tons of new expertise which I don’t really have yet :slight_smile: We’ve got a really crappy cheapass 2D art pipeline which we struggle along with effectively enough, but to do anything 3D would require probably learning tons of stuff, writing loads of library code, testing it all, discovering it was rubbish, doing it again, looking at Monkey Engine, being annoyed with Monkey Engine not doing exactly what I want, trying to do it ourselves again, getting stuck making a 3DS animation exporter, … it goes on. Then there’s the greatly increased complexity of dealing with a Z coordinate and all the maths and so on. I’d probably just about be able to cope with something about as complex as Minecraft right now but not probably anything cleverer than that.

The next thing we don’t do is massively multiplayer online roleplaying games, because they take a long, long time, they’re very hard to test, deploy, support etc. Which isn’t to say one isn’t on the cards. I’d love to make an MMORPG because we need a cash cow :slight_smile: If we do one, and I’d like to, probably it will be in 2D, look and behave quite roguelike, and be almost entirely sandboxed PvP. Do what thou wilt shall be the whole of the law.

The latest thing we’ve figured out is not to make a game that is like anyone else’s game. There’s no point in writing Minecraft, but with blackjack, and hookers; there’s no point in making anything that someone can approximate easily in Flash in a few months either. And we’re specially targeting the desktop - not consoles - because that’s a strength and a point of differentiation. We want to take advantage of the fact we have a whole keyboard, lots of RAM, and (“potentially”) patient players. We don’t want to write 0.99c trinkets for iOS, nor shoot-em-ups, nor anything else for the attention-deficit generation. Deep and niche is where we’re headed, and online at that.

Cas :slight_smile:

Easy answer: 50%. Chaz and I have spent about 3 man-years each on Revenge of the Titans - I code, he draws, we both design (though I do most of the gameplay design; he designs the style, UIs, etc). I also do sound, server maintenance, support, biz, marketing, forum trolling, R&D, etc. and he takes care of the website, advertising, and anything vaguely arty that people need.

Cas :slight_smile:

First off, thanks for taking the time to let everyone pick at your brain

  1. How are you funded? Do you both have other means employment? Contracting? VC? Or is there previous revenue from previous games?

  2. What would you say was the most difficult technical challenge that you had to overcome recently?

  1. I used to work full time as a contractor doing fairly dull things but the Humble Indie Bundle has made enough money to fund us up until Christmas. Unfortunately it’s March and we’ve not even started a new game yet. And the last one took 3 years :o

  2. Hm… it’s not exactly a very technically complicated game. The hardest bit in it was the A* pathfinder, and I got some help with that from pjt33 and Markus. Before that, refactoring the entire sprite engine so that it could display arbitrary geometry, and also use VBOs, was the trickiest bit. And about the same time as that, designing and implementing a retrofitting system that laid out our UIs to any window size and scale. The game was originally conceived in our odd 320x320 double-rez format (a la Droid Assault, Titan Attacks, etc) but we realised it would a) be about as successful as those games if we left it like that, which is to say, not at all, and b) Steam wouldn’t be interested.

Cas :slight_smile:

When your next project becomes as freakishly successful as Minecraft, will Puppygames expand (like Mojang), or will you retire? (And don’t pretend you haven’t thought about this. :wink: )

It’s kinda unlikely we’ll enjoy Minecraftian levels of success especially given the oddness of our game designs… I’ve wanted to expand from the beginning but I’ve had no luck whatsoever in convincing anyone to join Puppygames and work with us. I won’t retire but I will maybe transition to what I really want to do - which is design and produce games. I am a game designer trapped in a programmer’s body.

Cas :slight_smile:

Good Luck. Not that I have much ground to talk, but why not after the steam launch, throw up 3 - 4 game concepts on KickStarter and let your fans vote with their dollars on what you should work on next. You’ll get some more funding and have a good idea on what will sell before you even start.

Noticed some applet related code in the source code above, was there a plan to release an applet version of ROTT?

Also how do you stay so focused on a single project? (personally just loose focus after a while and can’t work it on it anymore, so any tips would be appreciated).

Why is water wet?

Great thread.

I did at one point have Ultratron running as an applet, but I’ve since backed out half the code that made it reasonably easy, as I don’t want to be beholden to browser frolics. Apple, I mean you. Also there is the small problem that RotT is about 60mb which doesn’t make for a great first time experience, and applets are all about that instant fix. I could spend a whole load of time figuring out how to stream the thing down dynamically on-demand but… meh. This is what gakai is for.

Staying focused is not easy. We lose focus a lot. Occasionally I have to do Real Work to pay the bills, or have babies, or just get really sick of a game, or get distracted by a new game. Revenge is on its fourth almost total rewrite. Every time we got close to something complete we decided it was crap and scrapped the whole thing. I’m glad we did now. But I’m a bit grimly disappointed that I just don’t quite have any natural talent in the area of game design that lets me knock out brilliant games in 5 minutes like some people around here. Kev, Markus, etc. I’m looking at you. The only way we can succeed is by doggedly plugging away at it bashing it with hammers until it looks OK.

Persistence is perhaps the most important ingredient in this business if you don’t have much in the way of talent or skills.

Cas :slight_smile:

http://www.why-is-the-sky-blue.tv/why-is-water-wet.htm
Bah, any Google search would have given you this answer :slight_smile:

Cas :slight_smile:

[quote]I’ve had no luck whatsoever in convincing anyone to join Puppygames and work with us
[/quote]
I offered to join you more than once, but I couldn’t convince you I guess. Maybe my latest multiplayer game will change your mind.

oh, also I’ve been curious to get your take on:

  1. Why did you start LWJGL?

  2. The LWJGL svn records go as far back as Tue Jul 23 20:11:38 2002 (around the time of java 1.4 release) what can you recall about the history of LWJGL (make it detailed if possible)? also do you have an approx. date on when you started working on it?

  3. Who originally helped you set it all up and how did the original LWJGL team get together?

  1. Because I wanted to do some live TV graphics and Java graphics were rubbish back in the day. Hm in fact they still are in many respects, though there’s some good stuff hidden in there. Hidden being the problem. It began life as a thing called jglib, and got changed to LWJGL after discussion with crazy Danes.
    2-4. Hah, that’s a whole blog post’s worth of answers. The tl;dr version is, you have Matzon, Elias, Spasi, CaptainJester, and various others all from JGO (all mentioned on the lwjgl page) to really thank for it all, I just got it started originally. The real breakthroughs came from Elias (who got the Linux and Mac versions working) because before that it was just crappy old Windows-only and not much use. Matzon now does a fantastic job of administering it all and Spasi gets new OpenGL APIs in there usually within hours of being announced.

Cas :slight_smile:

ah nice, cool stuff.

Hey Cas, quick questions:

  1. Are you a female?!?
  2. You started LWJGL?!?!?
    ;D
  1. You should be so lucky! :-*
  2. Yes in the dim distant annals of the past

Cas :slight_smile: