1,458 reputation
510
bio website scivium.com
location Oceanside, CA
age 42
visits member for 4 years, 4 months
seen Jun 23 at 17:25
Game developer since 1996. Many shipped games. Some did very well, some did not-so-well. Strong opinions about the Right Way. -tom!

Oct
13
comment Comparing angles and working out the difference
@Chewy, huh? The difference between 180 and 0 is not 0, and the difference between 181 and 0 is not 1...
Oct
13
comment Alternative to pyGame?
I learned Python in an afternoon (from years of C++ experience) and within a week I was writing more functionality faster in Pygame.
Oct
11
comment How were cartridge-based games programmed?
Re: "Compress what you can," on the old hardware you typically would compress to whatever the hardware could handle. You would never compress audio to MP3, because the audio hardware didn't handle it natively and you wouldn't want to waste the time decompressing it on the CPU when you could just stream it straight off of the media into the audio hardware. MIDI was great though because everyone had (and has) a wavetable synth on board; just load up your samples and there you go.
Oct
11
comment How were cartridge-based games programmed?
@speeder it's easy to click 'edit' or 'delete' on accidental comments...
Oct
11
comment How were cartridge-based games programmed?
It's worth pointing out that the carts were often sized in megabits, not megabytes. Those 64Mb carts were only 8MB.
Oct
7
comment Algo for given an amount of XP, find a character's level
Also it's not like you need to determine the current level all of the time. Just check to see if the current XP is more than the threshold for the NEXT level, starting from the current level that you've stored somewhere. I.e. I'm level 5. If my XP is greater than or equal to xpTable[6], then I'm level 6. Keep looping until you find your new current level.
Oct
7
comment How different is Java for JRE vs Java for Android?
For what it's worth, Android applications are typically written in Java. The difference between the two is that "Android" is an operating system and "Java" is a programming language. They serve different (non-overlapping) purposes.
Oct
7
answered Change from Bullet/OgreAnim to Havok?
Oct
3
answered How do you calculate where a ball should go when it bounces off the bar?
Oct
3
comment What is a good starting platform for a teenage game programmer?
Python and Pygame was a breath of fresh air to me after writing games in C for many years. I figured I could get the same thing done in about 10% of the time in Python because of the higher level aspect to everything.
Oct
3
comment Handling game states for Android
I haven't done enough Android development to say for sure, but I would suggest that you do not want your Views to be doing any logic. Views are for viewing, they should only be drawing whatever the data model says that they should draw. Likely it's the Activity that should be updating all of this stuff. (Put 'View' in place of 'Renderer' in my example above.)
Oct
1
comment How do I build games with scripted actors?
This is basically how it worked in the one game I worked on using Lua. Each thing that wanted Lua control had a LuaComponent, and that component had its own Lua VM which got a single 'tick' per frame. I can't say that it worked great, but it did result in a shipping game.
Oct
1
comment How do I build games with scripted actors?
Without polymorphism in the entity (your "Character"), this can also be accomplished with an abstract AI base class and derivations, PlayerAi, NpcAi, LuaAi, etc. Even better perhaps would be for it all to be Lua controlled, and the Lua could do the controller "AI" processing.
Oct
1
comment Handling game states for Android
This question doesn't need the "android" bit, nor "java", but afaik we haven't discussed the toplevel game loop here yet.
Oct
1
answered Handling game states for Android
Sep
30
comment How do I render a mirror or other reflective surfaces?
An alternative, if you have more memory than render time, is to simply reflect your world geometry through the mirror in your 3D editor, then you can modify it to look however you want (enforce lower mip levels, etc.). We did this on the PS1, where stuff sitting on a shiny floor was duplicated/inverted underground, and the floor itself was rendered semitransparent.
Sep
30
comment Game state sharing data
Globally available, globally mutable state is almost always the wrong solution.
Sep
30
comment Game state sharing data
@Kytolan I agree with the overengineering worry; in C and C++ I implement states as enum values and switch statements; turning these into "rich objects" definitely has a negative impact on browsability, comprehensibility, and execution speed. On the other hand, in Python I implemented them as modules/objects that I threw on the stack, and it worked out well enough since enums and switches are ahem less convenient in Python. :)
Sep
29
comment Is Civ V as moddable as Civ IV?
"Does game X have feature Y?"
Sep
29
comment Most Efficient way to read a Settings Configuration File
This is how the excellent SciTE editor does its configuration, and while documentation on the settings could be better it's pretty convenient to be able to edit in such a "computer friendly" format.