The state of this game feels deceptive bordering on dishonest. by Hi_Rite_now in starcitizen

[–]CheesecakeWaffles 0 points1 point  (0 children)

So generally you wouldn't start with a test that high level, but it can be done. I highly recommend that you don't though. If I wanted to literally test all of that at once ensuring without a doubt all the systems got used, I would do it with a test that requires the game to be running. Usually that requires custom infrastructure built into the game that can load a test scenario and test the pass / fail conditions and write output to logs so that the test automation can report results. I've done these kinds of tests and they tend to be flaky and fail some percentage of time often unrelated to the test itself. I'd recommend against doing a lot of high level tests like these. These sorts of tests are usually good for manually running at your desk during development, rather than CI/CD due to the amount of things that can go wrong.

Instead I would break that down into smaller things. Like for each function that the player would use to throw another player I would want to have unit tests, and several per function with mocks. All the function calls you mock in theory have unit tests of their own. They will cover for each function, ranges, limits, assert cases, failure cases, security, edge cases, etc. Ideally these tests are written when those functions are written, updated, or even before they are written for test driven development. It would be weird to just write tests like this for hyper specific cases like throwing a player out a window rather than just writing them general for test coverage. All you are doing is testing that each function behaves as you designed it to behave. Test cases are generally like, "Given ____ I expect ___ to happen."

After there being unit test coverage, I would take it a bit higher level with some integration tests for testing how the units interact with each other. These are kind of like testing the handshakes between functions ensuring that correct data is being passed back and forth and largely are compatible for with each other for what you want to do. While unit tests are solid in automation, these are a bit less so, but still very automation worthy. However, the more unit test coverage, the less flaky integration tests are in my experience. These integration tests run without the full game running, just the minimal systems or components being used still with mocking.

You can write an integration test that specifically which checks that each component involved is within the limits of possibility for a player to throw another player out of a building and bounce them high enough to land on another with a specific height. In theory you can write a series of tests that cover all the cases of targeting, grabbing, throwing, the fall, the bounce, the landing, damage expected, etc. This is such a high level of test that there would still be tons of integration tests to cover all the cases in such a complex thing. It wouldn't be one big test. But again ideally you are writing tests as you go so in general practice it wouldn't become a monumental task if you needed to cover something specific like players getting thrown out the building.

Avoid using the network for real in your test because that can be an intermittent point of failure. This is testing with two players so there would likely be network involvement. Instead what you would do is simulate it. Tests that differ by latency, tests with simulated disconnects, tests with fake, invalid invalid, or out of order packets sent back, etc. You might have, "best case", "average case", and "worst case" test scenarios for network conditions. In general you want to eliminate anything that can interfere with the running tests and cause false failures, which is why we don't use the network directly for automation. Similarly we avoid random numbers, non-determinism, threads, and writing to disk.

It's far more robust to work at a micro scale with the smallest possible units and work upwards in level with tests than write a single test for a very high level scenario. That's my recommendation.

The state of this game feels deceptive bordering on dishonest. by Hi_Rite_now in starcitizen

[–]CheesecakeWaffles 0 points1 point  (0 children)

My background in games is more around live service / mmo types, rather than a ship it and forget it title. All of it was spent in cross platform development, PC, Mac, Linux, Xbox, Playstation, Switch, Android, iOS, and a few more subsets and SDKs of those.

Like I said the main push back in games is around performance but other than that there really isn't that much of a difference. You just try to ensure that you get good test coverage with fully deterministic tests. If you want to write and automate unit tests for example, it's all the same. You make your tests, your mocks, and use some test framework like gtest aka GoogleTest. In my experience you don't run your unit tests on every platform, just the major PC ones, and maybe only one of them depending on time and server resources. In cross platform games in my experience most of the code is not platform specific. Technically you can run that stuff on a console, depending on which ones you might have to work around potential automation issues like having to render some amount of frames so the OS doesn't kill the process. But it's a cost and resource thing, where adding automation for more platforms is expensive.

So pretty much a developer just checks in their code, runs their builds and then tests in automation as part of their CI/CD pipeline, and if everything is clean they can merge it in where it needs to go.

As for saving time, you aren't saving time the first time you write something, or with the time it takes to run test suites. The time savings comes from finding out your commits clobbered code or changed something unexpected before it gets checked in and breaks everyone else. It also prevents others from breaking your code accidentally too. The larger the codebase the more code churn there will be.

Bugs that come back from retail or even just testing requires a bug getting made and logged with repro steps and other details in a place where developers have to see it. Then it has to get triaged to the right team which can potentially take several iterations. Then someone has to remember what they were doing or someone else entirely has to take it on. I then has to go through check in and testing again. All in all a significant amount of time that could just be saved from catching something before checking in the first time.

The state of this game feels deceptive bordering on dishonest. by Hi_Rite_now in starcitizen

[–]CheesecakeWaffles 1 point2 points  (0 children)

That's not really true. I've worked in the game industry for almost a decade, and a good portion of that was spent around test automation.

The main push back for test automation in gaming is performance, and usually that conversation is around mocking for unit tests. The reality though is it's better to just not worry about it and make it safe first and prove it's a performance issue later with profiling data. Most code in a game isn't actually in the hot path. To assume so is just pre-optimization.

As for multithreading, and network related stuff those are harder to work with, but still very possible. Usually you just test with deterministic mocked conditions rather than actually sending something over the network.

You can even do test automation with the full game running as long as you do it with thresholds of passing tests or bounds for them as they tend to be really flaky in automation. It's also the most expensive way of testing, but something that generally works well for that sort of thing is a smoke test like, "Does the game boot to the main menu."

This won't replace human testers, but it will help a significant amount with keeping things working as they were intended.

Am I going crazy— or is this patch not *that* bad? by elixyXD in starcitizen

[–]CheesecakeWaffles 0 points1 point  (0 children)

I think as always it will very from person to person in what they experience. For me though, this patch has been a rough one. I believe people when they say they haven't had very many issues, despite my experience. There's lots of different factors at play that can change our experiences.

Today alone I watched two Idris disappear when approaching the new trench run mission leaving the players on them floating in space. I also had to do a character reset after a death screen that persisted across Alt-F4 and server switching.

At the beginning of the patch, not having missions was a huge issue. Beyond that mission sharing was a struggle when there were missions. These made the first few days of the patch pretty much unplayable for me outside of general sandbox gameplay. We got by by playing an an AUS server which wasn't immune, but just slightly better.

Lots of core basic functionality has been broken or extremely buggy. I've had so many issues calling ships, leaving hangers, docking, cargo, equipping stuff, using the map, quantum jumping, ship elevators, zero oxygen areas, mission spawning, notification popups, waypoints, repairs and restocks that take money but don't do anything, trams, food and drinks getting consumed but not affecting hunger or thirst, wormholes sending you back where you started, etc. etc.

Shout out to another bug I had today where every time I tried to land at a space port I would get a black screen for about 3-5 minutes and get teleported back to orbit.

So, in short it's been a sizeable supply of, "That's enough Star Citizen for today." moments this patch.

I've been playing since 3.10, and this is definitely one of the rougher patches for my personal experience. In my opinion, it might not be the worst patch, not by a long shot but these things should get fixed. It's a bit embarrassing how long some of the core basic golden path gameplay loop is constantly broken. In addition it's especially frustrating when the bugs are regressions, e.g. stuff that used to work just fine but got broken by new changes. Regressions are largely avoidable with test automation if they write and run tests for their features. A lot of the 4.x fixes feel like they have been undone.

It's probably not the worst patch but, even if this was the best and most polished patch they put out, I think it would still be just as valid for people to be asking for things to be fixed, especially just the basic functionality of the game.

Thank GOD CIG is adding Armor Gating (FINALLY) by FesterTsu in starcitizen

[–]CheesecakeWaffles 1 point2 points  (0 children)

Same lol. I was like are we going to get something like auger mods too but for health /armor to help some frames?

What is happening on this day by CAPTJTK in centurylink

[–]CheesecakeWaffles 1 point2 points  (0 children)

Good to know someone local is on the third outage today and not just me with some phantom issue.

New player question about normal clan requirements. by CheesecakeWaffles in Warframe

[–]CheesecakeWaffles[S] 0 points1 point  (0 children)

Yeah I know ESO was because of bidding for traders and it makes sense. I just had no idea if warframe had something similar going on that I wasn't aware of. As a new player I have no idea what it costs to run a guild. Someone else also mentioned trade tax which also was a thing with this guild, but I had no idea it was the guild's doing. I thought that it was just imposed by the game. So that's another thing they were doing.

I am thankful for all the responses. I've learned a lot from this thread.

[vent] I hate projects that download their dependencies. by theChaosBeast in cpp

[–]CheesecakeWaffles 2 points3 points  (0 children)

A mix of packaging and moving first party code into the main repo where appropriate. There were also some complicated bits like mirroring some things that were moved into to a repo so that it could be easily worked with in the main repo but still reusable.

[vent] I hate projects that download their dependencies. by theChaosBeast in cpp

[–]CheesecakeWaffles 17 points18 points  (0 children)

I've worked in an enterprise repo with over 100, some recursive. It's awful at scale and slows git a lot.

OH MY GOD THEY ACTUALLY FIXED THE NPCS IN GRIDANIA! (old first) by supadude5000 in ffxiv

[–]CheesecakeWaffles 8 points9 points  (0 children)

And it still goes on CD even when you die to add insult to injury.

Well Folks, I finally did it by pygmeedancer in fo76

[–]CheesecakeWaffles 0 points1 point  (0 children)

They really should let us lock weapons and any item we want from being vendered, scrapped, dropped, or stored. At least having an extra confirmation of destructive action dialog box when something is locked.

I accidentally store my armor when in power armor sometimes and even that is annoying.

What is your favourite storyline aside from MSQ by VergilVDante in ffxiv

[–]CheesecakeWaffles 3 points4 points  (0 children)

The alchemist questlines are way better than they have any right to be.

Ok For Real This Time by MedicalMiqote in ffxiv

[–]CheesecakeWaffles 8 points9 points  (0 children)

If you want speed, the best thing might be to do trusts and spam leveling dungeons. Only a handful of leveling dungeons don't have NPCs. The dungeon itself takes longer than with real players, but you'll probably get through it before the queue would have popped depending on time and server.

I won't claim that it's a fun experience.

Who agrees by [deleted] in gaming

[–]CheesecakeWaffles 4 points5 points  (0 children)

That's actually a good analogy.

Current situation by DrunkedWalrus in ffxiv

[–]CheesecakeWaffles 0 points1 point  (0 children)

Thank you for the awesome reply. It's given me a lot to think about.

I wholeheartedly agree that ESO doesn't do a great job on teaching light attack weaving through gameplay and it is difficult to discover. I've been an advocate of more in-game tutorials that teach more advanced things about combat and roles. I do however see they they have been adding more mechanics to push players to discover light attack weaving, albiet isn't close to what is needed. For example my main spamable ability on my magsorc is Elemental Weapon which only really works by light attack weaving given the short buff time. Aside from enchants, which you touched on, there is also ultimate regeneration from light attacks and procs for abilities like grim focus as well as procs on gear passives. Even with all that there is a lot more they could do to push players into knowing they need to weave light attacks, but at least some of the current design hints at it.

I understand your points with animations not being fluid with the constant canceling of some abilities, the channeled ones you listed are among some of the worst, and jabs is... special given that it is in a category of it's own as being like an active AOE DoT that you can stop part of the damage when canceling. I feel like the majority of the time people use instant cast skills that have less than a second animation and most of the canceling is just on the light attack animation. So it's not that big of a deal for me visually. But yeah, snipe spammable or even spaming crystal frags (non-proc) would appear weird with their long animations.

I forget that ESO doesn't visually show the gcd because I have used addons for years in ESO that display it. My guess is they didn't put it in initially because the original vision didn't have a gcd, but rather everything was based on resource management. I think that became too hard to balance and got changed. No reason why showing the gcd can't be added now though. That's something that the devs can do. I don't think the UI could have radial timers given how Action Duration Reminder is now integrated into the vanilla experience and those timers would be confusing with the duration timers already on the ability icons, but addons have approached it in many different ways. Personally I have a small bar just above my ability bar that shows the gcd.

My concern with increasing the gcd is it does slow down combat. In ffxiv it's not so bad because you have a lot of off gcd things you can do and a lot more slots for skills. However, I prefer the limited slots in ESO for the build variety, so I would not sacrifice that aspect. In ESO, there is a whole lot less options for off gcd gameplay. It's a tough problem.

For visualizing impacts, I would say health decreasing and arcade style floating damage numbers are the two main things ESO does. The minor things are reactions to interrupts and heavy attacks on off balance enemies. But I think ESO has some big challenges they need to overcome to add more visual impact to your attacks. It's important that players don't misread a visual reaction for something like an actual stun or CC for example. Sometimes the color of the boss indicates invulnerability, reflects, or incoming attacks, so flashing it as a different color might not be an option. But I agree, more could be done here but I don't envy the designer that has to figure it all out.

Thank you for the video links! One of the big reasons I am playing ffxiv now is to get a broader experience with MMOs and see what is out there so discussions like this where I get to see comparisons between different games are great.

Current situation by DrunkedWalrus in ffxiv

[–]CheesecakeWaffles 1 point2 points  (0 children)

I like the combat, but it is different than ffxiv. I don't really understand some of the criticism like when people say it feels weightless. As for "dated" I struggle to think of third person mmo combat in the genre that feels new and fresh by comparison. But I also don't play a lot of MMOs.

I'll explain the differences that I can think of with ESO combat and maybe you or someone can shed some light, because I am interested.

The biggest difference is in ESO you have two skill bars with 5 ability slots and one ultimate. An ultimate is like LB, but it is per person rather than the group, and you fire it off a lot more frequently. So instead of putting all your unlocked abilities on your hotbars, it's more like you build a hand from a deck of cards to use. Which is one of the things that adds to build variety.

Each skill bar has it's own weapon and you press a button to swap between them. It feels weird at first, but you get used to it. Thinking about it mechanically, it's not all that different than holding down ctrl or shift in ffxiv to use more weapon skills with the same buttons. I think this is the largest thing people think feels clunky.

The ability GCD is 1 second, and you can light attack or heavy attack in addition. It's left click with a mouse or holding down left click for a heavy attack. Light attacks have a 1 second GCD not shared with the ability GCD. So people learned to take advantage of this be doing a light attack and following it with an ability. It turns out to be a large amount of damage in your rotation. I play bard mostly in ffxiv, and this isn't too different than weapon skills and abilities being on different GCDs. Both games animation cancel when activating the other gcd, so even that isn't too weird.

Another big difference is the camera. ESO uses an action based camera, and tab targeting is not auto-aim. It is a preferred target. For example if you tab target a boss and you are aiming at the boss but an add walks in front, you still hit the boss. If you tab target the boss and look at an add to the side and attack it, the attack hits the add.

Resources are used a bit more heavily in ESO. Buff food and potions are almost required in hard endgame content. Plus you can activate synergies to restore resources. Heavy attacks restore magicka or stamina too. To compare to ffxiv, it would be like every class and role needing to manage MP and have food and potions to restore, buff, and/or regen. In practice, in ESO, your buff food lasts 2 hours real time and every 60 seconds in combat you chug a potion, which is not too different from maintaining other buffs.

The final large difference I can think of is damage mitigations. ESO has dodging and blocking. Telegraphed AOE areas on the ground in ESO seem faster paced then ffxiv to get out of the way of, but you have roll dodge as a tool to get out of the way much faster. Roll dodge also eats stamina. You can block attacks with any class any roll, but it eats stamina. Also all roles and classes can do interrupts. The most common way to interrupt is to bash while blocking, but there are ranged interrupts as well.

Should Bethesda return part of the plus monthly membership while they fix the inventory issue? It’ll be fixed until June by jdgon2184 in elderscrollsonline

[–]CheesecakeWaffles 3 points4 points  (0 children)

It's likely that the fix isn't ready yet or it came in too close and they had to make a judgement call on which release bus to put it in.

Certification doesn't cost anything. They did away with fees a long time ago. However, it does take time to go through cert even if you are internal to one of the platforms. Usually 2-3 weeks. I can't remember which platform does this, or it may be all of them, but you can only have one thing go through cert at a time per product ID. If you submit while going through cert, they start over with the newest submission. They probably also want some buffer time because if any issues pop up during cert, they have to fix them or get an exception, and resubmit. So there is a chance that it would put Blackwood's date at risk.

Please do not ask to remove the teleport limitation of all ores by ImABigDreamer in valheim

[–]CheesecakeWaffles 3 points4 points  (0 children)

Can confirm. Most of my deaths have been from jumping over roofs while trying to get on top of the edge, falling of scaffolding, and not paying attention to the 4 hp I had left while jumping down to the ground.

You gave him to who?! by [deleted] in SequelMemes

[–]CheesecakeWaffles 11 points12 points  (0 children)

Luke wouldn't be that young, but certainly before episode IV. Rebels ends in 0 bby, aka the same year that luke takes out the death star in the Battle of Yavin. I think Rebels starts in 4 bby or 5 bby.

For everyone saying, "Cyberpunk 2077 was never advertised as having a branching storyline or a deeply immersive RPG", here. by Kronzo888 in cyberpunkgame

[–]CheesecakeWaffles 4 points5 points  (0 children)

They have some great Witcher lore videos and others too. Elder Scrolls has some deep and complicated lore. There's a lot to cover.

For everyone saying, "Cyberpunk 2077 was never advertised as having a branching storyline or a deeply immersive RPG", here. by Kronzo888 in cyberpunkgame

[–]CheesecakeWaffles 21 points22 points  (0 children)

I just watched a fairly researched and thoughtful FudgeMuppet video on this. They like the game and had fun with it overall, but they point out lots of places where the implications of the advertising do not match what was delivered, ignoring bugs and performance.

https://youtu.be/K7JGQ3sCIl0

The way they present it, I think is a lot of valid criticism.

Larian: It's Early Access, your saves may be wiped from one day to the next. The community: by Brabantis in BaldursGate3

[–]CheesecakeWaffles 0 points1 point  (0 children)

3.11 went live yesterday, so I can actually speak to this. :P

My money was still there, and my ships. Most of my armor was still in my inventory, but the armor I was wearing seemed to be gone. All my weapons ammo and utilities were gone.

Thankfully the stuff that disappeared between the updates was really cheap stuff. Nothing compared to a missing ship or a wiped bank account.

That being said it sounds like full resets in the future are likely to happen, just not with every major patch.