After finishing Dark Souls 3, here are my updated official FromSoft rankings:
1. Sekiro đ„·
2. Bloodborne
3. Elden Ring
4. Demonâs Souls
5. Armored Core 6
6. Dark Souls 3
7. Dark Souls 1

AI companies will fail. We can salvage something from the wreckage
AI is asbestos in the walls of our tech society, stuffed there by monopolists run amok. A serious fight against it must strike at its roots
The GuardianMastodon canât seem to decide on how it wants to spell âfavoritedâ đ
Also to be clearâŠthese âwrappersâ would really just be alternatives to the D3D interfaces but would essentially expose the exact same methods, with the same names and parameters. So they wouldnât really be providing an alternative abstraction or anything, just a nicer view with less crust and helpful comments.
Anyhow, interested to hear if anybody has thoughts good or bad so feel free to share.
The one Iâve been thinking about the most is whether root signatures should be exposed, or to what degree. Theyâre a pain point for beginners, and if you assume bindless you can skip nearly all of it. But that would make the wrapper more opinionated, and itâs not clear how exactly it would work.
Thereâs plenty of design questions so far, some minor and some more major. The largest probably being which features to exclude. Some are less controversial, like dropping legacy barriers or vertex buffers. Others are tougher, like whether geometry shaders or descriptor copying should make the cut.
Itâs not at all clear to me yet that this a good idea that would have value, and be worth my time. But it does seem intriguing to me, especially since D3D12 has changed so much and thereâs plenty of âtrapsâ for beginners to fall into by using legacy approaches.
However I think there would also be an opportunity to throw in some quality-of-life âextensionâ functions help smooth over certain API warts. For example, passing a char* string instead of a wchar* string for SetName or booting up a device with an Agility SDK path.
One of goals would be to directly (re-)expose the D3D functions and types rather than being more opinionated, and have the ability to seamlessly transition between the native interfaces and wrapper types through implicit conversions. This would make it easy to adopt, drop, or punch through.