A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Ideal Game Engine Backend and General Design | Ideal Renderer | Ideal Physics Engine Features | Ideal Audio Features | Ideal AI Features | Ideal Multiplayer and Anti-Cheat | Ideal Mod Support | Long Term Game Support | Ideal Minimum Reqirements | Ideal Game Remaster Features | |||||||||||||||||||||||
2 | Engine backend, renderer, and scripts written in Rust | Extremely multithreaded Vulkan renderer always using either DLSS/DLAA, FSR/FSRAA, or XeSS/XeSSAA, using the latest Shader Model and all features. Rendering should use up to any and all CPU cores/threads and the renderers must be designed around best use of GPU upload heaps, async compute, VK_EXT_shader_object, device executed commands, and work graphs with mesh nodes. | OpenCL 3 physics engine (multithreaded CPU and especially GPU) with fallback OpenCL 2.1 (until ROCm supports OpenCL 3). Hard and soft body physics, liquids, gases, electricity, gravity, everything, with GPU accelerated particle effects for all. Not just a game physics engine, but would also be as thorough as scientific physics simulation software. | Extremely multithreaded | Extremely multithreaded and GPU accelerated, should use Tensor cores if available for more advanced learning features | Client-server multiplayer architecture. No outright master server dependency for multiplayer games. A hosted server would not need to check into a master server - the server binds to local ports and is exposed to the internet by the firewall, and then any player with the server IP and port can join. Master server would only be used for the server browser. If the time ever comes where the master server has to be shut down, just switch to Steam's so at least the server browser survives on Steam. | Mod.io and Thunderstore support, including server side mod API setup | Patch out all bugs | Target = 1080p input resolution, at least 60 FPS, 4x frame generation | Modern engine as abstraction/runtime layer, should also improve modding. Or RTX Remix. | |||||||||||||||||||||||
3 | Extremely extensible and modular allowing for fine control over data architecture, and even programming paradigms such as traditional object oriented or entity component system (supporting this choice both in code and in blueprint), but still with guard rails to avoid stupidity. | Supported primitives: - Triangles - Voxels - NVIDIA Micro-Triangles - "Micro-Voxels" - same concept as micro-triangles, but applied to voxels, along with micro-meshes for these (displaced micro-meshes and opacity micro-maps) I would use the following for games: - Micro-voxel terrain, vegetation, snow, sand and the like - Micro-Triangles with opacity micro-maps for all translucent meshes - Micro-Triangles with displaced micro meshes for most other things | Extremely multithreaded and scalable - should use any and all available CPU cores and threads, should be able to query the system to find underutilized cores/threads and use them. Performance should scale almost linearly with # of CPU cores and threads. | No hard limit on number of sound sources | AI models for non-critical NPCs | Server roles = Player, Moderator, Administrator Default punishments (scriptable - write your own too): - Kick - Game-key ban with configurable duration, up to permanent - Penalty box - strip the player of all items and ability to attack and move, trap them in a prison in the air in a central part of the level, where they can watch the game but any player can kill them. They'll respawn in this prison and be trapped here for the duration. | Mod.io integration in launcher and in-game, for mod browsing and installation/removal | Continuously update engine with the latest and greatest tech, including latest renderer APIs and API features, and more. | Windows 11 or Linux, both 64-bit | 64-bit | |||||||||||||||||||||||
4 | Standard compression for game files, compatible with 7zip. No proprietary compression. | Shader pipeline would only consist of Task Shaders, Mesh Shaders, Pixel Shaders, Compute Shaders, and Ray Tracing shaders. | GPU accelerated with Vulkan multi-GPU support | All game sound effects and voiceovers should have a native recording format of 192 KHz / 24-bit PCM (9,216 kbps), with binaural voiceovers and native surround sound effects. The soundtrack's native recording format should be 384 KHz / 32-bit PCM (24,576 kbps) and stereo (binaural). By default, the game should come with 48 KHz / 24-bit ~1,800 kbps lossless compressed (FLAC) sound effects files, and 96 KHz / 24-bit ~3,000 kbps lossless compressed (FLAC) voice and music files. Higher quality options should be optional downloads and selectable in-game after being downloaded, namely: 384 KHz / 32-bit 24,576 kbps uncompressed .wav (soundtrack only, native soundtrack format) 192 KHz / 24-bit 9,216 kbps uncompressed .wav (native for everything else) 96 KHz / 24-bit 4,608 kbps uncompressed .wav 96 KHz / 24-bit ~3,000 kbps lossless compressed .flac | Support for both behavior tree and GOAP AI, with emphais on GOAP | Unintrusive anti-cheat that'd also be far more effective than kernel-level anti-cheat. Note these should only activate in multiplayer, and it can be improved by the likes of OpenAI: - File integrity hash checking enforced by servers - Hook guard = won't let you attempt to connect to a server with anti-cheat enabled if hooking software is detected (doesn't matter if the software is just running, only cares if it is hooked) besides those that are specifically whitelisted like ReLive, Steam/GOG/others, RivaTuner, Logitech and Razer crap, etc. - Memory damage guard = protects important values in memory from tampering - Dynamic instrumentation guard = multiplayer won't let you attempt to join any server that has anti-cheat enabled if Cheat Engine or any other blacklisted software is running on your PC. - Tamper guard = if anything happens to the anti-cheat libraries and memory values, you cannot connect to a server running anti-cheat - Anomaly detection - the thing no one is doing: - Based on adequate player performance metrics - If a player's performance considerably exceeds those, then the player is definitely using aimbot so kick or ban them or put them in penalty box, up to the server owner - This means any player using undetectable aimbot can only use it to be as good as a real player - The aiming skill requirement for pattern-based aimbot detection should be configurable - by default it kicks/bans/penalizes anyone who surpasses a world class player, but it should be possible to reduce this further to effectively have noob-only servers which also deals with the alternate account issue - Really obvious patterns like a player killing multiple players with 1 shot, a player killing many players instantly, a player's ammo count not draining or having more ammo than what's expected, a player killing others not in their line of sight and when bullet penetration doesn't make sense, all of these should trigger this anti-cheat - The game knows all the possible speeds players can move at - so if a player moves at a speed outside that range, they're cheating so take care of them - The game knows the map boundaries - so if a player leaves them, deal with them. Yeah this would affect anyone who accidentally clips out but the game should be polished so this shouldn't be an issue, and they can always rejoin and get unbanned if needed. Not to mention all games I'd like to design would put the player in the backrooms if they clip outside of map boundaries. Anomaly detection would be its own option with all the customization beneath it. Beyond that, all the other anti-cheats should be grouped together under a blanket on/off anti-cheat setting. Both should be enabled by default, with the default penalty being a permanent game-key ban. | Launcher and in-game mod manager, also a Mod Organizer 2 instance | Once sales are significantly down and all official content is released, open source the game | AMD Ryzen 7 3700X / Intel Core i7 10700k | Support any resolution | |||||||||||||||||||||||
5 | Rust Blueprints, very powerful like UE5's | OpenXR with Simultaneous Multi Projection/Lens Matched Shading (always on Quality mode) and built-in customizable foveated rendering, supporting: - Dynamic and fixed foveated rendering - 3 peripheral areas, 1 focal area - DLAA/FSRAA/XeSSAA in focal area - Optional supersampling in focal area (125-400%) - DLSS/FSR/XeSS in the peripheral area (potentially separate amounts for each): 50-100% res slider - VRS tier 2 in peripheral areas (potentially separate amounts for each) - Intelligent supersampling, upscaling and VRS based on frame rate target with adjustable priorities - (Multi) frame generation based on DLSS 4 and FSR 4, but adapted to VR | Async Compute | Two path traced audio modes that use Vulkan-RT, both making use of SER: Fast = Radiance cascades w/ NRC Quality = Biased, bidirectional ReSTIR w/ NRC | Optional AI clustering - have one AI control many characters to save performance, with extensive multithreading | Command prompt/console would always be enabled, for both SP and MP. No admin/debug capability for clients in MP, only for server admins and moderators. | 16GB RAM | UI scaling for any resolution | |||||||||||||||||||||||||
6 | Powerful SDK included by default with any exported game, with full access to blueprint and the marketplace | Hybrid Ray Tracing - OBSOLETED BY MULTI-FRAME GEN! - RTXDI - Radiance cascades GI with SER, plus Neural Radiance Caching (NRC) on NVIDIA cards - RT Shadows - RT Reflections - Hybrid translucent light interactions - Would include ray traced natural scope reflection - CLAS BVH | Collision - multiple meshes should not be able to occupy the same space. Really shouldn't be that difficult. In the event this does occur, reset them to the positions they were last in before this exception occurred. Easy. | Precise 3D coordinates for all environmental sound effects | The following default AI behavor presets: Sleeping Relaxing Casual Patroling Cautious and unsure Suspicious Alerted Stalking mode Ambush mode Violent panic - fight mode Panicked and thinking only of surrender - flight mode Surrendered Fake surrendered Helping teammate Moving hostage/objective | NVIDIA GeForce RTX 3060 12GB / AMD Radeon RX 7600 / Intel Arc B570 | 100% enhanced assets (models and textures), using AI and optional real-time neural appearance models | ||||||||||||||||||||||||||
7 | Multithreaded game logic, using any number of threads | Path Traced Lighting = biased, spectral, bidirectional, spatio-temporal reservoir importance resampling + SER and NRC, no rasterized lighting at all Full Path Tracing = same as the above but no raster rendering, except for UI, screen effects, and some post-process effects like DoF and lens flare CLAS BVH for all | Randomized mesh fractures (taking into account point of impact for more realism) - for any kind of mesh, e.g. triangles or voxels or any other kind of geometry, so that meshes don't always break the same way. This should be integrated into the virtual geometry pipeline. This should also drive the gore/dismemberment system. | Precise 3D HRTF (yes including height for once), especially for surround sound and even in VR, so that VR users can use surround sound speaker setups, with the speaker channels changing depending on your orientation | Default AI damage states: Alive and well Wounded - slowed but combat effective to a limited capacity Cripped but still somewhat usable limb Totally useless limb Wounded, delirious and practically out of it Incapacitated + bleeding out Unconscious (always temporary unless in the bleeding out+incapacitated state) Playing dead Dizzy Delirious Nautious Crippling Illness Hallucinating Diseased Zombified | Modern, multithreaded Vulkan SM6 renderer: - Optimized use of async compute, device generated commands, and work graphs - Frame pipelining multi-GPU support - Mesh+task shader geometry pipeline - Full biased, bidirectional, spectral ReSTIR path tracing w/ SER and NRC - the only raster elements would be UI and post-effects including screen effects - Sampler feedback tiled texture streaming - Sampler feedback texture-space shading - RTXIO | |||||||||||||||||||||||||||
8 | Separate AI threading using any number of threads, using the next thread for each AI instance, as well as GPU acceleration including tensor cores for more advanced learning features when available | Real-time Neural Appearance Models available in three network sizes: 2x16, 2x32, and 3x64. Requires one of the path tracing modes. | Soft body simulation and deformation | The above would enable height channel support without needing Dolby Atmos / DTS:X hardware | AI game master default feature - would work behind the scenes like an AI dungeon master in D&D, easily configurable and extensible, meant to make single player games more dynamic, responsive and potentially unforgiving. OpenAI driven. | Two path traced audio modes that use Vulkan-RT, both making use of SER: Fast = Radiance cascades w/ NRC Quality = Biased, bidirectional ReSTIR w/ NRC | |||||||||||||||||||||||||||
9 | Automatic distance-based world streaming system like UE5 world partition but with 3D grid support rather than just 2D. Seamless planetary scale open worlds have been possible for well over a decade, see Outerra engine. This is so much easier to run now, thanks to the likes of mesh shader and more parallel hardware and rendering APIs. | Latest DLSS, FSR, and XeSS standards always supporting the following: DLAA FSRAA XeSSAA Fuck presets, use a resoluton slider to support input res from 25-80% Dynamic res scaling according to frame rate target, using either DLSS, FSR, or XeSS (user determined) Optional supersampling slider from 125-400%, beng integrated into the DLAA/FSRAA/XeSSAA pipeline NVIDIA frame generation and multi-frame generation DLSS frame generation and multi-frame generation NVIDIA Reflex | Fluid simulation including ocean simulation | ||||||||||||||||||||||||||||||
10 | AVX2 (minimum requirement) AVX-512 (minimum requirement) AVX10.1 and AVX10.2 APX | Frame-pipelining multi GPU | Gas simulation | ||||||||||||||||||||||||||||||
11 | Advanced key bindings: can bind any game function to not just a key or button, but also a key combination, double key press, and key hold | Sampler feedback tiled texture streaming and texture space shading | Electricity simulation - taking after electrical engineering simulation software because why not? This would also include sparks with photorealistic particle effects. | ||||||||||||||||||||||||||||||
12 | RTXIO | Cloth simulation | |||||||||||||||||||||||||||||||
13 | AMD FidelityFX Parallel Sort | Grass and hair simulation | |||||||||||||||||||||||||||||||
14 | Display HDR support with the following calibrations: D65 DCI-P3 1,000-nit 10-bit D65 DCI-P3 1,500-nit 10-bit D65 DCI-P3 2,000-nit 10-bit D65 Rec.2020 1,000-nit 10-bit D65 Rec.2020 1,500-nit 10-bit D65 Rec.2020 2,000 nit 10-bit D65 ACEScg 1,000 nit 12-bit D65 ACEScg 1,500 nit 12-bit D65 ACEScg 2,000 nit 12-bit D65 ACES 2065-1 1,000 nit 12-bit D65 ACES 2065-1 1,500 nit 12-bit D65 ACES 2065-1 2,000 nit 12-bit | Rope simulation | |||||||||||||||||||||||||||||||
15 | Adhesion simulation | ||||||||||||||||||||||||||||||||
16 | Inflation/deflation simulation | ||||||||||||||||||||||||||||||||
17 | Vehicle dynamics and simulation | ||||||||||||||||||||||||||||||||
18 | Planet simulation - core-based solid planets, gaseous planets, every atmospheric level | ||||||||||||||||||||||||||||||||
19 | Weather simulation - all weather types from hail to snow to acid rain, including how it interacts with the above and with ocean simulation. Physics based rain/snow/hail/etc supported, with configurable culling. | ||||||||||||||||||||||||||||||||
20 | Melting and freezing simulation, related to the above | ||||||||||||||||||||||||||||||||
21 | Dynamic fire propagation | ||||||||||||||||||||||||||||||||
22 | Optional fully path traced particles for all (only available in the fully path traced renderers) | ||||||||||||||||||||||||||||||||
23 | |||||||||||||||||||||||||||||||||
24 | |||||||||||||||||||||||||||||||||
25 | |||||||||||||||||||||||||||||||||
26 | |||||||||||||||||||||||||||||||||
27 | |||||||||||||||||||||||||||||||||
28 | |||||||||||||||||||||||||||||||||
29 | |||||||||||||||||||||||||||||||||
30 | |||||||||||||||||||||||||||||||||
31 | |||||||||||||||||||||||||||||||||
32 | |||||||||||||||||||||||||||||||||
33 | |||||||||||||||||||||||||||||||||
34 | |||||||||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||||||||
100 |