STEAM GROUP
eXplorminate e4X
STEAM GROUP
eXplorminate e4X
76
IN-GAME
930
ONLINE
Founded
September 24, 2014
Language
English
Location
United States 
Showing 1-10 of 80 entries
61
Jan 21, 2021 @ 6:49am
The 4X and 4X-Like Games of 2021
But I seem to have veered from falling on my sword to talking up DG, so let’s get back to it…

I’ve been hesitant, probably too hesitant, to move DG forward commercially. Both into KS, and into EA. I’ve been told a number of times that I should have been in EA a long time ago given the state of the game.

There are two prongs to this, one is accountability and the other is the financial success of the project. The former is probably self explanatory. Prior to KS, I was accountable to no one but myself. I could develop DG in whatever direction I wanted without anyone batting an eye. Post-KS I’m accountable to backers, and especially accountable to those who made significant pledges or significantly helped to signal boost the campaign.

My intuition tells me--and I don’t think it’s entirely wrong--that the way DG enters these financial stages is likely to have a huge impact on the ultimate financial outcome of the game. That, for example, $50,000 worth of art, sound, and other polish prior to EA might amount to hundreds of thousands of dollars in revenue across the lifetime of the game compared with adding that polish during the EA period. That a strong EA entrance might make the difference between being able to work on DG long term for years versus having to go some other direction. The state of the game when it enters EA will absolutely leave some degree of lasting impression, and regardless of the underlying gameplay I would much prefer a more polished exterior before entering EA.

I’ve even considered applying for jobs so that I can redirect paychecks towards this polish, despite the fact that EA revenue would likely enable the same while letting me continue working on the game full time. But the nightmare scenario is if after entering EA the game does not generate enough revenue to both sustain myself and also hire the contractors needed to polish things up.

In this context, the KS campaign was a great disappointment to me. Keeping in mind that it’s a very tough environment for any game project nowadays, and that I should probably count myself lucky for succeeding at all, I can’t help but be a bit bitter too. Truth be told, I was expecting to raise a good deal more, and the $20,000 CAD (about $16,000 USD) goal was a last minute “play it safe, just in case” alteration and originally, I was erring towards a more significant goal.

Keep in mind that I also bear some amount of blame here. Off the top of my head, I should have run a longer campaign and I should have hired an artist to help with the about section. I feel the campaign could have easily cleared $30,000 CAD if I had executed it better.

But the end result was that, while the KS didn’t accomplish much financially, it did massively increase my obligations. In hindsight, that might not have been a great trade. Regardless, I do take my obligations seriously and I intend to deliver on them. In the event I fail to deliver, which to be clear is not something I’m planning on, I intend to make the appropriate restitution to backers (specifically the high-tier ones) when I’m at the point it’s possible to do so. Again though, I must reiterate that we’re a far ways away from that scenario.

The KS created some additional discomfort because of the way the site is structured. Specifically, the $20,000 goal probably wasn’t all that realistic in terms of finishing the game. The KS rules stipulate that you aren’t allowed to ask for less than you need to finish a project. Usually, this isn’t a rule that’s strictly enforced, but from time-to-time KS does reach down and smite a project that they deem is too far outside the limit.

Personally, I think this rule is terrible and, while it might have made sense at one point in time, no longer does in the current environment where backers are hesitant to the point where the vast majority of projects fail.

Specifically, the situation for video game campaigns is so bleak nowadays that it more or less forces you to ask for much less than you need if you want to have any chance of reaching your goal, while the rules force you to pretend that what you’ve asked for is sufficient. The situation got this bad because backers are extremely jaded after being let down or misled by various projects back in the golden age of crowdfunding, and this rule is steering creators towards misleading their backers even more. That’s not helping the situation; it’s making it much, much worse.

For myself, what I wanted to say was something along the lines of “the amount I’m asking for probably isn’t enough to finish the game, but I’m hoping to exceed the goal, and if we only reach the goal we’ll probably need additional funding, either through publishers, or investors, or Early Access.” If I had said this, then in all likelihood KS would have delisted the campaign. Instead, I rationalized in two ways: First that the campaign was going to clear significantly more than the goal, making the point moot. Second, that theoretically, if everything went right, if I had perfect motivation and the money raised was spent as fruitfully as possible, then $20,000 could be enough. Of course, neither of these came to pass.

So here is where I fall on my sword the hardest. I’m a proud person, and a big part of that is an oversized, self-imposed concept of personal responsibility which includes being truthful. Suffice to say, I’m not proud of this aspect of how I conducted myself during the KS campaign. The KS rules guided me towards painting a picture that, even from the moment I launched the campaign, I felt in my heart was dishonest. At the same time, it’s not like KS put a gun up to my head and made me do it. I made the decision of my own volition, and it has weighed on me since then. Speaking about it now goes some way towards lifting that weight, but what will really help is when I have successfully discharged my obligations.

Another thing that went wrong was that my original intention was to split the KS funds between living expenses and contractors to polish things up for EA, but the second part of that never actually happened. One contractor was unavailable for a number of months, and when he did became available his prices had increased to the point that where I no longer felt comfortable directing the campaign’s limited funds in that direction. I also came close to hiring a composer, but in the end things didn’t quite align. However, as a result of our initial work together I changed music tracks to be loaded externally and added a number hooks for every event I could conceive of (eg. Combat prompt, ship designer, credits, etc.). In other words, the game is ready for a full soundtrack; one just needs to place the necessary files with the necessary names in the necessary directory.
Originally posted by Martok:
like Rob, I'm disappointed with the pace of progress on Dominus Galaxia

For whatever it’s worth, I am as well.

Brace yourselves, this is going to be a long post. Some of this will be recapping previous KS posts, and some of it will be new information. As much as I love you Martok, I'm not just writing a 3700 word reply for your benefit ;) Odds are a version of this will be made into a KS update.

Before I go falling on my sword however, I should defend myself a bit. In 2020 DG saw nearly 30 updates, albeit with around a quarter of those being smaller hotfix-style patches. Either way, it’s not a small number.

Huge improvements were made to the backend. Game logic is disentangled from the Unity Engine and turn processing occurs on a background thread. Even in the AAA space, that’s pretty rare for Unity games where it’s not unusual to see framerate stutters or outright pauses when there is heavy gameplay logic.

Compared to the initial KS build, turn processing times are at least four times faster. Part of that is the above disentanglement, part is various optimizations, specifically to pathfinding, and some limited multithreading of critical paths, and part is rewriting a few of the least performant portions of the AI.

The other big improvement is mod support (Ivan deserves a lot of credit here), which is now very robust indeed. There’s an in-game UI where you can enable and disable mods at runtime, as well as changing the order with which they load. You can also add new mods without restarting the program. Somewhat related, but more functionality is exposed now in the data files.

Not quite as significant, but Galaxy generation also saw huge improvements to speed, placement, and robustness as well. There is some limited multithreading here, and from a technical purely perspective the algorithm seems pretty close to perfect, if not a bit overkill. The old algorithm, for instance, would invariably fail if you tried to place too many empires in too small of a galaxy. The new one is designed so that it should never fail any scenario. The old algorithm also had trouble picking reasonable starting locations on non-standard shapes while the new one works equally well on even the most convoluted shapes.

There are smaller items, like object pooling for many UIs to increase responsiveness, as well as a host of other backend improvements on the admittedly oft-delayed combat branch. For example, combat events can execute in parallel. So, if we take an edge case scenario where you have hundreds of combat events in a single turn what might have otherwise taken a minute to process may complete in less than a second on, say, a 64-core Threadripper.

Regardless of any technical progress not that much has been accomplished that’s actually user facing. Off the top of my head:

-You can build system defense ships that don’t have warp drives and therefore can’t move on the galaxy map, but are much hardier than usual.
-Rally points can be chained together, so that if you have ten colonies rallying to a single point, you can then redirect everyone by rallying from that point to somewhere else.
-All races are playable, although the ones without finished graphics borrow from the ones with finished graphics.
-Instead of a hardcoded ship design limit of 5, this is adjustable in advanced options. This required some UI effort as well as time to make it work properly in combat. It was probably the most requested feature from non-MoO 1 players, but didn’t do much for MoO 1 vets since they already don’t mind the limit. As an aside, the new most-requested feature is refit, which probably won’t do much for MoO 1 vets if it ever comes to pass either.
-There’s a button in ship design to let the AI auto-fill a design for you.
-Lastly, or at least the last thing I can think of (I may be missing one or two minor items) is modding support, but this really depends on the community. So far, a few mods have been created, but most are minor and as far as I’m aware none have captured much community attention.

Taken as a whole, these are hardly significant additions compared against a year of development. And while the bugfixes, speed improvements, and increased stability might feel impactful when compared directly against the initial KS build, the same isn’t true when spaced over the course of a year and a bit.

And here’s where I fall on my sword, so to speak. The upcoming combat rework has proven to be both a bigger task than I anticipated, and at many times has been difficult to find the motivation for thanks to the immensity of all the various interconnected systems, UIs, Ais, and content that needs to come together to make everything work. The amount of work needed here is more or less the same as making an entirely new (albeit much smaller) game. Truth be told, with better motivation I’m sure I’d be finished it by now, so that blame lies firmly on my shoulders.

Part of the motivation equation is necessity, where necessity helps drive results. This was a factor in previous estimates for the combat patch. Since I tend to err towards looking at the worst case I assumed that necessity would drive me to complete the work by a certain time. In reality, things worked out better than I had anticipated for living expenses, which depressed that factor of motivation. Even though this “necessity” factor is coming into full force now, I’m hesitant to give an exact eta for the combat patch after missing previous estimates.

While there’s been a measure of scope creep, the initial and far larger delay was one of technical creep. The legacy combat system has become a bit messy over time. It’s firmly entrenched in the “Unity way” of doing things, which itself wouldn’t be too terrible even if it’s not the greatest, except that on top of this “auto resolve anywhere, anytime” and “background events use all of the same systems” got bolted on. Don’t get me wrong, these are great features and DG would be a far worse product without them, but building them onto a system that was never designed to accommodate them required a large helping of duct tape and black magic.

I didn’t set out with the goal of rewriting the entire combat system, but that’s what happened anyway. “I’m adding a feature and touching this system anyway, but I don’t like this thing here so I should tidy that up,” but then that system touches another system, and so on and so forth.

The rewrite wasn’t just divesting combat logic of the Unity API, but also changing many things fundamentally work. For example, in the legacy combat system line casts are used to determine things like “is an asteroid blocking this shot?” or “how much of an accuracy penalty should I suffer for firing through nebula tiles?” Pretty much all of these have unfortunate edge cases, but the later is an especially tricky thing since if you just add up all the tiles that a line intersects to determine the accuracy penalty you might arrive at a larger-than-intuitive number since some of those intersections may be tiny. The legacy system attempts to work around this, but it isn’t perfect.

The new system, on the other hand, doesn’t use line casts, and doesn’t use the Unity physics library for anything. It’s all just hex math now (much thanks to my friend Fabian, who is a mathematician, for an abundance of help here). The intersection maths are especially complex but allow for some really cool details that people will never notice (in this case, not noticing is a good thing). Taking the above scenarios, in terms of asteroids blocking shots what is now possible is that if the line intersects the boundary (as opposed to the interior) of a hex with an asteroid, the shot is allowed, but if it intersects the boundary of two or more such hexes the shot is blocked. Regarding firing through nebula tiles, the new combat system just adds all the lengths of intersections with nebula tiles (while only counting shared boundary once) and rounds to the nearest whole number.

Missiles and torpedoes, which exist somewhat outside and inside the hex grid at the same time, were a giant mess previously, but are now very robust.

One depressing issue with the new system, which is now fully MVC (model, view, controller), was that getting the view (In this case, the script that displays the 3D model of a combat unit) to follow the model (which informs the view of where and how to render) didn’t quite sync up. So, instead of a ship moving smoothly to a new hex it would judder and skip. Worse yet, I discovered this was a fundamental issue with the Unity engine itself (this can also be seen in the GNN chiron if you play close enough attention!) It was a big let down since a lot of work was needed to get to that point only to find such a glaring issue with no straightforward solution in sight. Thankfully Unity 2020.2, which was released in December, fixes such timing issues on most platforms so the animation is once again smooth.

To recap some of the upcoming combat changes quickly, the big improvement is that all types of ship equipment have a significant number of dials and knobs now, since the goal is that no equipment should need to be a +1 of previous versions. Shields, for example, have a massive degree of functionality (so much that I might end up taking some away if it ends up too overwhelming). You can still define a shield that functions exactly like it would in MoO 1, but by default shields now have HP, regeneration, bleed through, power consumption, and so on. Armor and shield DR is tracked separately, so some weapons are better against armor while others fare better versus shields. Weapons have a great deal of new functionality also, the biggest additions being firing arcs and per-hull size accuracy adjustments. In other words, that big death ray might be amazing at taking down big targets, but rather ineffectual against even a single small craft—think of the Death Star laser trying to down an A-Wing. This goes hand-in-hand with a primary goal of the rework, which is to have strong (but organic) roles for ship sizes and designs.

In any case, this new functionality necessitated some UI rework as well. Most significant is the ship designer, and specifically the equipment picker inside of that. Be warned, this might get a bit technical. In the live version of Dominus Galaxia, there are two presets for the equipment picker: One for weapons and one for everything else. For “everything else,” the “description” column is used to convey information that probably should have its own column, since equipment largely only does a single thing. For example, a Mk IV shield would just say in its description something like “blocks four points of damage.”

In the development version, this wouldn’t do. Instead of making a distinct UI for each type of equipment, these are now defined in code and generated at runtime. So, the code says “For this type of equipment, I’ll have these columns, with this width, and I’ll populate the columns with this data. When the column is selected I’ll sort the items in such and such a manner.” Then pools (“pooling” means reusing objects instead of expensively creating new objects all the time) for each type of equipment are generated. On top of that some items can be customized, so instead of having a “Nuclear Missile-2” weapons with 2 ammo, and a “Nuclear Missile-5” item with 5, you now just have a Nuclear Missile and you select the amount of ammo to go with that launcher. Presently by default, this is between 1 and 10, although these bounds are driven by the definition of each weapon in data.

Most likely, this rewriting and refactoring and of the codebase wouldn’t be worth the effort versus just adding features to the existing source. It’s understandably created some discontent among those that would prefer to see faster and more visible progress. I can’t help but to agree with that criticism, since I too shared this desire. Drifting towards the technical side of things wasn’t a totally conscious choice, but rather happened in bits and pieces, and from where I’m standing now, I’m pretty sure it was ultimately the wrong choice.

What might change the equation is the ultimate goal all this is converging towards, if we ever get there, which is a “client-server” approach to turn processing. This doesn’t literally mean that there’s a server and you need an internet connection to play (it will always be the case that you can play offline), but rather that turn processing is done on one machine/task/thread, while each empire is perfectly encapsulated on their own machine/task/threads.

The idea is that is an agnostic approach to whether these elements are running on the same or different machines. It’s something of a holy grail for me and I’m unaware of any other 4X that has reached, or is even trying to reach, such a technical height (admittedly, the design of many 4X games makes this idea untenable. You absolutely need a dedicated movement phase). Unlike many technical achievements, this one would be immediately palpable.

The two big outcomes would be that AI empires would all take their turns in parallel and at the same time as the player. In other words, if all AIs finish up before the player hits turn, which would likely be the case most of the time, then there would be no noticeable AI processing on the player’s end. In effect, AI processing becomes instantaneous. Since empires will be completely encapsulated from one another with no shared data, you can get more-or-less perfect scaling as you add resources. If you want to geek out a bit, imagine playing a 1000 empire game of DG on a 64-core ThreadRipper, ending your turn, and immediately arriving at the next turn. That would be pretty unreal.

The other big consequence is that this milestone almost singlehandedly enables networked multiplayer with very little additional effort (that DG already supports hotseat helps a lot here). And, because networked multiplayer and regular single player are effectively operating the exact same way under the hood, God willing, networked multiplayer shouldn’t have too many unique issues.

Keep in mind though there’s a near 0% chance that the first multiplayer builds of DG will have tactical combat in multiplayer. While the client-server architecture for the strategic layer should naturally flow into networked multiplayer, the same isn’t true for tactical combat where players are directly interacting with one another. At that point, the timeframe for multiplayer tactical combat will depend on player demand.

My rough estimation is that with all of the backend work in 2020 DG is at least half way along the road to this “holy grail.”
83
Sep 14, 2023 @ 12:17pm
Resources, guides etc. to make your own 4x-game?
Right, so if you right click in your hierarchy, and then select anything under UI, it will create a canvas for that object if one already doesn't exist in the scene.
Originally posted by Ail:
I'm playing around with map-generation. I currently don't see another way than killing the whole application, which would be mildly annoying. But I guess I have to be more careful about more potential endless-loops.

The only solution I'm aware of is going into debug mode in your IDE, and then changing the value of whatever is causing the loop to persist so that the condition is no longer satisfied. If you're able to figure out something nicer than that though, please share it with me :)
Originally posted by Ail:
Anyways, I wanted to say that I feel that creating the UI is the main difference to anything that I've done before. Starting with something very basic and using placeholder-graphics and first get the game-mechanics going seems reasonable. But finding someone else to do the UI was not something that I had considered. Probably because I know that hurleybird also made the UI for Dominus Galaxia all by himself and I personally think that it's one of the best UIs I've interacted with in a 4x. So I feel that it's my responsibility to make the UI as good as possible when making my game.

Thanks, although there are definitely things I'd do differently for the DG UI if I were to start again today. Because UI isn't any kind of real issue currently and reworking it wouldn't provide much benefit, a big refactor isn't something that I'm planning on doing. Maybe five years from now if the game is still selling :P

No matter how you approach things, creating a simple UI in Unity is much easier than if you were to start making something from scratch. All the components, buttons, sliders, scrolls, layout groups, etc. are right there. If you're just placing buttons and hooking them up to methods, and then changing some text or turning panels on/off in update depending on state, that has a pretty low skill floor.

Probably the simplest advice I can give is to set your canvas up properly. The defaults are bad for 99% of use cases. Somehow a lot of people miss this. I've talked to other developers, not just hobbyists, close to or having released their games who have missed this, and then find out that their UIs don't work well with certain resolutions or aspects. Go into your Canvas Scaler component and set the scale mode to "Scale With Screen Size", and drag the Match slider all the way to Height. This makes your UI scale in a Hor+ fashion (you still need to use proper anchors for each element though). And if you adjust the reference resolution (just the height is all that's needed), you can change the scale of your UI in general, which is a great feature to have.

You can of course, do things more programmatically, and depending on what you're doing this may be more robust at the expense of higher skill floor and initial time investment. For example, Unity started supporting Async/Await in 2018, and the pattern shown towards to the end of this lecture looks really awesome.

There are also some pretty decent middleware solutions[assetstore.unity.com].

And lastly, while the current UGUI system is pretty great, there's also the new UI Elements system that is in preview[docs.unity3d.com]. I haven't tried this yet, but it looks awesome. My overall recommendation would be to create simple UI prototypes with UGUI for now, but also dig into UI Elements. When you're ready to get heavy into the UI, Elements should hopefully be out of preview.
23
Feb 8, 2020 @ 12:09pm
SotS Remastered
Originally posted by omzh:
@hurleybird, I don’t think it’s a contradiction of terms. Take the Civ games, pillars of the genes where you have win conditions that you can effectively meet without any warfare (bar playing the boosted AIs on higher difficulties).

The contradiction is the thought that you can make Sim City strategic. Civ isn't Sim City, but to the extent that it focuses on building and internal optimisation over external conflict, the strategic depth of the game suffers.

Originally posted by omzh:
4X games will always have that level of higher optimization because the mechanics can always be learned and exploited. The trick I think is being able to throw a wrench at the players works forcing them to adjust without negatively affecting the whole experience.

Your first sentence doesn't quite logically follow. After all you could say the same thing about poker, which certainly does not suffer the same issues as the 4X genre. It's the type and implementation of mechanics that lends itself to exploitation, or prevents the same.

Specifically, it's the fact that you have purely internal mechanics that are repeated ad nauseum, which have an out-sized effect on player performance, often to the point that little else matters. In other words, the problem is colony management.

(Sure, there's room for more problems than just this, but it's the big one.)

And colony management is required. Remove it and you aren't building an empire; you lose the ability weave an emergent narrative about the rise and fall of civilisations. You don't have a 4X game anymore.You might have a great war game, but it's not the same thing.

The fundamental difference between what I call the "pure" subset of the 4X genre (Eg. games that more resemble MoO 1 than Civ, or stick close to the fundamental tenants without too much additional gunk... Another way to look at it is that MoO is the prototypical 4X while Civ only gained 4X status retroactively) is the approach to colony management.

Keeping in mind that even with a game like SoTS or MoO 1 there's some optimisation, what you have on one hand are games where the focus is on telling colonies what to do, and on the other the focus is on telling them how to do it. It's the difference between saying "Focus on building ships, focus on research" and "Move four pop to farming, then Build X, Y and Z on these tiles, in this order, and then..."

There's a start contrast in the amount of optimisation that flows from the former versus the later.

And this problem of colony management is my design bugbear. Because while having more focus on internal non-strategic problems will weaken a 4X's strategic depth sure as anything, building the perfect 4X game takes a lot more than just making something that is strategic.

Specifically, interacting with your assets can in and of itself be fun. Clicking on stuff and seeing stuff happen is, to an extent, fun. There are entire mobile games that are built on not much else. There's the idle genre. Strip out optimisation, and you're left with a more strategic game because the relative weighting of actual strategic decisions in player success increases. But a dearth of objects to interact with, and of tasks to perform, puzzles to solve, and so on, ends up pretty bland.

And this is the kind of problem I find completely fascinating. Where you have two properties you want to maximise that seem to be in fundamental opposition to one another.

In terms of colony management in an ideal world you have a decent amount of interaction, but little is repetitious, and instead of solving an internal non-strategic math puzzle you can actually affect your opponents and vice versa. And to do all of this in such a way that's still immersive and not some abstract thing with no connection to the narrative. I've been trying to work this out in my head for a few years now, but no eureka moments yet.
Originally posted by ashbery76:
In my view a proper 4x game should have more facets than just war, so as much as I like those games ala MoO, SoTS without war there is very little about them.

A lot of ways one could respond to this...

  1. Without capturing pieces there would be little about Chess either.
  2. MoO and SoTS do have more facets than just war. The difference is that war is the central pillar that everything else is supposed to support, in a more extreme way than most contemporary 4X games.
  3. I think this is a good thing. Strategic depth fundamentally derives from conflict.
  4. Take out war, and you go from 4X strategy to 3X non-strategy.
  5. It's on you to explain why it is bad for 4X games to have a heavy war focus. Your formulation is missing "This is bad, because."
  6. On the other hand, remove war from "less pure" 4X games like Civ and you're left with a bunch of people playing a really terrible builder game on the same map.
  7. As an addendum you don't necessarily need war to have conflict in the strategic sense, although I'm not aware of any 4X that significantly and successfully explores a compelling alternative.
Originally posted by omzh:
Maybe it's just differing tastes, but in general I tend to approach my 4X and strategy games more like SimCity than Total War

I find it disappointing that the community always asks for the same type of game, and it doesn't actually do anything new for the genre. It's like current cinema that's all remakes and the same superhero movies, which is just a dearth of creativity. That's what this genre feels like for me sometimes.

The big issue is that everyone is trying to make "Strategic Sim City," which is practically a contradiction of terms.

The empire builder aspects get in the way of strategy by increasing the significance of optimisation over novel thinking, often to the extent that there is little if any strategy required. Meanwhile, the strategic aspects get in the way of novel building by reducing the building aspects to something manageable given the number of colonies present in a 4X game, regressing what might otherwise be an interesting building aspect into dull repetition of simple tasks.

Pure Sim City is awesome. Pure 4X (eg. in the vein of MoO, SoTS, Stars!) is awesome. But the more you mix, the messier you get.
625
Jan 9 @ 5:57am
Dominus Galaxia Mega thread.
816
Feb 1 @ 7:01am
Interstellar Space: Genesis Megathread
They aren't slowing down, that's for sure!
So, random question for Martok that has nothing to do with ISG:

I can't really get behind the idea that small maps break immersion personally... but theoretically, say that you have a small map, where the lore is that this map represents a small cluster of stars that is separate from a larger galaxy, but you can also interact with the closest full galaxy in an abstract way (eg. like sending dwellers out on missions in Fallout Shelter). Proof is in the pudding, but what do you predict your reaction would be to such a scenario?

In other words, do you think that it's the size of the map in and of itself, or rather that the large map makes it easier to ignore the artificialness of imposed boundaries?
It's difficult enough to make a good 4X game without needing to worry about multiplayer. Networking and all the stuff that goes with it (matchmaking, anti cheat, saving/resuming multiplayer matches) is a huge task, and all the effort that goes into it has to come out of somewhere else.

And unless you make a really, and I mean *really* good 4X, no one will want to play it online anyway. SoTS 2 would probably have come out a lot better if all the development time spent on its (completely unused by players) multiplayer capabilities had instead been invested in the main game. Likewise, I just booted up nuMoO out of curiosity to see how many multiplayer lobbies there were, but I didn't see a single one despite a huge patch just coming out.

I think that the best course of action, assuming you as the developer want to include multiplayer in the first place, is to start with the single player experience but keep multiplayer in mind as you're building the game -- both in terms of the code base so as not to set up road blocks, and also in terms of design. If the critical reception and player population merits it, add in a multiplayer mode as a post release addition. This is the strategy we're following, because we really want to include multiplayer but we first need to release a really tight single player game for that part of it to even make sense.

In most cases (excluding some exceptions like Civ), having multiplayer as a launch feature is putting the cart before the horse.
39
Sep 2, 2019 @ 5:57am
What 4X Games Actually DO Have Acceptable Diplomacy Systems?
Originally posted by cadfan17:
“By definition there is no meta-strategic-layer in any single player 4X game.”

This is one of those galaxy brain takes that dissolves when you think about it.

Me- “This game has a meta layer and the AI can’t handle it at all. That’s why the AI seems terrible. It can’t do what a human would do in this context but it’s playing a human’s role and that’s why it fails.”

You- “Technically, if all the AIs cannot engage in the meta layer, then there is no meta layer. So, they’re not failing at it.”

Me, sputtering- “But, like, no. See, the game is structured to create a meta layer, and the AI is taking on the role of a computerized human player, so it should engage in the meta layer but can’t, so we get frustrated when it does things that are stupid in the context of engaging with a meta layer it can’t handle.

There is no "context of engaging in a meta layer it can't handle." That's a non-sequitur. If you have multiple human players they can exploit the game on a meta-social level to the detriment of AIs. If you only have a single human, there is no meta layer to engage in, and thus there is no context for the AI looking stupid at engaging in something that does not exist.

I think the root issue here is that you are conflating strategic decisions inside the game rules that involve certain interactions between actors as being "meta-social" where this is not the case. Forming an alliance within the game rules is not meta-social. Even asking an AI to declare war on a third party is not meta-social. Nothing inside the game rules is meta-social. "Meta" exists outside of the game rules. The extent to which an AI is poor at making a decision in either listed scenario is based on the relative difficulty of making basic strategic decisions, not on the near-impossibility of performing social interactions.

For example, take a group of AIs in a game with a single human. The game rules expose the ability for players to request each other to go to war with a third party. You might think "Well, as a player I can trick the AI into going to war with another AI that I don't actually intend to fight," and think this is an example of "doing things that are stupid in the context of engaging with a meta layer it can’t handle," but it's not. It's an example of a merely strategic decision where there's no fundamental difficulty for AIs except for the fact that strategic decisions are intrinsically deeper than non-strategic ones. Yes, it's a relatively difficult problem because it's novel, but the gulf between it and tic-tac-toe is immeasurably smaller than the gulf between it and any kind of meta-social layer. As an AI programmer I can attempt to teach the AI in which situations declaring war on a third party might benefit it, rather than being compelled by another player with a high enough relationship value. I can teach the AI to recognise when a requester didn't contribute much against the third party, and see them as less trustworthy in the future, and I can even persist this knowledge between games if I want to. I can teach the AI itself be deceitful and try to trick others into going into a war it doesn't intend to be entangled in. None of these things are fundamentally difficult problems, just practically difficult.

On the other hand, I can't teach the AI to make a convincing argument to everyone else who is playing to the effect that one opponent is deceitful. Nor can the player make such an argument to the AI. Neither can I teach the AI to make a gentleman's agreements outside of the game rules. Nor can the player make such an agreement with the AI. That's the difference between merely strategic decisions, which are hard, and social ones, which are close to impossible.

Originally posted by cadfan17:
If you think that the position I’ve explained in detail with specific examples is reducible to AI that makes no pretense about being anything other than an automaton, I guess I have no other choice than to curtly instruct you to reread what you plainly have not.

That's the end result. X-COM is a false analogy because it's a tactical combat simulator with a sprinkle of other stuff, and not a strategy game in the sense that a 4X is. Nonetheless, yes, in that example the aliens are constrained to automaton roles. That doesn't change the fact that X-COM is one of my favourite games.
New tactic... repetitive persistence ;)

Originally posted by cadfan17:
hurleybird- It seems like you’re kind of conceding the point without meaning to. You’re right that there’s no meta social strategic layer in a conflict between AIs. But that’s just a specific example of how AIs are bad at games that actually do have meta social strategic layers. And since the meta social strategic layer is like 99% of “diplomacy” in most games, that’s an explicit example of why AIs do so badly at diplomacy and why diplomacy is so frequently the Achilles heel of 4x design.

And that happens because the designers make a game for a bunch of humans to play multiplayer, and the AI is in effect a bot.

By definition there is no meta-strategic-layer in any single player 4X game. How can you have a social anything if there is only one entity capable of behaving socially? As I said previously:

Originally posted by hurleybird:
The thing is, that's not a problem that really crops up in 4X games in the first place. Especially if you're only playing against AIs -- If you're only playing against entities that are incapable of utilising a meta-social-strategic layer then there is no meta-social-strategic-layer. And if you are playing with other humans as well as AIs, then there's not much a designer can do to stop humans from creating informal agreements outside of the game rules anyway. (Well, there are a few things I can think of, but most of those would require a stiffing degree of rigidity.)
______________________________

Originally posted by cadfan17:
The point of asymmetry is that if you build a game where the opposition isn’t pretending to be a human playing a game, it’s ok if the AI for that opposition makes choices a human playing a game wouldn’t make.

Again, asymmetry by itself has nothing to do with that. Pretending to be a human also, in and of itself, has nothing to do with it -- for instance, it's relatively easy to make a convincingly human-like AI for an FPS deathmatch, or for tic-tac-toe, and relatively difficult to make an AI that can interact socially or properly utilise strategically deep systems. Which leads right back to...

Originally posted by hurleybird:
What I suspect you actually mean is something along the lines of "A game where the player is building an empire as normal, but instead of going up against AIs that attempt to behave as meaningful, similarly endowed competitors goes up against up entities that have no pretensions to appear as anything other than automatons." Which, to be fair, might be a lot of fun, and there's nothing wrong with such a setup in and of itself. Just make no mistake -- at that point you aren't playing anything that you could reasonably call a strategy game. Maybe a tactics game if you want to be generous ;)

To rephrase that, the key is to the demote AI role to a level where it doesn't need to make difficult, strategically deep decisions. But that has nothing to do with asymmetry. You could demote the AI role by itself and get asymmetry, or you could demote the player role as well and get symmetry. This is the proof that the degree of symmetry or orthogonal to AI hardness. If you decide to respond to anything, please respond to this! In either case, you'll have a much easier time creating an effective AI.

So, the demotion of the AI is the important point, not whether the game is asymmetric or symmetric. But the moment you demote the AI role while maintaining the player role you remove the strategy component. Internal problems aren't strategic. Playing against obvious automatons isn't strategic. You aren't left with a strategy game. I know that you and Marfig viscerally don't want to accept that, which is why you continue to espouse the vague (and of itself irrelevant) notion of "asymmetry" rather than confronting the actual relevant factor (demoting the AI role) but I'd put forward that not being a strategy game isn't necessarily a bad thing. Strategy games are hard. Most of them suck. There are plenty of great non-strategy games. And if you can feel like you're making strategically interesting decisions -- even when you aren't -- and having a good time while doing so, then that's just fine.
Originally posted by Anguille:
- Races do surrender when they see they don't have any chances.

That's MoO 2! But if you haven't yet you should check my recent updates in the DG thread, where I go into all sorts of details about the new diplomacy system and the various changes from MoO 1 :)
125
Jun 27, 2019 @ 12:34pm
Extermination Good, Enslavement Bad?
Originally posted by NKlein1553:
There are also many historical examples of compartively liberal polities devolving into authoritarian rule over relatively short periods of time, at least partially as a result of sustained propoganda efforts, Weimar Germany being a prime example. In this sense, at least as a matter of principle, decisions not to censor can be equally "dangerous" as decisions to censor; there are many roads to serfdom.

The issue with that assertion is that Weimar Germany did have hate speech (at the time called "religious libel") laws, and they were applied fairly often. This arguably helped the Nazis in a couple of ways: First, by being able to frame themselves as persecuted victims speaking truth to power, and second, by being able to exploit the lack of strong structural safeguards against authoritarianism when they eventually got into power. That's not to say that the ultimate result would have been different had the Wiemar republic been less censorious (it's possible, but probably not too likely) but their historical attempts to censor certainly didn't do any good.

https://www.cato.org/policy-report/mayjune-2015/war-free-expression
Holocaust denial should absolutely be protected speech, at least as far as government is concerned. It's obviously fine (and generally preferable) for society as a whole to attach an enormous negative stigma to the viewpoint, but any government (which unfortunately includes large swathes of Europe) that persecutes people for having wrong opinions (holocaust denial is in and of itself a factual assertion, which while usually synonymous with bigotry does not need to be) is both contemptuously totalitarian, and also contemptuously stupid for lacking the ability to realise that becoming totalitarian in the present for the purpose of fighting totalitarianism in the past is a losing proposition.

But even if all of that weren't the case, there's the fundamental flaw of applying binary sorting to a set of assertions that exist on a spectrum. No one really denies the holocaust in the technical sense. Instead, what we call holocaust denial is actually the act of questioning the magnitude of the holocaust to the point where we deem the speaker apologetical. So, someone who says that the holocaust only killed 20% of the consensus value is labelled a denier. On the other end of spectrum someone who says that the holocaust killed 80% of the consensus value is *probably* safe. Where the exact line gets drawn nobody really knows. And that's a huge problem for a right as fundamental as speech, where we should err on the side of caution -- because of how dire things get when that right is sufficiently abridged -- instead of leaving everything to the whims of some judge's subjective feeling.

And on top of everything else, even an otherwise prosperous western democracy (like present day Germany) that so lacks structural rigidity that criminalising speech on historical factual assertions is even possible in the first place is only a few steps away from an Orwellian nightmare. If there's nothing to stop a government from criminalising holocaust denial, then there's also nothing stopping that same government from criminalising any other politically disagreeable idea, be it questioning any other of the state's historical records, or even criticising the state itself. These sort of memory laws are literal thought crime. It's absolutely despicable.

Quite frankly, everything else being equal (and to be fair, they usually aren't), if you deny the holocaust you're probably a bad human being. But if you want to deny other human beings the right to deny the holocaust, you're probably even worse.
It's Steven, not Jeff.
29
Jun 19, 2019 @ 6:32am
e3 2019 Trailer Dump
87
Feb 10, 2019 @ 1:50pm
Should we pay for DLCs that improve the AI
Originally posted by Gregorovitch:
I think this principle is taken to extremes with game AIs. The AI of a 4X game is absolutely central to how the player experiences the game, how they feel about it, so at least a part of producing a game AI is certainly art IMO. But game AI is also at the bleeding edge of AI research 'cos it's so damned difficult. So it's also very much science and engineering as well. Technique++ so to speak.

So we have a position were the overall design of 4X games today is so sophisticated that the technical requirements of their AIs needed to truly fulfil the games' artistic visions exceed the technical ability of those trying to write them. Like punk rockers trying to play jazz.

I'm realising now that I may have answered the original question as if it was about the overall design and production of a game rather than just its AI. After rereading, I'm not totally sure how it was meant to be taken one way or the other. For the later though, I actually agree cadfan's assertion regarding the best way to approach things as developing an AI doesn't really fall under artistic endeavour.

But, to a large extent at least, I disagree with what you've just said. You would think that what you've said would be the case, but in my experience I haven't found that. What I've found is that in general, a person who can play a game at a high level will make a better AI, while a better programmer will make an AI that is faster and more readable. Which isn't to say programming skill doesn't help, just that it's somewhat secondary to game sense. But of course, programming ability raises the ceiling for what can be accomplished by virtue of pushing back the point where code becomes a convoluted, hard to work with mess. Looking at the sad state of AIs in the 4X genre as a whole though, I don't think many developers get near that ceiling in the first place.
Originally posted by cadfan17:
It’s true that the AI has to play by rules or else it harms immersion.

I'd say that it isn't the fact that the AI is cheating that harms immersion, it's that the player notices it cheating. Giant armies or fleets appearing out of nowhere is one thing, a 5% bonus to production is another. Therefore if an AI needs to cheat, I think it's generally ideal to give it a number of small bonuses spread out among as many places as possible, rather than one big lump sum in a single area.

Originally posted by cadfan17:
But that doesn’t mean that it has to play by the same rules as the player. It just has to play by rules that fit the narrative of the game. I think that asymmetry between player and AI is an under explored way that 4x games could improve.

Sure, although of course after a certain point things begin to blur regarding whether we're still in the 4X genre of not.


Originally posted by cadfan17:
I think the demand for symmetry is due to a norm of making the AI operate a player style faction in a manner akin to a human opponent.

I'd say that one of the greatest design sins of the genre for the longest time has been phony symmetry. Systems that only operate on AI and not players (eg. diplomacy modifiers) or that the AI needs to purposefully gimp itself for in order not the ruin the game (eg. Tech trading, Orion senate vote) and that designers should instead, well, pick a lane.

Originally posted by cadfan17:
In essence, most 4x games are PVP with an AI pretending to be the other human players. But a PVE 4x could be created. And as PVP with bots is universally accepted as the worst way to play games... we might see some real gains from this perspective shift.

To be honest, that seems like a gross oversimplification. The whole point of 4X as a genre is that you have emergent narrative. The way that the players and AIs grow, develop, and interact throughout the game is the core narrative thread. And the fact that this narrative thread can be wholly different for each playthrough is a huge part of what makes the genre compelling. That's not at all comparable to, say, playing a bot match in Quake. In fact, while asymmetry will tend to strengthen narrative initially, the opposite is true when you average narrative depth over many playthroughs by nature of actors being more boxed into specific roles.


Originally posted by cadfan17:
In my time managing projects (not AI programming for 4x but I think analogous enough for this sort of high level comment) I learned a simple lesson. If possible, structure what you’re doing up front so you won’t have to do a hard thing later. Envision the project from the start in a way that you know you can complete. That’s the real hard part. Understanding your capabilities and planning a project that’s within them.

To... an extent. In general, that's a great way to make a product and a terrible way to make art. Game development being a combination means in most cases you shouldn't be too rigid (possible counter-examples being iterative sequels eg. Call of Battlefield XII), even if some degree of structure is necessary. In general, the larger the team the more that things should be laid out in advance and the less fitting an iterative, organic approach becomes.
Originally posted by GrenadeMagnet6:
If Remnants of the Precursors every releases I'll be curious to toy with the AI myself, once the code is made open-source.

You can do this with 1ooM today!

Originally posted by GrenadeMagnet6:
What if we offered to pay the developers to open up the AI parameters and behavior to the players? Tack on an "AI Behavior" control panel or config file so each player could tweak the AI behavior to their own liking. Then players could share each other's AI behavior, perhaps vote on which AI configuration works the best.

There's no free lunch. The layers of abstraction necessary to construct an AI at a higher level is less flexible and has a performance cost. But it does increase accessibility and the necessary encapsulation provides a degree of safety. I've been on both side of the equation (I built Swiggins bot for the MOBA game Awesomenauts) and I definitely prefer to be closer to the metal.
9,586
May 9 @ 7:58am
Stellaris Megathread
Showing 1-10 of 80 entries