Go on, ask me anything.

Maybe a little presumptuous and arrogant but… well, someone might benefit, and I know a thing or two. Not that much but enough. And we’ve done quite well.
So if anyone has any questions that they’d like to ask me about Java games development - anything at all - just fire away and I’ll dedicate some time to giving as detailed answers as I can (and then Riven, Roquen, OrangyTang, KevGlass, etc can come along and correct me).
Go for it!

Cas :slight_smile:

lol, another fan of reddit’s IAmA xxx AMA?

Ok, I’ll go first.
My question is: If I want to be a really good java programmer like you, do I have to become emo too?

No idea about the reddit thing (I only dip in now and again until it gets too hot)!

I’m not a particularly amazing Java programmer (you can see the embarrassing public shame I use). I’m just pragmatic, persistent, and product-focused. I don’t write libraries for anyone else to use in particular. I don’t even write code for re-use within my own projects until I need to re-use it and then I refactor it. It takes 3x as long to write good reusable code as code that just works for what you need it for :slight_smile:

Back on topic - no, emos never get any work done, because they sit about crying about how miserable their lives are and that nobody understands them. I have no hair or makeup these days, and I’m big and muscled and apparently quite scary, which is just as well as my approach to problems now is to bash them instead of cry about them.

Next!

Cas :slight_smile:

Bwahahhaa… Well played young Cas, well played!

I have a few:

Do you do any design docs first?
Do you do the art first?
When do you do sound?
Do you do your prototype in java, or another language, if at all?
What was the first game you’ve ever developed and how old were you?
How often do you get programmer’s block?
Aside from here, are there other sites you frequent in search of java game dev answers or just plain old google?
Do you drink coffee?
Are there any libraries you use other than LWJGL, like, things for playing sounds, installers, etc?
Do you like green eggs and ham?

Also, are there any bookmarks, links, tutorials, resources, etc that you’d like to share?

Do you use SVG’s or bitmaps? I know that java only has built in support for bitmaps but the art in revenge of the titans looks so smooth I wondered.

  1. What do you use to generate your EXEs from java ? are they legal ?

2.Is your name really Prince Caspian ? What were your parents thinking ???

When you come across something you don’t already know how to do, do you go to the googles or do you troll the api documentation of whatever library you’re using first? What milestones do you think are important when starting a game?

  1. Yes, just .txt files. Most of our games morph beyond all recognition after a while in development.
  2. Ish. We use placeholders (pinch graphics from older games, etc) and Chaz iterates over the design many many times. It’s slow going. Eventually he settles on something he likes.
  3. Again, we use placeholders, pinching sfx from older games, and real work on sound doesn’t begin till pretty late in the whole process. But getting some sound in early is crucial to the feel of the game. Sound is really, really, really important, as important as graphics - I wonder why it’s neglected by so many. And no, sfxr is not going to be good enough, unless you want it to sound a bit rubbish.
  4. All in Java. I cut and paste the last project, and delete 95% of it, and run from there :slight_smile:
  5. I forget. I’d have been about 8, so it was 30 years ago now, on a Vic 20, in Commodore BASIC. My games aren’t a whole lot different now…
  6. All the time. Fortunately I have a short attention span so I go and do some surfing, customer support, read some forums, reply on the Puppyblog, etc. and usually the answer turns up in my mind whilst distracted. I only get blocked on actual complex algorithms - general programming I’ve done for so long now there are no mysteries.
  7. I don’t look for Java answers any more :slight_smile: But when I do, it’s here.
  8. About a pint or so of strong cafetiered coffee every morning.
  9. Yes: JOrbis for playing OGG sound; NSIS for Windows installers. Hm that’s about it really. The rest of our stuff is basically home grown rubbish.
  10. Yes.
  11. Chaz designs all the graphics in 3DSMax and Photoshop, and he has various clever scripty things that finally export them out as bitmaps, which we then trim of empty space and pack into texture atlases, and then he painstakingly animates everything using XML, sometimes hand-written, sometimes generated by his scripty things.
  12. Firstly I pester someone on Skype or MSN like Markus or Kev Glass. On the rare occasions they don’t come up with an answer I post on JGO (or wherever might seem to be appropriate) - these days I basically have no technical questions though, it’s all about biz, at which I’m a total n00b. Otherwise I just look at Javadocs and Google happily away. As for milestones - well, getting something playable is the first one :slight_smile:
  13. Unfortunately no :slight_smile: I learn by experiment, and the sum of my incomplete wisdom is more or less enshrined in that crappy Sourceforge project and the resulting games.

Cas :slight_smile:

  1. Molebox… and, er… no :wink: Though not for much longer. Steam won’t be Moleboxed, nor the next release of Revenge, as I want to make it easier to mod and patch.
  2. No, it’s Caspian Prince :slight_smile: I was genuinely named after the book by C S Lewis though.

Cas :slight_smile:

Cas,

Your answers have been awesome. Thanks so much for the insight. I didn’t know that one could drive animations by xml. I will have to look that up. Sounds painful.

  1. With the availability of so many amazing techs like Unity3D, Molebox (Flash) and Javascript (WebKit, WebGL, etc) do you still intend to continue using Java (near term and long term) ?

  2. What’s your thoughts on Sun/Oracle completely ignoring and neglecting java gaming?

  3. If you were to go back in time (with hindsight) would you still have picked Java as a tech you invested so much time and effort into?

  4. What is your predictions and thoughts on the future of Java gaming and where do you see it going (kinda related to the first)?

  5. Do you think you’ll ever become a millionaire ? :slight_smile:

1 question:

What business justification did you use to allow yourself to create and waste time answering this post? :smiley:

Kev

Behold! The source code to Revenge of the Titans. In it you can see all the XML configuration stuff.

Please note lack of attached licenses, shitty commenting, crap code worthy of mockery, etc. Please also respect this gesture for what it is. And no, I’m not giving the art and sound assets away.

Cas :slight_smile:

I am twiddling my thumbs trying to prevent myself from breaking anything before the Steam release tomorrow :slight_smile:

Cas :slight_smile:

  1. Yes, because I’m moving very thoroughly into online gaming client/server style, and none of those techs cut it. And Eclipse is too brilliant to leave. And I can’t be bothered to learn anything new, as I’ve spent 12 years or something getting as good as I am at Java so I’m not going to just ditch all that expertise overnight for some fancypants crappy scripting tech.
  2. Just seriously sad.
  3. Actually… yes. I only use Java because that’s what I otherwise use to make a mint contracting, so I was already good at it when I thought about making games with it.
  4. I don’t see it going anywhere unless Oracle sort out the deployment problem. That being, there’s no JVM on iOS or PSP or XBox. When there’s JVMs everywhere they’ll succeed at gaming. Not before.
  5. Nope, our games are just usually a bit too eccentric to be properly popular.

Cas :slight_smile:

Interesting. I was wondering how you render text and how you do GUI’s?

Also, have you ever tried out a physics lib or some other cool 3rd party thing that you would want to use in your games? Besides lwjgl of course

Re: Source

Awesome. I don’t think anyone expects art or sound assets, haha. Thanks to you and your comrades for their contribution to the community.

Given the limited capabilities of indies, what is it that you do NOT do when it comes to making a game? How do you make the scope manageable?

(May be a too generic question, but some insight into making a “full blown” game but keeping it within realistic means)