





🌟 Special thanks to our amazing supporters:
✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]
New beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:Finalizing_Multiplayer#Beta_3.604_Puppy_Proofing.2C_Part_1 Not a lot is different in this one, from an end-user player perspective, but... uh... a LOT is different, at the same time? I fixed a couple of minor bugs, or made them report themselves better so I can see them and smash them when they surface again. Also, chain lightning looks suitably awesome again. But that's about it... ...Until you see this giant section called "Rip and Tear for Multiplayer." I am essentially ripping the guts out of many parts of the game, and putting it back together differently. At the moment, on the beta branch, it means multiplayer is completely trashed, by the way. Why do all this -- is this just shuffling the furniture around? No, it's... super important, but it's really also very hard to explain. But I'll give it a shot. See... coding multiplayer games is hard. And no two are exactly alike. Trying to code multiplayer is like trying to... um... analogies are also hard. It's a bit like trying to teach in a foreign language that's just similar to one you actually know? The assumption is that you're going to make many mistakes, some of them hilarious, and people will correct you and it will be fine. The problem is, that's assuming that you have someone to TALK to, in that analogy. Let's instead imagine you are writing a paper in this foreign language you sort of know. It's going to be a long paper, maybe a dissertation. Maybe a whole series of novels! This is a big important project to you, and you keep it mostly under wraps until it is done. You test it all in single player and it's great, and then you show it to people and... well, native speakers are going to give you an absolutely apocalyptic amount of feedback, and require you to pretty much redo the whole thing. Right, so who am I talking about, anyway? Me? Badger? Modders who code to the game? ...Yeah, pretty much all of the above. Every multiplayer game is like a new foreign language, and as I've been developing this one, I've been putting in safeguards against even myself, and learning what doesn't work. But what gets really discouraging is when there's a seemingly infinite surface area for cross-threading issues or memory leaks to pop up in, in particular. So, with my code architect hat on, I have to think about that less from a "just fix what's in front of you" sort of manner, and more from a "make it so that we can't break it so easily" standpoint. The engine of your car is really dangerous. It's hot, stuff moves around really fast, there are gears, etc. But it's also REALLY hard to get your hand caught in there. A lot of thought goes into making it so that the appropriate service technicians can get in and do what needs doing for maintenance or for more drastic repairs, but so that they don't cause collateral damage and nobody gets hurt. This is a lot like that. I'm less worried about the bugs of today, as far as multiplayer goes, than I am the bugs of next year, or the year after. If AI War 2 has a rich modding scene, I want it to thrive for years after my main time with it is through, and to do that I need to code to protect against errors in code that hasn't even been written yet, potentially by people who have never even heard of the game yet. As a side bonus, lest that seem needlessly ambitious, it also solves some bugs that have very much been present in the last year in actual code, and which I have struggled repeatedly to eradicate. This last month has been a lot of stepping back and trying to make the whole thing "safer" (harder to create bugs via mistake-because-did-not-know-secret-word-conjugate or whatever), as well as lowering the amount of data being sent. In essence, pulling it a bit more toward the single player experience. I'm getting close, but new things pop up all the time still. When I'm done and it's tested, we should be out of MP beta for good.
[ 6079 ]
[ 2063 ]
[ 4245 ]