4 ms·
Looks super fun, I'll give it a try! Something like 10 years ago I had a similar idea - a 2D shooter with the feel and gameplay of a FPS, only that in my case
by ggambetta 6y ago
Looks super fun, I'll give it a try!
Something like 10 years ago I had a similar idea - a 2D shooter with the feel and gameplay of a FPS, only that in my case I thought of making it top-down, and the plan was that visibility would be a huge thing - your 2D character would only see things from their point of view that weren't blocked by the level geometry or other players.
I never completed that game, for various reasons. But in the course of making that prototype, I did a lot of research about the networking model. I read every article I could find about client-side prediction, server reconciliation, and entity interpolation. I didn't want all this effort to go to waste, so I wrote what I had learned in article form, and put it on my website.
That's the never-told-before origin story of my multiplayer networking articles :)
https://gabrielgambetta.com/client-server-game-architecture.html https://gabrielgambetta.com/client-server-game-architecture....
- chromanoid 6y agoThe game is nearly twenty years old. It's really a pity that you didn't play it at its peak. Do you know "Running with Rifles"? I think line of sight is not a thing there, but it still reminds me of your idea.
- chazapp 6y agoI've been trying to build that very game as a .io game using Phaser3, MatterJS and WebSockets. Thanks a lot for these ! Your articles are one of the most important ressource i've been refering to in order to build it. I'm still struggling with entity interpolation and reconcialiation, but i'm hanging in there and i hope to finish building a complete game loop sometime this year. There are still a lot of issues to fix before reaching that point, but I like what i've built so far: https://mtvs.chaz.pro https://mtvs.chaz.pro Thanks again for these truly useful articles !
- ggambetta 6y agoLooks very promising, well done! If your world is going to be tile-based, doing shadow-like visibility should be simpler than if you did arbitrary meshes :)
- jvzr 6y agoSounds like you are describing Foxhole (plus an always-on, massively multiplayer, multi-region, logistic-aided front warfare) https://store.steampowered.com/app/505460/Foxhole/ https://store.steampowered.com/app/505460/Foxhole/
- Gene_Parmesan 6y agoOh wow, this is perfect timing. I do hacking on homemade from-scratch 2d game engines in C++ just for fun (and because it's about as far away from what I do at work as I can get). My projects never get super polished because they're more about learning experiences for me than making anything for sale/consumption. Anyways, my most recent project was a traditional roguelike (holy shit, GUI programming with only SDL for comfort is a challenge), so for my next one I'm wanting to do a top-down action game just for something different. I had decided that I thought making it online multiplayer would be a good focus for a challenge learning objective, but I've been a little hesitant because networking at that level is far outside my comfort zone, and it doesn't seem like something I could just hack my way through like I could for simple sprite rendering/movement physics/etc. So basically you've lit a spark under me now. Thanks! And I'm now realizing oddly this is the 2nd thing I have of yours on my to-read list, I just saw the post here about computer graphics from scratch a few days ago. I (and I'm sure many others) appreciate your willingness to knowledge-share.
- anderspitman 6y agoIt's a fun rabbit hole, and Gabriel's articles are some of the best.
- ggambetta 6y agoThere's two things I wrote on your to-read list? I'm flattered :D
- anderspitman 6y agoMan. I always just assumed you were a grizzled netcode veteran that decided one day to share your hard-won-in-the-trenches knowledge with the rest of us plebs. Those articles are fantastic. EDIT: Also, yes. If you have any interest in networked 2D games and haven't tried Soldat, I highly recommend it.
- ggambetta 6y agoSorry to disappoint! I'm not a grizzled netcode veteran. I guess my strength is explaining complex topics in an accessible way - that's the main contribution of these articles, and the same can be said about my Computer Graphics book. [IMPOSTOR SYNDROME INTENSIFIES]
- rzzzt 6y agoYour comment made me remember a game -- has anyone played Tremor Gold? I can only find a mention in this 13 years old article: https://www.tigsource.com/2008/02/20/multiplayer-on-one-keyboard-2-tremor/ https://www.tigsource.com/2008/02/20/multiplayer-on-one-keyb... ...I _think_ I have it on a shovelware CD somewhere...
- superdimwit 6y agohttps://closequarters.io/ https://closequarters.io/ This is similar to what you are describing, although development has sadly appeared to have stopped.
- ggambetta 6y agoWow, that does look super close to what I had in mind! Add the shadow-like line-of-sight visibility thing, and it's almost the exact same idea.
- mizzao 6y agoSurprised no one has mentioned https://en.wikipedia.org/wiki/Infantry_%28video_game%29 https://en.wikipedia.org/wiki/Infantry_%28video_game%29 - spent many hours here when I was younger. There is a reverse engineered version that is still running here: http://freeinfantry.com/ http://freeinfantry.com/
- sdwr 6y agoI played around with the same idea last year! A top-down shooter with line of sight and peeking, inspired by CS. Didn't get very far with it myself, but the idea has tons of potential. Visibility with partial cover/between different heights would look interesting in a Flatland sort of way, with the body shape morphing based on angle. And I think a 3D level is pretty readable from above if height is shown as a color gradient.
- hawski 6y agoSoldat had a realistic game mode were it was like that. It also included ghosts of players if you would hear steps or them shooting. I also wanted to do a realistic top down 2d shooter. My gimmick was to have akimbo guns and mouse look - view always centered, horizontal mouse move rotates the view, vertical changes the angle between player's hands. You would be able to run forward and shoot on both sides.
- ggambetta 6y agoThat's a very original idea! My first though is that it's a pretty unintuitive control scheme, how long did it take you to master it? Did other people "get it"? I can imagine that kind of thing being a barrier for adoption :( OTOH if you can start playing just with the horizontal axis and WASD, and only user the vertical axis as an expert feature... I can see it becoming super compelling. The "easy to learn, hard to master" kind of thing.
- hawski 6y agoI never went far with it. When I was more into gamedev I was one of those wasting time on trying to write a generic engine instead of just writing the damn game. My initial tests with just the mouse look were promising. I did a lousy game for a small competition that used this part of the idea and it was fun for me, but you could barely call it a game. With the akimbo play I hoped that the cool factor would win people if it would not be too easy to grasp. Maybe some time in the future I will return to the idea, because I still have a small candle for gamedev. If anyone wants to experiment with the idea be my guest, I don't mind. Just let me know, because I would love to try it out myself ;)