code wiki / (root) / nx_game_research_fetch.nx

nx_game_research_fetch.nx source

↩ module page · 153 lines · 13871 B

1// nx_game_research_fetch.nx -- the SOVEREIGN half of the MASSIVE game-engine research drive toward S-class 2// exceed. Own TLS-1.3 (nx_https_fetch_follow) + Mozilla CA, idempotent have-skip (= RESUMABLE: re-run fills 3// gaps; also the per-fetch-mmap-leak workaround -> the corpus completes across passes/WSL-restarts, ZERO LLM 4// tokens). Saves to knowledge/fetched/gr_*.raw so it COMPOUNDS to the Library + can be grepped to CITE. The 5// other half = Claude deep-research SYNTHESIS over this corpus (the partnership = S-class per 6// project-researcher-honest-h2h-vs-deepresearch). Axes = engine arch / rendering / netcode / no-float physics / 7// AI / procgen / GENRES (the 16 catalog genres) / game design (GDC topics) / open-source engines. 8// expect_exit: 0 license_tier: ORIGINAL 9import "nx_syscalls.nx" 10import "nx_x509_trust_store.nx" 11import "nx_trust_store_load_from_certdata.nx" 12import "nx_https_fetch_follow.nx" 13const K_MAGIC_4194304: i64 = 4194304 14const K_MAGIC_8388608: i64 = 8388608 15 16func gf_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 17func gf_putn(v: i64) -> i64 { 18 if v == 0 { sys_write(1, "0" as *u8, 1); return 0 } 19 var m: i64 = v 20 if m < 0 { sys_write(1, "-" as *u8, 1); m = 0 - m } 21 let d: *u8 = sys_mmap(24); var k: i64 = 0 22 while m > 0 { d[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 23 var j: i64 = k - 1 24 while j >= 0 { sys_write(1, ((d as i64)+j) as *u8, 1); j = j - 1 } 25 return 0 26} 27func have_file(path: *u8) -> i64 { let fd: i64 = sys_openat_rd(path); if fd < 0 { return 0 } sys_close(fd); return 1 } 28func fetch_save(url: *u8, opath: *u8, store: *TrustStore, out: *u8, cap: i64) -> i64 { 29 if have_file(opath) == 1 { gf_puts(opath); gf_puts(" [have-skip]\n"); return 1 } 30 let status: *i64 = sys_mmap(8) as *i64 31 let n: i64 = nx_https_fetch_follow(url, store, out, cap, 6, status) 32 gf_puts(url); gf_puts(" status="); gf_putn(status[0]); gf_puts(" bytes="); gf_putn(n) 33 if n <= 0 { gf_puts(" FETCH-FAIL\n"); return 0 } 34 var gz: i64 = 0 35 if n >= 2 { if out[0] == 0x1f as u8 { if out[1] == 0x8b as u8 { gz = 1 } } } 36 if gz == 1 { gf_puts(" [GZIP-skip]\n"); return 0 } 37 let fd: i64 = sys_openat_wr(opath, 0x1a4) 38 if fd < 0 { gf_puts(" SAVE-FAIL\n"); return 0 } 39 sys_write(fd, out, n); sys_close(fd) 40 gf_puts(" SAVED\n"); return 1 41} 42func F(u: *u8, o: *u8, store: *TrustStore, out: *u8, cap: i64) -> i64 { return fetch_save(u, o, store, out, cap) } 43 44func main() -> i64 { 45 let r: i64 = nx_trust_store_load_from_certdata("data/mozilla_certdata.txt" as *u8, 512, K_MAGIC_4194304) 46 if r <= 0 { gf_puts("GR: certdata load failed\n"); return 1 } 47 let store: *TrustStore = r as *TrustStore 48 gf_puts("CA roots="); gf_putn(trust_store_count(store)); gf_puts("\n") 49 let cap: i64 = K_MAGIC_8388608 50 let out: *u8 = sys_mmap(cap) 51 var ok: i64 = 0 52 53 gf_puts("== A. ENGINE ARCHITECTURE ==\n") 54 ok = ok + F("https://en.wikipedia.org/wiki/Game_engine" as *u8, "knowledge/fetched/gr_a_game_engine.raw" as *u8, store, out, cap) 55 ok = ok + F("https://en.wikipedia.org/wiki/Scene_graph" as *u8, "knowledge/fetched/gr_a_scene_graph.raw" as *u8, store, out, cap) 56 ok = ok + F("https://en.wikipedia.org/wiki/Entity_component_system" as *u8, "knowledge/fetched/gr_a_ecs.raw" as *u8, store, out, cap) 57 ok = ok + F("https://en.wikipedia.org/wiki/Data-oriented_design" as *u8, "knowledge/fetched/gr_a_dod.raw" as *u8, store, out, cap) 58 ok = ok + F("https://en.wikipedia.org/wiki/Fixed-point_arithmetic" as *u8, "knowledge/fetched/gr_a_fixedpoint.raw" as *u8, store, out, cap) 59 60 gf_puts("== B. RENDERING ==\n") 61 ok = ok + F("https://en.wikipedia.org/wiki/Deferred_shading" as *u8, "knowledge/fetched/gr_b_deferred.raw" as *u8, store, out, cap) 62 ok = ok + F("https://en.wikipedia.org/wiki/Shadow_mapping" as *u8, "knowledge/fetched/gr_b_shadow.raw" as *u8, store, out, cap) 63 ok = ok + F("https://en.wikipedia.org/wiki/Physically_based_rendering" as *u8, "knowledge/fetched/gr_b_pbr.raw" as *u8, store, out, cap) 64 ok = ok + F("https://en.wikipedia.org/wiki/Z-buffering" as *u8, "knowledge/fetched/gr_b_zbuffer.raw" as *u8, store, out, cap) 65 ok = ok + F("https://en.wikipedia.org/wiki/Texture_mapping" as *u8, "knowledge/fetched/gr_b_texmap.raw" as *u8, store, out, cap) 66 ok = ok + F("https://en.wikipedia.org/wiki/Back-face_culling" as *u8, "knowledge/fetched/gr_b_backface.raw" as *u8, store, out, cap) 67 ok = ok + F("https://en.wikipedia.org/wiki/Bounding_volume_hierarchy" as *u8, "knowledge/fetched/gr_b_bvh.raw" as *u8, store, out, cap) 68 ok = ok + F("https://en.wikipedia.org/wiki/Shader" as *u8, "knowledge/fetched/gr_b_shader.raw" as *u8, store, out, cap) 69 70 gf_puts("== C. NETCODE ==\n") 71 ok = ok + F("https://en.wikipedia.org/wiki/Client-side_prediction" as *u8, "knowledge/fetched/gr_c_prediction.raw" as *u8, store, out, cap) 72 ok = ok + F("https://en.wikipedia.org/wiki/Delta_encoding" as *u8, "knowledge/fetched/gr_c_delta.raw" as *u8, store, out, cap) 73 ok = ok + F("https://en.wikipedia.org/wiki/Interpolation" as *u8, "knowledge/fetched/gr_c_interp.raw" as *u8, store, out, cap) 74 75 gf_puts("== D. PHYSICS / SPATIAL (no-float angle) ==\n") 76 ok = ok + F("https://en.wikipedia.org/wiki/Collision_detection" as *u8, "knowledge/fetched/gr_d_collision.raw" as *u8, store, out, cap) 77 ok = ok + F("https://en.wikipedia.org/wiki/Verlet_integration" as *u8, "knowledge/fetched/gr_d_verlet.raw" as *u8, store, out, cap) 78 ok = ok + F("https://en.wikipedia.org/wiki/Quadtree" as *u8, "knowledge/fetched/gr_d_quadtree.raw" as *u8, store, out, cap) 79 ok = ok + F("https://en.wikipedia.org/wiki/Octree" as *u8, "knowledge/fetched/gr_d_octree.raw" as *u8, store, out, cap) 80 ok = ok + F("https://en.wikipedia.org/wiki/Space_partitioning" as *u8, "knowledge/fetched/gr_d_spacepart.raw" as *u8, store, out, cap) 81 82 gf_puts("== E. GAME AI ==\n") 83 ok = ok + F("https://en.wikipedia.org/wiki/Pathfinding" as *u8, "knowledge/fetched/gr_e_pathfinding.raw" as *u8, store, out, cap) 84 ok = ok + F("https://en.wikipedia.org/wiki/A*_search_algorithm" as *u8, "knowledge/fetched/gr_e_astar.raw" as *u8, store, out, cap) 85 ok = ok + F("https://en.wikipedia.org/wiki/Monte_Carlo_tree_search" as *u8, "knowledge/fetched/gr_e_mcts.raw" as *u8, store, out, cap) 86 ok = ok + F("https://en.wikipedia.org/wiki/Alpha-beta_pruning" as *u8, "knowledge/fetched/gr_e_alphabeta.raw" as *u8, store, out, cap) 87 ok = ok + F("https://en.wikipedia.org/wiki/Game_artificial_intelligence" as *u8, "knowledge/fetched/gr_e_gameai.raw" as *u8, store, out, cap) 88 89 gf_puts("== F. PROCGEN ==\n") 90 ok = ok + F("https://en.wikipedia.org/wiki/Perlin_noise" as *u8, "knowledge/fetched/gr_f_perlin.raw" as *u8, store, out, cap) 91 ok = ok + F("https://en.wikipedia.org/wiki/Simplex_noise" as *u8, "knowledge/fetched/gr_f_simplex.raw" as *u8, store, out, cap) 92 ok = ok + F("https://en.wikipedia.org/wiki/Cellular_automaton" as *u8, "knowledge/fetched/gr_f_ca.raw" as *u8, store, out, cap) 93 ok = ok + F("https://en.wikipedia.org/wiki/Maze_generation_algorithm" as *u8, "knowledge/fetched/gr_f_maze.raw" as *u8, store, out, cap) 94 ok = ok + F("https://en.wikipedia.org/wiki/L-system" as *u8, "knowledge/fetched/gr_f_lsystem.raw" as *u8, store, out, cap) 95 96 gf_puts("== G. GENRES (the 16 catalog genres) ==\n") 97 ok = ok + F("https://en.wikipedia.org/wiki/Real-time_strategy" as *u8, "knowledge/fetched/gr_g_rts.raw" as *u8, store, out, cap) 98 ok = ok + F("https://en.wikipedia.org/wiki/Role-playing_video_game" as *u8, "knowledge/fetched/gr_g_rpg.raw" as *u8, store, out, cap) 99 ok = ok + F("https://en.wikipedia.org/wiki/Platform_game" as *u8, "knowledge/fetched/gr_g_platformer.raw" as *u8, store, out, cap) 100 ok = ok + F("https://en.wikipedia.org/wiki/Puzzle_video_game" as *u8, "knowledge/fetched/gr_g_puzzle.raw" as *u8, store, out, cap) 101 ok = ok + F("https://en.wikipedia.org/wiki/Roguelike" as *u8, "knowledge/fetched/gr_g_roguelike.raw" as *u8, store, out, cap) 102 ok = ok + F("https://en.wikipedia.org/wiki/Tower_defense" as *u8, "knowledge/fetched/gr_g_towerdef.raw" as *u8, store, out, cap) 103 ok = ok + F("https://en.wikipedia.org/wiki/Turn-based_strategy" as *u8, "knowledge/fetched/gr_g_tbs.raw" as *u8, store, out, cap) 104 ok = ok + F("https://en.wikipedia.org/wiki/First-person_shooter" as *u8, "knowledge/fetched/gr_g_fps.raw" as *u8, store, out, cap) 105 ok = ok + F("https://en.wikipedia.org/wiki/Racing_video_game" as *u8, "knowledge/fetched/gr_g_racing.raw" as *u8, store, out, cap) 106 ok = ok + F("https://en.wikipedia.org/wiki/Shoot_%27em_up" as *u8, "knowledge/fetched/gr_g_shmup.raw" as *u8, store, out, cap) 107 ok = ok + F("https://en.wikipedia.org/wiki/Adventure_game" as *u8, "knowledge/fetched/gr_g_adventure.raw" as *u8, store, out, cap) 108 ok = ok + F("https://en.wikipedia.org/wiki/City-building_game" as *u8, "knowledge/fetched/gr_g_citybuild.raw" as *u8, store, out, cap) 109 ok = ok + F("https://en.wikipedia.org/wiki/Sandbox_game" as *u8, "knowledge/fetched/gr_g_sandbox.raw" as *u8, store, out, cap) 110 111 gf_puts("== H. GAME DESIGN (GDC topics) ==\n") 112 ok = ok + F("https://en.wikipedia.org/wiki/Game_design" as *u8, "knowledge/fetched/gr_h_gamedesign.raw" as *u8, store, out, cap) 113 ok = ok + F("https://en.wikipedia.org/wiki/Game_feel" as *u8, "knowledge/fetched/gr_h_gamefeel.raw" as *u8, store, out, cap) 114 ok = ok + F("https://en.wikipedia.org/wiki/Game_mechanics" as *u8, "knowledge/fetched/gr_h_mechanics.raw" as *u8, store, out, cap) 115 ok = ok + F("https://en.wikipedia.org/wiki/Level_design" as *u8, "knowledge/fetched/gr_h_leveldesign.raw" as *u8, store, out, cap) 116 ok = ok + F("https://en.wikipedia.org/wiki/Game_balance" as *u8, "knowledge/fetched/gr_h_balance.raw" as *u8, store, out, cap) 117 ok = ok + F("https://en.wikipedia.org/wiki/Game_Developers_Conference" as *u8, "knowledge/fetched/gr_h_gdc.raw" as *u8, store, out, cap) 118 119 gf_puts("== I. OPEN-SOURCE ENGINES (study, never clone) ==\n") 120 ok = ok + F("https://en.wikipedia.org/wiki/Godot_(game_engine)" as *u8, "knowledge/fetched/gr_i_godot.raw" as *u8, store, out, cap) 121 ok = ok + F("https://en.wikipedia.org/wiki/Bevy_(game_engine)" as *u8, "knowledge/fetched/gr_i_bevy.raw" as *u8, store, out, cap) 122 ok = ok + F("https://en.wikipedia.org/wiki/Box2D" as *u8, "knowledge/fetched/gr_i_box2d.raw" as *u8, store, out, cap) 123 ok = ok + F("https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer" as *u8, "knowledge/fetched/gr_i_sdl.raw" as *u8, store, out, cap) 124 ok = ok + F("https://en.wikipedia.org/wiki/Open_Dynamics_Engine" as *u8, "knowledge/fetched/gr_i_ode.raw" as *u8, store, out, cap) 125 126 gf_puts("== M. MMO / MULTIPLAYER SERVER (grow toward MMOs + other online games) ==\n") 127 ok = ok + F("https://en.wikipedia.org/wiki/Massively_multiplayer_online_game" as *u8, "knowledge/fetched/gr_m_mmo.raw" as *u8, store, out, cap) 128 ok = ok + F("https://en.wikipedia.org/wiki/Massively_multiplayer_online_role-playing_game" as *u8, "knowledge/fetched/gr_m_mmorpg.raw" as *u8, store, out, cap) 129 ok = ok + F("https://en.wikipedia.org/wiki/Netcode" as *u8, "knowledge/fetched/gr_m_netcode.raw" as *u8, store, out, cap) 130 ok = ok + F("https://en.wikipedia.org/wiki/Client%E2%80%93server_model" as *u8, "knowledge/fetched/gr_m_clientserver.raw" as *u8, store, out, cap) 131 ok = ok + F("https://en.wikipedia.org/wiki/Dead_reckoning" as *u8, "knowledge/fetched/gr_m_deadreckoning.raw" as *u8, store, out, cap) 132 ok = ok + F("https://en.wikipedia.org/wiki/Shard_(database_architecture)" as *u8, "knowledge/fetched/gr_m_sharding.raw" as *u8, store, out, cap) 133 ok = ok + F("https://en.wikipedia.org/wiki/Eventual_consistency" as *u8, "knowledge/fetched/gr_m_consistency.raw" as *u8, store, out, cap) 134 ok = ok + F("https://en.wikipedia.org/wiki/Replication_(computing)" as *u8, "knowledge/fetched/gr_m_replication.raw" as *u8, store, out, cap) 135 ok = ok + F("https://en.wikipedia.org/wiki/Distributed_computing" as *u8, "knowledge/fetched/gr_m_distributed.raw" as *u8, store, out, cap) 136 ok = ok + F("https://en.wikipedia.org/wiki/MUD" as *u8, "knowledge/fetched/gr_m_mud.raw" as *u8, store, out, cap) 137 138 gf_puts("== CC. CREATURE-COLLECTOR REFERENCES (the s-class ARENA -- measure us vs these real games) ==\n") 139 ok = ok + F("https://en.wikipedia.org/wiki/Pok%C3%A9mon" as *u8, "knowledge/fetched/gr_cc_pokemon.raw" as *u8, store, out, cap) 140 ok = ok + F("https://en.wikipedia.org/wiki/Gameplay_of_Pok%C3%A9mon" as *u8, "knowledge/fetched/gr_cc_pokemon_gameplay.raw" as *u8, store, out, cap) 141 ok = ok + F("https://en.wikipedia.org/wiki/Monster-taming_game" as *u8, "knowledge/fetched/gr_cc_monster_taming.raw" as *u8, store, out, cap) 142 ok = ok + F("https://en.wikipedia.org/wiki/Tuxemon" as *u8, "knowledge/fetched/gr_cc_tuxemon.raw" as *u8, store, out, cap) 143 144 gf_puts("== VA. VISUAL-ASSET PIPELINES (how top VNs get their art -- our sovereign analog to build) ==\n") 145 ok = ok + F("https://en.wikipedia.org/wiki/DAZ_Studio" as *u8, "knowledge/fetched/gr_va_daz.raw" as *u8, store, out, cap) 146 ok = ok + F("https://en.wikipedia.org/wiki/Daz_3D" as *u8, "knowledge/fetched/gr_va_daz3d.raw" as *u8, store, out, cap) 147 ok = ok + F("https://en.wikipedia.org/wiki/Ren%27Py" as *u8, "knowledge/fetched/gr_va_renpy.raw" as *u8, store, out, cap) 148 ok = ok + F("https://en.wikipedia.org/wiki/Visual_novel" as *u8, "knowledge/fetched/gr_va_vn.raw" as *u8, store, out, cap) 149 ok = ok + F("https://en.wikipedia.org/wiki/Rendering_(computer_graphics)" as *u8, "knowledge/fetched/gr_va_render.raw" as *u8, store, out, cap) 150 151 gf_puts("GAME-RESEARCH readable saved this pass: "); gf_putn(ok); gf_puts(" / 76 (RESUMABLE: re-run fills gaps; +M MMO +CC arena +VA visual-asset pipelines)\n") 152 return 0 153}