Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 18 May 2010
Offline Last Active Sep 24 2014 08:53 AM

Topics I've Started

Triangle Indie Game Developers

10 November 2010 - 07:14 PM

Hello everybody. I thought I'd let you guys know about an indie game developers meetup in the Raleigh/Durham/Triangle area. Here's the info:

Thursday, Dec 2, 7:00 pm
@ Rally Point Sports Grill
1837 N. Harrison Avenue
Cary, NC 27513

For this meetup we're focusing on giving feedback to games that people bring. How to improve them, how to make them better. We'll also have some beer and talk about video games.

You can RSVP here:


Digitanks! Turn-based Artillery Strategy

01 November 2010 - 09:18 PM

The long-awaited release of Digitanks is here! It's a turn-based artillery strategy game, and the first of its kind. It features:

* Artillery mode! Just like the old artillery games
* Strategy mode! Artillery but with a strategy twist.
* Online multiplayer! Destroy your friends tanks over the internet.


Artillery Attack




To download the free demo, visit the Digitanks website.

Digitanks! Turn-based artillery strategy

05 August 2010 - 08:06 AM

The base-building demo of Digitanks is now ready. You can download it on our download page. If you enjoy the demo, please take a stop by the Help Us page to see how you can assist in the development of Digitanks. Here’s a screenshot of the downloadable wares in question:

Many people have asked for a central place to voice their thoughts on the development of Digitanks. To this end I’ve erected a forum for the purpose of discussions of all things Digitanks. Discussion of other things is optional but encouraged. I decided against a blog comment system in favor of this since I think this will keep things more organized and in a central location, but if you think a blog comment system would be better then please make sure that opinion reaches my ears at some point. I hope that this forum won’t become a wretched hive of scum and villainy as so many locales on the internet tend towards, but I can’t guarantee anything.

Also an additional reminder: If you spend any time on Steam or Facebook, please note that we have groups on those systems specifically for the purpose of showing fandom and appreciation for this wonderful game, and I invite you to join them and share your feelings. If at any time in your recent past you have Dugg something, note that there is also a button that would facilitate your Digging on the top right corner of this page. And I suppose that if you’ve ever Tweeted something, now would also be an appropriate time for such things.

Raleigh-Durham indie meetup

05 July 2010 - 05:07 PM

I'm thinking of starting one and I'm trying to gauge interest. Is there anybody in the Triangle area in North Carolina out there? My idea is that we would meet up once every month or two at some coffee shop in a centralish location (northern Cary or Morrisville), bring our laptops, show each other our games, and talk about game development stuff, very informal. If that's the kind of thing you'd like to see happen please give me a shout so I can see whether or not this is worth putting together.

Virtual function problem

22 June 2010 - 08:32 PM

I have a group of virtual functions with identical signatures in a class:

	virtual float				HealthRechargeRate() const { return 0.2f; };
virtual float ShieldRechargeRate() const { return 1.0f; };
virtual float GetTankSpeed() const { return 2.0f; };
virtual float TurnPerPower() const { return 45; };
virtual float GetMaxRange() const { return 70.0f; };
virtual float GetMinRange() const { return 50.0f; };
virtual float GetTransitionTime() const { return 2.0f; };

They work fine in most cases, except in my terrain rendering file, terrain.cpp. If they are used anywhere in terrain.cpp, if you call one of them it calls the next one instead. For example, if I call GetMaxRange() the debugger will step into GetMinRange() instead. If I call GetTransitionTime() it just crashes. It returns the other function's value so I know it's not just the debugger messing up, and it's causing visual bugs in my terrain rendering procedures. There are other virtual functions in this class but they all work fine, it's only this block of functions that behave improperly. Moving them somewhere else in the class definition doesn't help. Moving the inline function definition into the class's .cpp file doesn't help. Making them not virtual fixes the problem, but obviously I need them to be virtual. The problem doesn't occur in any other files. I also looked in the vftable through VS's debugger, and didn't see any of these functions present for some reason.

I thought it was some kind of strange memory overwriting problem, but then I examined the disassembler. In every file where the functions behave correctly, the virtual function call for GetMaxRange() looks like this:

006FDA34  mov         eax,dword ptr [edx+94h] 

But for terrain.cpp it looks like this:

006FDA34  mov         eax,dword ptr [edx+98h] 

It's four bytes off. So it's definitely a compile-time problem and not a runtime problem. I've examined the preprocessor generated file (the .i file) and it has the correct call in it so I don't think it's a preprocessing problem. The problem didn't always occur, it started when I added some networking into the game, which involved some extensive changes to the way objects are created and destroyed.

Any ideas?