February 27, 1:36 PM:Aaaaaaaaand done. Not my best game ever, but it pushed me to implement networking (not to mention NAT negotiation), so that's something.
Baffle_Install_2011-02-27_15-10.exe (2.0 MB, Windows only)Supports online multiplayer only. No singleplayer or splitscreen support.
Requires two PCs with an internet connection. I mean technically you can run two instances on one machine just to test it, but you really need two machines to play.
Goal is simple:
Get to the other guy's spawn point. Whoever gets there first wins.
Mazes are randomly generated for
infinite fun. Yep.
I apologize for the
terrible music. After my
last compo entry, I didn't want to ship a silent game, so I threw in what's probably the most cheesy, grating MIDI music I've written.
And just once more, to clear up any confusion:
No port forwarding required!! I implemented a NAT solution! You're welcome!
Ironic Papyrus is ironic.
February 26, 7:45 PMWell, there's not much of a game here, but that's what I get for spending about four weeks on NAT negotiation and server browser code. You spawn into a maze and have get to your opponent's spawn point before they reach yours. There is only one path between these two points.
Things I did today:
- Maze generation
- BaffleMan art and animation
- Beacon art and animation
- Staggered blocks for more interesting visuals
- Victory conditions
February 24, 11:59 PM:I think I'm finally done fixing bugs in NAT negotiation and server browser code. Just getting the basics implemented now. I have two players moving independently and a randomly-generated maze that gets rebuilt on the client side via a replicated random seed.
February 21, 10:45 AM:Rudimentary server browser is in place. Still dealing with lots of edge cases in my net code that probably aren't as "edge" as I wish they were. Getting down to the wire here, don't think I'll have time to really make much of a game. Too bad, since I had some cool ideas for polish and presentation on this one. Building a robust generic system trumps making a single polished game in my book, though. And maybe I'll keep working on this one after the deadline if the promise is strong enough.
February 14, 9:45 AM:Oh right, this thread exists.
So yeah. I got frustrated with the idea of requiring players to set up port forwarding just to play my stupid little game, so I implemented a NAT solution, just like I said I wouldn't. Also added a reliability wrapper around UDP. These systems should be generic enough to support any future multiplayer games I ever decide to make, too, so I'm sort of viewing this game as a test drive. I'm running the server app at home on this little HP MediaSmart WHS box, so I'll just have to see how it holds up once I get a few games hosted at once. Fortunately, the server app doesn't really have to do all that much once the game begins; game hosts just ping it every now and then to tell it they're still active.
January 31, 11:30 AM:Got some simple placeholder(?) cube art in place. Just placing tiles at random for now. Some simple networking exists; the server can move SphereDude around and the client will see it. Maze generation, collision, game rules, better interface for hosting and joining a game, and lots of visual flair are incoming.
January 26, 12:25 AM:Various things in progress. Did a little bit of procedural maze generation last night. The game won't actually be text; it was just easier for me to prove it out this way. I'm still unsure exactly what the mechanics will be. I like the idea of a one-on-one CTF variant, where each player has to play defense and offense at the same time, but I'm not sure how well that will work.
Trying to get reliable messages working in my networking code. Not sure I'll really be able to stress-test this, but whatever.
Doing some polish on my input binding menus to try to get that into a shippable format for this compo. Started working on it back in like August or September of 2008, so it's well overdue.
January 24, 10:00 AM:Slow progress is slow. I've identified a number of pitfalls in my networking implementation that I might have to design around. Thinking the gameplay might be sort of a one-on-one game of CTF. Not sure yet.
January 20, 9:45 AM:I have an idea for a game, finally! It'll be all tile-based, with discrete one-tile-at-a-time movements (think Adventures of Lolo for NES) to minimize bandwidth use. There might be some block-pushing and puzzle-solving, but I'm thinking mostly it will be about hiding and sneaking around. Probably going to do some kind of line-of-sight or fog-of-war to keep the other player hidden. Might make the gameplay asymmetric, with one player attacking the other's base. Not sure yet. Kind of going to have to feel it out. Might throw together a mockup tonight.
Already finding that testing a networked game is going to be a pain and a half, but I didn't want to do hotseat, and I don't feel like refactoring my engine to support multiple inputs for simultaneous gameplay.
January 18, 9:20 PM:Started writing a thin wrapper around Winsock. It's threaded and non-blocking, so messages can be sent back and forth either direction at any time. I currently only have support for a one-server-one-client connection, but I may generalize it to support multiple clients soon. Still not sure what kind of game I want to make. Probably will let the tech drive the design, in the interest of getting something finished on time.
January 17, 2:30 PM:No idea what I'm going to make yet. Probably gonna roll a networking solution from scratch. Pretty much ruled out a homebrew NAT solution, so I hope you like forwarding ports.