Realm667 / WolfenDoom

"WolfenDoom - Blade of Agony" | Important: This is only meant for development and testing purposes. You are NOT ALLOWED to use material from this repository for your own projects. Important: This repository is for development and testing purposes, you are NOT ALLOWED to use the copyrighted material for your own projects without our permission!
http://boa.realm667.com
259 stars 26 forks source link

[3.1] Achievements System #724

Closed Shockwave508 closed 3 years ago

Shockwave508 commented 3 years ago

After seeing what the SWWM GZ mod had done with its Achievements system, I've wondered if the BOA team plans on implementing something similar one day?

Examples of possible Achievements would have to do with mission/episode completion, getting 100% kills/secrets/treasure in every playable mission, certain in-game actions (what kind, I don't know), or even tackling the game on Blazkowicz Job/Mein Lieben difficulties.

EDIT by AFADoomer: List of current achievements (those in bold are planned but not yet implemented; need more supporting work, πŸ”΄ still need icons, 🟑 are incomplete or need re-work, 🟒 are complete):

AFADoomer commented 3 years ago

@Shockwave508 - I just tested all of these with the current build, and they work for me... Do they behave differently from a fresh game?

The individual trophy pickups are tracked in the fourth achievements CVar, which isn't cleared automatically (this CVar is also used to track play time and number of saves). You can clear it manually by entering set boa_achievementrecord3 "" in the console, or by entering netevent achievement 50 -1; netevent achievement 51 -1; netevent achievement 52 -1 to clear the specific trophy records.

Shockwave508 commented 3 years ago

Just started a fresh run, and it's all working now. Note to self: Always start a fresh playthrough after updating to the newest GitHub build, if any code is edited in the commits.

Screenshot_2021-06-26-12-58-47-917_com opentouchgaming deltatouch

Tormentor667 commented 3 years ago

Awesome. Thanks for testing it yet another time :)

Shockwave508 commented 3 years ago

Side note: It seems that Assassin and Gunslinger progress doesn't save between missions/sessions. Gold Digger and Treasure Hunter remain stuck at their current values, post-C1M1, yet I've been very diligent with the treasure hoarding, both with gold and supply keys. Screenshot attached, post-C1M3. Regarding Trophy Hunter, only the Cacoward is sitting on my table at the moment, yet the Keenaward and Naziward icons are still lit up. Screenshot_2021-06-26-14-23-17-259_com opentouchgaming deltatouch

AFADoomer commented 3 years ago

From my previous post: The individual trophy pickups are tracked in the fourth achievements CVar, which isn't cleared automatically (this CVar is also used to track play time and number of saves). You can clear it manually by entering set boa_achievementrecord3 "" in the console, or by entering netevent achievement 50 -1; netevent achievement 51 -1; netevent achievement 52 -1 to clear the specific trophy records.

Shockwave508 commented 3 years ago

Followed AFADoomer's instructions to-the-letter, yet all three Trophy Hunter icons still ping as "acquired", despite only having the Cacoward (which should therefore only light up the "C" icon). I suspect it may be an issue with the achievement list itself. As proof, I had set boa_achievementrecord 3 to "" as directed, as the Go Outside achievement shows a playtime of 26 seconds.

Screenshot_2021-06-26-18-36-33-064_com opentouchgaming deltatouch

AFADoomer commented 3 years ago

Did you start a new game, or restore from a save?

Shockwave508 commented 3 years ago

Tried both, and the issue persisted. Started a fresh game from Chapter 1. Trophy Hunter icons were still lit when I got to the achievement board. Loaded my most-recent save, before C1M4. Same result.

MuadDib90 commented 3 years ago

@AFADoomer @Tormentor667 @Username-N00b-is-not-available Achievements - I tested nearly all of them.

The picture is the old built - but also tested on the newest one, where the scroll is already available. Nice work btw. Are we planing some discription for at least some of them? Because for example nobody will know they have to fight Loper with only a sword to achieve this one.

Shockwave508 commented 3 years ago

Just wanted to confirm that the new Achievement Menu works properly with Delta Touch and gamepads! πŸ‘

Screenshot_2021-06-27-08-17-01-811_com opentouchgaming deltatouch

Username-N00b-is-not-available commented 3 years ago

@MuadDib90

Shockwave508 commented 3 years ago

Certain incremental achievements still aren't saving between sessions, and/or are stuck, whether they're embedded in savegames or CVARs. Affected achievements are as follows.

1) Gunslinger (resets between sessions) 2) Assassin (resets between sessions) 3) Spam, spam. spam. quicksaves and spam (resets between sessions) 4) Feel The Burn (resets between sessions) 5) Liquid Death (died from drowning in water in C1M2, yet I did not get credit for that?) 6) Treasure Hunter (only registered the supply chest that was opened in INTERMAP/Chapter 1; opened the ones in C1M1 and C1M2, yet did not get credit) 7) Gold Digger (got stuck after picking up all treasure in INTERMAP/Chapter 1 and C1M1; didn't increment after C1M2) 8) Trophy Hunter (only have Cacoward, icons for Keenaward and Naziward are lit up despite not having them)

MuadDib90 commented 3 years ago

@Username-N00b-is-not-available

AFADoomer commented 3 years ago

OK, I re-worked the liquid death means-of-death logic in c10ba7e18634fe45a57ef5ac350bc5e960a757f8, changed some things with how values are read (or not read) from the event handler on save load versus new level in 68059e0230b911ad54b03a7690ddc29b87cb6322, and made some tweaks to the summary screen UI, including fixing the check for trophy pick-ups in f0d49dbd440bfbe689c910cff0d4faf15346af68.

These should fix most of the functionality issues mentioned recently. Should. Please test πŸ˜„.

MuadDib90 commented 3 years ago

Will do, thanks, AFA.

Shockwave508 commented 3 years ago

Trophy Hunter achievement's working properly now.

May I suggest a tracker on one side of the screen, showing how many of the available achievements you've attained, something like "8/35 Achievements"?

Screenshot_2021-06-28-05-00-52-116_com opentouchgaming deltatouch

Shockwave508 commented 3 years ago

The Liquid Death achievement still doesn't store its criteria properly; I deliberately drowned myself in C1M2, yet the "blue" box wasn't lit up by the time I returned to INTERMAP.

AFADoomer commented 3 years ago

Does it show up immediately after you die and respawn? Use 'openmenu achievementsummary' in the console to see the board at any time.

Shockwave508 commented 3 years ago

Had the menu open while drowning in C1M4. The first criteria box turns blue, but it isn't saved to the CVARs, as it returns to its locked-gray state upon loading from your latest save.

AFADoomer commented 3 years ago

03d06ac2991bd3d05f2faafaebdbc43a6d7dab44 should resolve this issue.

MuadDib90 commented 3 years ago

OK, I re-worked the liquid death means-of-death logic in c10ba7e, changed some things with how values are read (or not read) from the event handler on save load versus new level in 68059e0, and made some tweaks to the summary screen UI, including fixing the check for trophy pick-ups in f0d49db.

These should fix most of the functionality issues mentioned recently. Should. Please test πŸ˜„.

After testing, everything works smootly. Good job, AFA. πŸ‘

Shockwave508 commented 3 years ago

Liquid Death still isn't registering properly. Drowned myself in C1M2, and it didn't save to the CVARs.

AFADoomer commented 3 years ago

From a fresh game?

Shockwave508 commented 3 years ago

Yep, fresh game, and it didn't save.

AFADoomer commented 3 years ago

Where specifically are you drowning yourself?

Shockwave508 commented 3 years ago

Specifically drowned myself in the drop-down shaft into the shark-infested area, shortly after killing the first Dr. Schabbs Jr..

MuadDib90 commented 3 years ago

@AFADoomer I tried to drown in C1M2 according to @Shockwave508 and it did counted: 03 drowning in water set But the oddity is it caused VM abort: 02 VM abort

Shockwave508 commented 3 years ago

Drowned myself in C1M4, and the blue portion of the Liquid Death achievement was saved properly, and without a VM Abort. Screenshot_2021-06-29-15-30-24-578_com opentouchgaming deltatouch

AFADoomer commented 3 years ago

I can't reproduce either the failure to log in C1M2 or the VM abort... I've drowned myself half a dozen times in various places in the tunnel and the value is always saved properly, even across unrelated saves.

I've fixed what I think might have caused the VM abort here: dad605652a01ec5b6090f8bc2a7b40133a446831 - but can't really test.

MuadDib90 commented 3 years ago

Sure, will test. Thanks.

EDIT: Tested on newest GZDoom dev built and works fine.

MuadDib90 commented 3 years ago

Btw the current state of achievement board looks really impresive @AFADoomer. Good job. :)

x3003 commented 3 years ago

Still missing one though. That's when you kill like 100 (or more ?) with the shovel.

AFADoomer commented 3 years ago

That's easy enough to add. Done in 258f3defe5727de929160afbb4c41739c105c629.

MuadDib90 commented 3 years ago

But in this case, we should except zombies ("Kill 100 enemies (except zombies) with a shovel."). Because in C3M0_A it is an easy job. All the more the player is using the shovel naturally in here. And there is that side quest of killing 300 zombies...

AFADoomer commented 3 years ago

Updated the check to only count Nazi-species actors (except for mutants) in 29ff828e9297b46756553bc31a2bf696ae9d6d2e.