Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 08 Dec 2002
Offline Last Active Nov 23 2013 03:34 PM

Topics I've Started

Deep Space Settlement (RTS)

30 March 2012 - 11:29 AM

I am proud to present Deep Space Settlement to GameDev.net! DSS is a real-time strategy game focused on empire building and grand-scale space battles. It is in development since February 2011 and is for PC Windows.
You are part of a multi-generational mission to colonize distant regions of space. Your journey brings you to a star cluster rich in resources and lightly populated. Or so it seems. Your goal is clear: setup a space settlement and thrive. Whether you choose to make allies or conquer through supremacy is up to you.
  • Build your interstellar empire;
  • Gather resources to power your empire economy;
  • Trade resources between star-systems and players;
  • Customizable ships;
  • Build giant capital ships supported by an armada of smaller, more maneuverable ships;
  • Create huge fleets;
  • Unlock new technologies;
  • Unlock new ship abilities through an XP system;
  • Defend from invaders and conquer new star systems;
  • Single or multiplayer;
  • High modding capabilities.
Website :: Twitter
Here is a video preview of a small battle:

And the latest screenshots:
Posted Image
Fleet editor:
Posted Image

I am relatively far into development but there are still some features to implement. I hope to hit Alpha this summer Posted Image

Any comments and/or suggestions are appreciated.

WSASendTo takes a while to complete

16 December 2011 - 03:57 PM

I'm having issues with my network layer in my game where WSASendTo will wait for ~10 seconds before completion after calling it in a loop with a total of approximately 8k of data.
So I made a little test executable that goes like this:
(i'm using boost socket which ultimately calls WSASendTo)
    	boost::asio::ip::udp::socket* mpSocket;
    	mpSocket = new boost::asio::ip::udp::socket(IoService::GetService(), boost::asio::ip::udp::v4());
    	boost::system::error_code err;
    	boost::asio::ip::udp::endpoint epTo = ResolveAddr("", 2772, err);
        	printf("ResolveAddr err : %d (%s)", err.value(), err.message().c_str());

    	char buff[1024];
    	int i = 0;
        	printf("Send %d, ",i);
        	boost::asio::ip::udp::socket::message_flags flags = 0;
        	*((uint32 * )buff) = i;
        	size_t si = mpSocket->send_to(boost::asio::buffer(buff,1024), epTo, flags, err);
        	printf("%d\n", si);
            	printf("send err : %d (%s)", err.value(), err.message().c_str());
    	} while(i<1024); is another computer on my local network.
It will call mpSocket->send_to 8 times. The last call will send the data (which I successfully receive on ) and wait for an even for ~10 seconds in function WSASendTo.

The doc about WSASendTo says:
Note When issuing a blocking Winsock call such as WSASendTo with the lpOverlapped parameter set to NULL, Winsock may need to wait for a network event before the call can complete
If it waits for that reason, I'm not sure what network event it is waiting for or why, but most importantly why does it takes ~10 seconds?
It doesn't make much sense to me to wait that long for every 8k of data transferred. So what am I doing wrong here?