786 reputation
47
bio website devjustinian.com
location Seattle, WA
age 35
visits member for 4 years, 4 months
seen Nov 19 at 7:50

Professional game developer living in Seattle. I tend to focus on networking and server-side code. I also spend a lot of time thinking about architecture, developer processes and tools, and the logistics of running different types of multiplayer games.

If I had my way, 90% of all entertainment media would be about spaceships. Pew pew.


Jul
21
awarded  Yearling
Jul
21
awarded  Yearling
Apr
19
awarded  Commentator
Apr
19
comment How do I implement delta-only data packet updates in UDP?
Well, you shouldn't need to send three positions for the same player - just send the latest. Between that and choosing a good interval for sending them, you should be able to handle much more than 7 players. (10 times a second should be fine.) As for conversion, just send the position coordinates as whatever datatype your game is using. (Tangentially: note that bits of precision is different from digits of precision. Take a look at how floats are encoded: en.wikipedia.org/wiki/IEEE_754-2008 for more info.)
Apr
18
answered How do I implement delta-only data packet updates in UDP?
Mar
2
answered How to hide a MMORPG backend server from the internet?
Feb
21
comment MMO lag compensation problem
@JonathanDickinson - Why do you say MMOs don't usually use lag compensation? WoW obviously has at least some position interpolation (haven't you ever seen someone "lag out" and everyone else sees them running in circles?), and so have all three commercial MMO codebases I've worked on/with.
Feb
12
comment Handling scripted and “native” components in a component-based entity system
Are you stuck on using Lua? I've done similar things scripting a C# application with other CLR languages being parsed at runtime (Boo, in my case). Because you're already running high-level code in a managed environment and it's all IL under the hood, it's easy to subclass existing classes from the "scripting" side and pass instances of those classes back to the host application. In my case, I would even cache a compiled assembly of scripts for increased loading speed, and just rebuild it when the scripts changed.
Feb
12
answered Server hosting and costs
Feb
12
comment Unable to connect to UDP server using ip as hostname
Actually, the reference you linked to says: "Constructs a datagram socket and binds it to the specified port on the local host machine. The socket will be bound to the wildcard address, an IP address chosen by the kernel." So that means it's binding to the given port on the wildcard address, not just on the loopback device.
Feb
12
comment Unable to connect to UDP server using ip as hostname
If whatismyip.com or similar services show your computer and your phone as having the same IP address, it means that your phone is doing network address translation (NAT), and so look like they have the same IP to the outside world because they're sharing the phone's IP. If you run ipconfig.exe on your PC, that will tell you the IP of your PC, and the "gateway" address is the IP address for the phone that your PC sees. See this article for more info: en.wikipedia.org/wiki/Network_address_translation
Feb
12
awarded  Autobiographer
Feb
10
comment What online games would let me practice AI development?
Man, I would love to see an intelligent agent playing minecraft!
Feb
8
answered What online games would let me practice AI development?
Feb
8
awarded  Good Answer
Feb
7
comment Why can't I import third-party modules I've installed in the python-ogre SDK's interpreter?
It's the windows version of the python interpreter that links against the VC runtime, not necessarily the python-ogre library specifically. Even though python's interpreter is platform-agnostic code, it still gets built against the C runtime from MSVC when it's built on windows. :)
Feb
6
comment Why can't I import third-party modules I've installed in the python-ogre SDK's interpreter?
Copying the Python DLL next to the executable should work fine, though I didn't try it. Dumpbin reports that python.exe also requires the vc90 runtime libs to be installed, but that's an easier (and more common) package to require users to install.
Feb
3
comment Why can't I import third-party modules I've installed in the python-ogre SDK's interpreter?
This is definitely true, too. I'd go so far as to say it's even true when sharing code between developers on the same team. (Some people don't like installing Python in the root of their drive.) Having this in some sort of developer-local config, or putting your external dependencies right in your project is a good idea. But I'd say you shouldn't expect your end-users to have Python installed at all (especially for a game, and on windows) - distributing a package bundled with py2exe/py2app/etc saves you and them a lot of headache.
Feb
2
answered Why can't I import third-party modules I've installed in the python-ogre SDK's interpreter?
Dec
6
awarded  Analytical