Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 29 Aug 2010
Offline Last Active Sep 01 2014 02:14 AM

Topics I've Started

Microsoft and the Xbox One. Thoughts?

21 May 2013 - 02:36 PM

I started a thread a few months back after Sony's reveal of the PS4, which you can find at http://www.gamedev.net/topic/639144-sony-and-the-ps4-im-impressed-your-thoughts/.  Some people participated and put in their two cents in that thread about Sony.


How about one for Microsoft now that we've seen a glimpse of their next machine?


Me personally, I'm a little disappointed.  They showed some cool looking features if you're someone who watches broadcast television, but I don't have a TV subscription any more, so it seems irrelevant to me...  The fact that they didn't get to games until maybe 30 minutes into the presentation was a little worrying.


At the end, I'm very underwhelmed.  I'm hoping they have something in store for E3, but my gut feeling is they won't really have much more to win me over.  Currently, Sony seems much more appealing to me as someone who plays games and want to develop games.


Other opinions?

Sony and the PS4, I'm Impressed. Your Thoughts?

21 February 2013 - 12:14 AM

After having seen the Sony PlayStation conference today, I'm pretty impressed.  Not necessarily with the system or the actual showing at the conference, but with the overall attitude Sony has this time around.  Note, that I am not a console developer and never have been.  I've never had access to dev kits and I've barely even been making games, but I'm currently trying to make one right now...


The biggest thing is it seems like Sony is dropping the hubris from the PS3 and now they're back on earth and really trying to get developers on their side.  Do you guys remember those ridiculous demos from the PS3 unveiling?  Didn't quite seem obvious at the time, but they were literally just doing massive smoke and mirrors and those entire conferences screamed "Hey, we're the best and there ain't nothing you can do about it."  Mark Cerny leading the PS4 design?  Seems like a fantastic choice.  From what I've read about him, he seems like the real deal; someone who has been in the trenches to build games and helped a ton of people in/around Sony with building their games.


Maybe Sony has learned how important it is to get developers on your side this time around.  The system is exciting to me from a technical perspective, at least, from the memory bandwidth perspective.  Some of the connectivity services seem like they will get a lot more attention than the PS3 did.


Not a very coherent post, but when I was done watching the event, I was just really impressed by the way Sony handled the whole thing.  Pretty well focused and it seemed very developer centric.  Sort of a "Hey, we know we tortured you guys the last time around, but this time, we're going to do it right."  I feel like the ball is totally in Microsoft's court now.  Very excited to see what happens in the coming months from Microsoft.


What about you guys?  Agree?  Disagree?  Impressed?  Underwhelmed?

3D Rigid Body Animation (Not Physics) - Recommendations and Resources?

15 November 2012 - 05:19 PM

Greetings all,

I'm currently developing a 2D game which has an isometric view. Think the original StarCraft or SimCity. However, the art is being produced primarily in 3D to get the different viewing angles correct for all objects in the game. We're planning on taking snapshots of each model from particular viewing locations to generate sprites for drawing in the game.

While perfectly doable, I feel like if I could get a solid animation system up and running, we would not even need to do this hack from the era of the 90's and instead do as many games do today which is to keep the gameplay essentially still 2D but utilize the actual 3D assets and render the game in 3D. To be sure, there's some work to be done with both methods. However, I've never had to use or write an animation system before.

As (mostly) a personal research project, but with hopes of using this in production, I'm looking to investigate what I would need to do to implement the animation of rigid 3D models. The game consists of basically tanks and other vehicle-like models. No characters like humans or animals, just rigid 3D models. Turrets turning, barrels rotating, treads cycling, etc. We may have mechanical walkers such as what you might see in Star Wars, so they may be humanoid in form, but again, these models are RIGID.

Given these constraints, I feel like coming up with a simple animation system wouldn't be incredibly difficult compared to doing a full skinning, morph target, and blend shapes system. What is involved in such an animation system for my requirements? My knowledge says I would just need to be able to import the 3D model data, the animation keyframes, maintain the hierarchy for each model in the case of being able to attach separate models to another model, and an interpolator?

What file formats are easily accessible and parsable (or should I use some binary format to avoid parsing)? How much should I worry about compression of animation data? Are there other gotchas with going basically full 3D and animation that are just too costly that I'm simply ignorant of?

Time Related State Effects (Buffs/Debuffs) - What Are Manageable (Code) Designs?

20 March 2012 - 10:13 AM

I'm currently writing code for a game that has some basic spell effects and attacks. In the course of prototyping up some of the classes, I've come to realize that I'm spending an inordinate amount of time because I don't have a good system for keeping track of effects that have a time duration. I'm not doing anything fancy, it's very much in the vein of most RPGs, such as World of Warcraft with their buff/debuff system.

For example, right now, I have an ability that can be applied to multiple people within a certain radius of the player. When they receive the effect, they retain that effect for 5 seconds. Not too hard. But say now I want to prevent the attack from stacking, but if someone else applies the effect again, the effect simply lasts longer.

These are relatively simple things for me to describe, but I've found to be very difficult to get the code just right for all cases as the number of effects like these grows. My scheme for these effects has basically been explicitly coding the start and end times and doing everything based off of that. This is just not scalable for me in terms of programmer time as the number of effects grow (and as the effects themselves grow in complexity).

So the question:

What other ways are there to implement these time based effects?

I've given it some thought and I know that just about all of the effects I can think of can be described as some interval on a number line, so I could build some system that utilizes that to help me figure out all the effects that are currently active at any given time. My issue with this is that the number line is just way too simple, in my opinion, to help me figure out these effects in some complicated situations. I could easily end up with doing O(n^2) operations to make sure no effect stomps some other effect. I could minimize this by binning effects to avoid comparing effects that have no relation with each other. But I'm not convinced this solution is the best.

Any others out there? Performance, although important, is not the top priority. Ease of programming (both of the system itself and programming the effects so that they achieve their correct intended behavior) and iteration speed is top goal here.

Lua Performance Tuning - Do's, Don'ts, and How To's?

27 February 2012 - 04:37 PM

I've recently inherited a small 2D engine which uses Lua for implementing the core game logic. Over the course of implementing new features and doing some performance tuning, I've moved an increasingly large percentage of time into the Lua code (as opposed to the C++ code). I've come to the point now where in some situations, Lua code takes up significant portions of my running time and I'd like to track those hotspots down more finely.

As implied earlier, most of my performance tuning was done in the core engine which is C++ code. At this point, I have some gprof callstacks which look like this:

Flat profile:
Each sample counts as 0.01 seconds.
  %   cumulative   self			  self	 total
time   seconds   seconds	calls  ms/call  ms/call  name
16.45	  1.76	 1.76							 luaS_newlstr
  9.25	  2.75	 0.99							 luaH_getstr
  8.41	  3.65	 0.90							 luaV_execute
  6.17	  4.31	 0.66							 luaD_precall
  4.02	  4.74	 0.43							 luaV_gettable
  3.93	  5.16	 0.42							 luaC_separateudata
  3.64	  5.55	 0.39							 index2adr
  3.46	  5.92	 0.37							 sweeplist
  3.08	  6.25	 0.33							 GCTM
  2.43	  6.51	 0.26							 lua_getfield
  2.34	  6.76	 0.25							 propagatemark
  2.20	  7.00	 0.24							 luaD_poscall
  1.87	  7.20	 0.20							 f_call
  1.87	  7.40	 0.20							 luaS_newudata
  1.50	  7.56	 0.16 17920943	 0.00	 0.00  luaSet(lua_State*, LuaField const*, void*, int)
  1.40	  7.71	 0.15							 luaH_getnum

That's approximately 70% of my running time for this trace. I would really like to see where in the code all of this time is being spent, but I'm not sure what my best options are in this regard. Lua profilers I've looked at (but so far haven't been successful in actually running) don't seem nearly as polished as some of the C++ tools out there.

Currently, I'm using Lua 5.1 and just write my Lua code in emacs on a Linux system. I'm relatively new to Lua, so I could just be doing some strange things, but I'm just finding it very difficult to know where all of the time is being spent without having a profiler to tell me where to investigate. Also, any good morality guides on maintaining high performance in Lua would be appreciated.