786 reputation
47
bio website devjustinian.com
location Seattle, WA
age 34
visits member for 4 years, 3 months
seen Jun 12 at 22:00

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.


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.)
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
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
10
comment What online games would let me practice AI development?
Man, I would love to see an intelligent agent playing minecraft!
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.
Jul
27
comment Game Development Degree vs Computer Science Degree
I certainly agree about needing critical thinking skills, I'd even go beyond that to say innate talent in general. (I saw may fair share of smart people just not able to hit the 'pointer epiphany' in school..) And some schools certainly can have terrible programs. Anything that involves that much of your time/money is certainly worth plenty of research and planning. As Tetrad said, schooling isn't going to get you a job - school should be less of a credential to show employers that you finished and more an opportunity to prepare for that job as much as possible. :)