I was wondering if any more beginnery types might have some more technical questions?

Cas

1. When programming, before you became a wizard(when you were in the everything isn't obvious stage); How did you go from idea to implementation? 2. Do you program to the UI or do you program and then design the UI around the code?3. How do you keep track of code in big projects? I realize that "big" is subjective, so... how do you keep your code organized?4. Where do you think programming is going? More abstraction, or less ala App inventor/Scratch or scripting?5. When working on a project, do you skip around or focus on one task until its completed? 6. DVCS or SVN?7. Do you have any programming "aha!" moments that you can share?8. To get started in Game programming, how should I think compared to utility or "regular" business type programming?9. Is recreating games in an attempt to learn a bad idea??10. Helpful hints for a very green developer?

1. I have no idea, because I've been doing it for 31 years now so it's a bit like asking me how I remember to go to the toilet when I need a wee.2. Generally we work on both at the same time, and try to get as much of the boring UI bits done early as they're no fun to try and do right at the end.3. Mostly it's just all in my head, particularly the major part I'm working on at the time. It's reasonably layered and I tend to work in one layer at a time.4. Couldn't care less I'd like scripting, it it were any good, but they never look nice. So I've not tried it yet, mostly simply because it looks ugly compared to shiny neat Java. Even C# looks ugly compared to Java.5. Depends what you mean by "task". Generally I'm task based, and have a text file with a todo list in it, and work off of that. Tasks can be quite granular or quite broad. It varies.6. SVN7. Not for the last few years no... I was quite pleased to rewrite my sprite engine to use VBOs finally after many years, and even more pleased to get it to interleave sprites with arbitrary rendering, and super pleased to simulate OpenGL immediate mode in a really nice little API. I bet it's nowhere near as clever as all the fancypants stuff in JavaFX 2 or Unity or even Flash but for my purposes it's lean, mean, powerful, and very fast.8. Forget event handling, JavaSound, AWT, and Swing You are now thinking about frames. When you become a ninja you will eventually decide you want events in there again and write your own event handling loop. Etc.9. No, it's a brilliant thing to do. Especially if you can genuinely make them better (as opposed to, say, just adding blackjack, and hookers). The best bit is that you have a reference with which to compare your game. Like, do the controls feel good? Is the game rendering smoothly? Is it as fun? and so on. I wonder why a lot of people who post their stuff up don't look at their own games and then think, hmm, this is complete shit compared to just about every version I've ever seen elsewhere.10. Persistence is key! Oh, and find an artist to work with. And a someone who can do music and sound. It really helps motivation when there's someone else as enthusiastic as you who works as hard as you.

- How Java-friendly is/was steam, was it difficult to integrate a Java game within the steam environment?

Java is really, really easy to use with Steam. Just plonk lib and bin dirs in your depots and that's all there is to it. I'm working on a Steam SDK binding at the moment, but I'm only going so far as to implement the bits I need (which will be achievements and the Steam Cloud).

Question: are you using any trickery to get the JVM to preload classes it's going to use, but hasn't needed yet, to avoid runtime hiccups?

None at all - 95% of the classes the game needs get loaded on startup during that loading bar bit, where we load in a hashmap of all the resources in the game and "create" them (upload textures to GL, decompress OGG sound effects etc). Then within about 10 seconds of the title screen running we've gone through most of the really hot code already (it's basically "the sprite engine"). There should be a few judders here and there when the server VM compiles stuff but again, most of that occurs on the first level you play in the first game, and it's all more or less compiled after that.

How do you know you're on to something when you design a game?I tend to think I'm creating something awesome when in reality it's usually quite rubbish.

Unfortunately I/we aren't exactly talented in this area and mostly we just enjoy playing our own games and until now it seems to have been the case that we're the only 2 people that do. We have several times got really far into a game design (like Treasure Tomb, or Revenge of the Titans about 3 times) and ditched it. That's obviously quite expensive now so we can't afford a visit from Mr Cockup again!

We're going to approach the next game a little bit more methodically now. In particular we want to get an alpha of bits of it out to our Puppygames customers to gather feedback - and basically allow our loyal customery types to design the game they want as much as us - and skim a little cash in the process

Sweet, someone else uses the Projects/Packages/Types/Members views! Package Explorer FTL. But... across the top?? You're losing visible lines of code! :p Even on 1280x1024 you have room for ~120 columns and tools on the right (not the left, so that the code location doesn't change when all views are hidden).

I know it's a bit weird having them across the top but when I started there weren't any such things as widescreen and I just got used to it Besides it means I can have really long lines of code which I like. Hehe. And I sometimes open up class hierarchies in the empty space.

Well, on its own, I'd be wary of quitting a day job based on the Steam sales to-date - I've personally made enough cash to sustain me for 8 months in just under a week but it's going to drop precipitously tomorrow when the special offer ends, so it'll be interesting to see if the "residual income" over the next year is actually enough to eke out many more months of existence. It makes me think about AAA studio games though: to support a 30-employee studio & building rental, and make a proper profit, there must be an incredible gulf in sales volume between the #8 selling worldwide spot we attained and #1. We were ahead of 40k D.o.W Retribution for a while They must have been crying themselves to sleep at night. Mind you they also have massive retail operations in progress as well, though I'm dubious of the income retail makes these days.

Fortunately the Humble Bundle money already had given me 12 months of money, of which I've burned through 4; so as of right now I've got 16 months to get something new selling! And I'm full time since October 2010. But it seems a lot of that time is taken up doing vast amounts of support work (Steam forums, Puppyblog, support email, bugfixes and patches). I haven't even started on the new game yet!

Um i just started using Eclipse and i found the short discussion on the set up of eclipse very useful.. So you helped someone :/ Thx.

i'm using the Java Browsing mode and moved the panes to the right where there's empty space.

Myself, I prefer to use shortcuts to bring up browsers which you can then navigate with find-as-you-type search...Ctrl+Shift+T: type browserCtrl+Shift+R: resource browser (for non-java files)Ctrl+O: member browser

I've never attempted to figure out a percentage, but I use emacs quite a bit instead of the built-in editor of eclipse. Nothing really rivals for raw editing power. But is has a learning cliff, instead of a learning curve. Specifically I don't stick with one or the other, but switch depending on the type of task I'm performing at the moment.

Yes, if they were already turned into class instances of messages (like what appears to be the case in that screenie). If it was raw data coming in (like an int or whatever) I'd just switch on a bunch of int constants. Actually I'd do that first, to create class instances from the stream Then visit the messages with some processor or other.

Well, on its own, I'd be wary of quitting a day job based on the Steam sales to-date - I've personally made enough cash to sustain me for 8 months in just under a week but it's going to drop precipitously tomorrow when the special offer ends, so it'll be interesting to see if the "residual income" over the next year is actually enough to eke out many more months of existence. It makes me think about AAA studio games though: to support a 30-employee studio & building rental, and make a proper profit, there must be an incredible gulf in sales volume between the #8 selling worldwide spot we attained and #1. We were ahead of 40k D.o.W Retribution for a while They must have been crying themselves to sleep at night. Mind you they also have massive retail operations in progress as well, though I'm dubious of the income retail makes these days.

Fortunately the Humble Bundle money already had given me 12 months of money, of which I've burned through 4; so as of right now I've got 16 months to get something new selling! And I'm full time since October 2010. But it seems a lot of that time is taken up doing vast amounts of support work (Steam forums, Puppyblog, support email, bugfixes and patches). I haven't even started on the new game yet!

Cas

Can Steam do DLC? And if so have you considered like a map pack for RotT in another couple months? Seems like that would bump sales of the RotT as well

Can Steam do DLC? And if so have you considered like a map pack for RotT in another couple months? Seems like that would bump sales of the RotT as well

Yes, Steam is perfectly set up for DLC and we've been thinking about what we could produce for a couple of bucks along the lines of a "scenario designer" sandbox mode where you could design a map (maybe just in ascii), specify any limits on buildings, starting money, etc. and then upload it to our server and play for hiscores on them.

1. What are your views on using existing API/engines, other etc.. ( such as JmonkeyEngine, Slick, JBullet, etc..) for a beginner.[[I exclude lwjgl because you say you use it and made it. I assume you use it 100% of the time? I also know you use things for sound and such. ]]

I did read you have a lot of home grown things but what would you recommend for someone with under a year experience? Use them or learn how to do things from scratch

2. When designing a level, do you usually build a map editor of some sort, or hardcode locations of things?

3. If you were to make a game where a character is able to move from 1 map to another(load/unload) How would you handle something like that? A simple rect contains/intersects? a "near edge of map detection" ?

4. I absolutely LOVE fractals and procedurally generated things. What are your views on procedurally and randomly generating aspects of the game? I am talking more depth then just random enemy placement. But as far as entire levels to graphics of stuff, or even to say more user ability to customize aspects of things using a set of fixed art and fixed customizations

5. Do you have any bad habits as a programmer or designer that you wish you hadn't developed (i.e. you mentioned using serialization for saves/breaking the saves)

6. As a beginner/newbie I am sometimes lost when I try to do something and I am not able to do it, if its something actually beyond my scope as a programmer/creativity or if its just something that I need to spend a legitimate amount of time on?(I know literally anything is possible, but trying to decide what is in the realm of an amatuer) (I know you haven't been one for a long time so it may be hard, but any thoughts?)

7. If the discussions about Graphene Processors turned out to be underhyped and all of a sudden in 5 years, we have processors that are 10,000 times more powerful. A lot of games push the limits of what a human can interact with and play, and aside from graphics/AI/etc... do you think itd just end up making a bunch of lazy programmers who write far less efficient code and no noticeable game content/mathWhat type of game or things would you try to accomplish? that you couldn't in the current scale now do?

8. Is there any game you've ever played(not your own) that after playing it, you wish you were the one who had designed/developed it. (not from a financial perspective, but "that was impressive!"

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org