Jump to content

  • Log In with Google      Sign In   
  • Create Account


We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.

Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Member Since 06 Aug 2002
Offline Last Active Sep 26 2012 08:39 AM

Posts I've Made

In Topic: RE: Looking for Hobbyist Game Dev Team

26 September 2012 - 08:42 AM

Ah ha! I was right! When you change the category to "Programming Services", there is NO option for "Regular Members". It's just "Studio/Recruiter" or "Indie Developer".

So, to be clear, I'm going to have to drop the $7 for the ad? I mean, in the hopes that people don't question my motivations. ;)

In Topic: Quadtrees

17 January 2006 - 01:59 PM

Well, I'm hoping that maybe, in my "noob"-ness to 3D programming, I've missed something. I'll post the heart of the code that I'm looking at (it's from a book by Jim Adam's; also note that, since it's a quadtree, Jim ignores the Y-Coordinate):

// Size = radius of node; during first iteration, it's the "world cube radius"
// XPos, YPos, ZPos = coordinates at centre of node
// (keep in mind this method is recursive and I'm posting the heart
void cNodeTreeMesh::SortNode(sNode *node, float XPos, float YPos, float ZPos, float Size) {

// do a bunch of error checking here...and then...if we need to split, do this:
int i, XOff, YOff, ZOff;

for (i = 0; i < 4; i++) { // use 4, since it's a quad tree
XOff = (((i%2) < 1) ? -1.0f : 1.0f) * (Size / 4.0f);
YOff = (((i%2) < 1) ? -1.0f : 1.0f) * (Size / 4.0f);
ZOff = (((i%2) < 1) ? -1.0f : 1.0f) * (Size / 4.0f);

// count the number of polygons in the new node bounding box
if (CountPolygons(XPos + XOff, YPos + YOff, ZPos + ZOff, Size / 2.0f) {
// add new node, etc.
Node->Nodes[i] = new sNode();

// recursively call this method on the new node
SortNode(Node->Nodes[i], XPos+XOff, YPos+YOff, ZPos+ZOff,Size / 2.0f);

// etc.

Now, to me, it looks like the XOff, YOff, and ZOff calculations are, given that the method starts at the centre of the square, calculating four squares that overlap inside the main square. Say we start with a size (radius) of 4 and the "world square" needs to be split; then we get four overlapping squares of radius 2 instead of the four quadrants.

I'm pretty sure my code-tracing and math is right, but, if I'm way off and have missed something, please tell me. No shame in being wrong every now and again!

Thanks again!

[Edited by - BtySgtMajor on January 17, 2006 11:59:49 PM]

In Topic: Promotion/Medal Systems

10 January 2006 - 04:06 AM

All are good points and some actually quite novel to me; I'll have to look into integrating that into what I do!

I agree that this is a design issue and that's why I'm here! :) When I said "implementing", I think I meant more of the metaphysical details. Vagrant Story sounds an awful lot like Castlevania's Sympony of the Night in terms of the reward system.

That said, the comment about Battlefield 2 is what I'm kind of looking towards. I suppose I could also liken what I want to do to the MP part of Call of Duty:UO, with the promotions given out based on points/kills. Assume for the time being that I want to make some kind of game that is more or less "military" themed, using a "Wing Commander-ish" system where I want to reward the player for things like:

- destroying/capturing/disabling as much of the enemy as possible,
- performing a mission as quick as possible,
- perhaps if there's stealth involved, then being detected as few times as possible,
- actually completing a mission,
- keeping as much of your team alive as possible, if a team is involved,
- other tasks related to a military-themed game.

So is it just a matter of assigning points for these actions and determining whether or not they meet the prerequisite amounts for a promotion or a medal? Or are there other factors to consider that perhaps I'm missing, keeping in mind the theme/nature of the game?

I've always been interested in how this type of system works and am greatly enjoying all your input!