PJHayward.net - Because it's cool (and/or useful)

Snipes is a great text-mode DOS game - and one of the first. It was later redistributed as part of Novell Netware as nlsnipes. Text Mode Games has done a great write-up on the game, available here, and also have a download of the original game.

The multi-player version was included in NetWare Lite 1.1, but that package is no longer available from Novell. You can download the nlsnipes.exe file directly here (~17k).

This page is the home of an attempt to re-create Snipes as an internet-ready game.
You can download the latest version here. Read below for details on this version.
I have some rudimentary client side prediction in place. I haven't been able to test it yet, so you may see some odd stuff like being able to go through walls, then suddenly being yanked back. If you want to try it out and let me know how it works for you, please do.

I have an early release available to anyone who wants to try it out. Network gameplay is a bit rough, as I haven't created the predictive placement code in the client side. What this means is that if you have network latency (i.e. a slow connection) the client systems may see a lot of jumpy movement.
This version isn't what I would call finished, but it's playable. Here's what it's missing:
  • explosion characters when something is destroyed - currently it just disappears
  • predictive placement code for clients
  • testing

Well, I've got the single-player mode working pretty well at this point. I still have to finish up the movement of the ghosts. In the original, they track you down, dodge bullets, and are generally quite annoying. I'm trying to replicate that. The regular snipes movement is randomly selected, based off of whether or not the space they're trying to move to is empty.
I did attempt to connect a second machine and see if the code I had created for multiplayer was working properly, but it wasn't. The hosting system ended up alternately displaying the two player's screens, while the connecting system had the player stuck on a completely blank screen. I'm guessing that my player ID's are both getting mapped to the hosting system.
I did end up rewriting the networking component of the game, and it is now much cleaner. Obviously, it's still not working perfectly, but that shouldn't be too difficult to track down.

I had to take a time-out to build a form that would allow me to simulate a console. The console support in Windows is pretty much just plain text - you only get color if you load a 16 bit program, in which case the NTVDM gives you color. Well, I wanted the 32 bit api, so that was out. I've got the console mostly figured out - I am having a bit of trouble with the fonts - if you resize it, the rows may end up with extra space between them, making gaps in walls and such. I've been working on the game protocol, but I'm not sure I want to keep what I've done - it's not pretty.

So far, not much. I've gotten some basic server side functionality working, and LAN game discovery works fine, too. The game itself doesn't work yet, though. I also need to build map generation code, internet game connectivity, internet game discovery, and the client interface.

2007-2009 Phillip Hayward