BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Roguelike action nell'oltretomba egizio, fatto con Godot 4.7.
Stato: fase 2. C'è la Sala del Giudizio (base tra una discesa e l'altra, con Anubi e il Libro dei Morti) e la Prima Ora completa: 10 stanze, un guardiano a metà, il Traghettatore, Am-heh alla fine, con nemici diversi, ricompense, doni degli dèi, patti di Set e Forma Divina. La grafica è disegnata col codice, in uno stile unico (contorni scuri, colori della pittura egizia, un solo carattere): niente sprite esterni, tutto gratuito e modificabile.
Il protagonista crede di essere lo scriba del faraone Akhet, il cui nome è stato cancellato da ogni pietra d'Egitto, e scende nel Duat per ricomporlo. Nella Sala del Giudizio, sopra il cancello, il cartiglio di Akhet riprende un segno a ogni vittoria. Ogni vittoria sul boss della Prima Ora fa riaffiorare un Ricordo dello scriba (nei Papiri di Thoth, in cima; il leggio brilla d'oro finché non lo leggi), e il Traghettatore cambia voce e prezzi man mano che la storia avanza. La trama completa, i colpi di scena e le regole per scrivere le battute sono in docs/storia.md: contiene spoiler.
project.godot di questa cartella.La versione web è su https://giuseppevalguarnera.github.io/Duat/. Su iPhone: aprila con Safari, poi Condividi → Aggiungi alla schermata Home e aprila dall'icona: così va a schermo intero, senza barre del browser (dentro Safari iOS non permette lo schermo intero; se apri il gioco da Safari una schermata lo spiega). Gioca in orizzontale.
Sul telefono il gioco si avvicina un po' e testi, carte e menu sono più grandi (Fx.ui in scripts/fx.gd); il formato si allarga per riempire anche gli schermi più lunghi del 16:9. Per vedere la versione telefono sul computer: avvia Godot con -- --mobile.
Salvataggio a metà discesa: all'inizio di ogni stanza la discesa viene salvata. Se chiudi il gioco (o il telefono chiude la pagina), al prossimo avvio riparti dall'inizio di quella stanza. Morte, vittoria e abbandono cancellano il salvataggio.
Sul telefono: levetta virtuale a sinistra (appare dove appoggi il pollice), a destra l'arma (tieni premuto), scatto, Occhio di Horus e Forma Divina, in alto pausa e doni. Mentre ti muovi colpisci nella direzione in cui vai, con un aiuto alla mira se c'è un nemico più o meno davanti; da fermo la mira va da sola sul nemico più vicino (si può spegnere: Opzioni, Mira automatica). Nella Sala il pulsante grande diventa Azione; nei menu si tocca direttamente.
Per aggiornare la versione web dopo una modifica: tools/deploy_web.sh /percorso/di/Godot (serve il modello di esportazione Web di Godot 4.7.2).
Aggiornamenti senza reinstallare: quando esce una versione nuova, nella Sala, in basso a destra (sul telefono sopra il pulsante Azione), lampeggia piano la scritta Nuova versione, aggiorna!: toccarla apre le Opzioni sulla voce giusta. Solo nella Sala, non durante la discesa, perché aggiornare la farebbe perdere. Aggiorna il gioco scarica la versione nuova e riapre il gioco: i progressi restano, perché l'app non viene cancellata. (Su iPhone, cancellare l'app dalla schermata Home cancella anche il salvataggio.) Funziona così: tools/deploy_web.sh scrive un numero di versione nella pagina e in version.txt; la pagina (web/shell.html) li confronta all'avvio e ogni 5 minuti; scripts/updater.gd lo mostra nel gioco.
| Azione | Tastiera e mouse | Controller |
|---|---|---|
| Muoverti | WASD o frecce | Levetta sinistra |
| Mirare | Mouse | Levetta destra |
| Khopesh (tieni premuto per la combo) | Clic sinistro o J | RB (o X) |
| Scatto (invulnerabile) | Spazio, Shift o K | LB o A |
| Occhio di Horus | Clic destro o L | RT (o Y) |
| Forma Divina (quando il Sekhem è pieno) | Q | LT |
| Vedi i tuoi doni (mette in pausa) | Tab | Select |
| Mostra/nascondi hitbox | F1 | |
| Parla / apri il Libro (nella Sala) | E | Y |
| Pausa (nella Sala: opzioni) | Esc o P | Start |
| Torna alla Sala (dopo morte o vittoria) | R | Start |
Lo scatto ha due cariche: due scatti di fila, poi una pausa di 1,2 secondi dall'ultimo prima che tornino tutte e due (i doni e il capitolo 56 accorciano la pausa, mai sotto 0,6 secondi). Le cariche sono i due puntini sotto i piedi del personaggio: pieni = pronte, si riempiono man mano durante la pausa, e un piccolo lampo avvisa quando tornano. Prima si poteva scattare ogni mezzo secondo: nessun attacco faceva paura.
Il protagonista crede di essere uno scriba: porta alla cintura la tavolozza con i due pozzetti d'inchiostro (nero e rosso), ha gli occhi con il kohl e il gonnellino di lino con la cintura d'oro. Ma in testa ha il khat a righe blu e oro, il copricapo della gente comune che ricorda il nemes dei faraoni, e un mantello scuro e logoro; il collare blu e oro lo fa risaltare nella penombra. Cammina davvero (gambe e braccia che si alternano, di profilo quando va di lato), durante lo scatto lascia due scie, e nella Forma Divina il khat diventa per un attimo il nemes dorato con l'ureo sulla fronte: un indizio per chi conosce l'Egitto (_draw_hero in scripts/player.gd).
La luce è quasi tutta finta, per scelta (scripts/atmos.gd, scripts/room_decor.gd): le luci 2D vere di Godot, nel renderer Compatibility che usiamo sul web, ridisegnano tutto ciò che toccano una volta per luce, e con una quindicina di luci per stanza il telefono scendeva a 12 fps. Ora pavimento, muri, arredi, pozze di luce delle torce e penombra sono cotti una volta sola in una texture per stanza (una griglia di quadratini sfumati: buio lontano dalle luci, chiaro attorno a torce, bracieri, porte e al centro dove si combatte); bracieri, porte e la pozza dello scatto hanno aloni sommati che tremolano. Eroe e nemici stanno sopra la penombra e non vengono scuriti: si leggono sempre. Le luci vere con le ombre restano solo nella Sala, e solo sul computer. Sul computer i bordi dello schermo sfumano nel buio (si disegna solo la cornice); sul telefono no. Risultato misurato in combattimento (renderer software, telefono): da 12 a circa 40 fps.
La Casa della Vita (scripts/casa.gd, amulets.gd, challenges.gd) si apre dalla parete est della Sala con 30 lapislazzuli. Dentro ci sono il banco dell'orafo e la parete di Thoth. Gli amuleti se ne porta uno solo e danno un potere che non c'è né nei doni né nel Libro dei Morti: Nodo di Iside (trappole), Ankh (vita a ogni stanza), Pilastro Djed (lo scatto lascia una statua che attira i nemici), Scettro Was (danni che crescono con le stanze pulite), Anello Shen (i tuoi dèi alle porte più spesso), Collana di Hathor (un'offerta in più dal Traghettatore), Occhio Udjat (le stanze segrete brillano e compaiono più spesso), Scarabeo Kheper (i primi doni arrivano al livello 2). Crescono con l'uso: livello 2 dopo 20 stanze, 3 dopo 50. Le sfide si compiono giocando e il premio si riscuote alla parete: sette danno la ricetta di un amuleto (che poi si forgia con 0-10 lapislazzuli), le altre Ka custodito o Lacrime di Iside. Dopo 7 sfide si svelerà una seconda parete. Nella Casa vive Imhotep (scripts/imhotep.gd): commenta ogni amuleto che forgi, dà consigli in base a dove sei arrivato e ricorda le preghiere di Akhet.
La rinascita (scripts/rebirth.gd): quando muori il Ba vola via, lo scarabeo Kheper spinge il sole sul nero e nella Sala l'eroe riemerge dal disco solare, in meno di 3 secondi (dalla seconda volta si salta con un tasto).
I restauri della Sala (scripts/restorations.gd) si pagano in lapislazzuli, una moneta rara che resta anche se cadi: 4-5 dal Serpente della Porta, 10-12 da Am-heh, 4-5 da una porta apposta che ogni tanto prende il posto del tesoro di Ka; la stanza segreta dà un solo premio a sorte (un cuore, 2-3 lapislazzuli oppure 10-15 Ka: un di più, sempre meno di una porta del tesoro). I restauri costano da 6 a 18: una discesa media ne paga uno, completarli tutti chiede 15-20 discese. Alla cassa dello scalpellino si restaurano otto cose: i bracieri, gli stendardi degli dèi, le pitture del giudizio, la vasca del Nilo, il trono di Anubi (estetica) e tre comodità: la clessidra di Thoth (tempo e record nella discesa), il registro dello scriba (le tue statistiche nei Papiri) e il gatto di Bastet (ti segue, si accarezza, ogni tanto ti porta 5 Ka). I bracieri restaurati scaldano davvero la Sala: la notte blu si fa più chiara e da ogni angolo arriva una luce ampia. Nessun restauro dà potenza: quella è del Libro dei Morti.
I segni nel mondo: stelline dorate su tutto ciò con cui si interagisce, un punto esclamativo dove c'è qualcosa di nuovo (Anubi, Neith e il Traghettatore con battute nuove, il Libro con un capitolo comprabile, i Papiri con un ricordo da leggere, l'altare con Lacrime da spendere, la cassa con un restauro pagabile).
Nemici e boss sono disegnati nello stesso stile dell'eroe: contorno scuro attorno a ogni forma, i colori della pittura egizia, occhi che si leggono. Lo scarabeo di Khepri col pettine sulla testa, la mummia con le bende e le braccia tese, lo scorpione di Serket con le fasce turchesi e la coda ad anelli, il sacerdote con la maschera di Set, la pelle di leopardo e lo scettro uas, il cobra col cappuccio dipinto, il Serpente della Porta, Am-heh col collare d'oro e la criniera di fiamme, Ammit coccodrillo-leone-ippopotamo. Gli avvisi di gioco (rosso, verde, linee di mira) sono rimasti identici.
Le stanze hanno profondità: lastre di pietra sfalsate con il bordo in luce e in ombra, la fuga calda (prima era una griglia blu), blocchi nei muri, sabbia negli angoli, colonne papiriformi con il cartiglio e il capitello a boccio di papiro, oggetti con l'ombra a terra (Anubi sdraiato sul suo sacrario, il sarcofago antropoide, i bracieri a tre piedi) e porte egizie con la gola a foglie di palma e il disco solare alato.
I colori sono quelli della pittura egizia (lapislazzuli, turchese, ocra rossa e gialla, malachite): ogni stanza ha un motivo diverso al centro del pavimento (il sole, l'occhio udjat, lo scarabeo alato Khepri, la rosa di loto, il cielo stellato di Nut), mattonelle di faience, un fregio di fiori di loto lungo il bordo, fasce colorate e figure di portatori di offerte dipinte sulle pareti, papiri, tavole delle offerte e vasi dipinti, e gli spiriti del Ka, piccole luci azzurre e dorate che vagano nell'aria (scripts/room_decor.gd).
Il gioco parte qui, e qui torni dopo ogni discesa.
scripts/dialogue.gd.| Capitolo | Effetto (livello 1 → 2 → 3) | Costo in Ka (livello 1 / 2 / 3) |
|---|---|---|
| 17 · Uscire al giorno | Inizi ogni discesa con +15 → 25 → 35 vita massima. | 60 / 140 / 260 |
| 89 · Il ritorno del Ba | L'Occhio di Horus si ricarica il 15 → 22 → 30% più in fretta. | 60 / 140 / 260 |
| 56 · Il soffio d'aria | Lo scatto si ricarica il 10 → 18 → 25% più in fretta. | 60 / 140 / 260 |
| 154 · Il corpo incorrotto | L'Acqua del Nilo ti cura del 40 → 45 → 50% invece che del 30%. | 70 / 150 / 280 |
| 99 · La barca di Ra | I tesori di Ka valgono il 30 → 45 → 60% in più. | 80 / 170 / 300 |
| 110 · I Campi di Iaru | Inizi ogni discesa con 15 → 25 → 40 Ka da spendere dal Traghettatore. | 80 / 170 / 300 |
| 94 · Calamaio e tavolozza | Al Traghettatore tutto costa il 15 → 25 → 35% in meno. | 70 / 150 / 280 |
| 42 · Ogni membro è un dio | L'Occhio di Horus fa il 10 → 18 → 25% di danni in più. | 80 / 170 / 300 |
| 151 · La maschera | In ogni stanza il primo colpo che ricevi fa il 40 → 60 → 80% di danni in meno. | 90 / 190 / 320 |
| 125 · La confessione negativa | Finché hai più dell'80% della vita fai il 15 → 22 → 30% di danni in più. | 100 / 200 / 340 |
| 30 · Il cuore che non testimonia | Una volta per discesa sopravvivi a un colpo mortale con il 5 → 20 → 35% della vita. | 120 / 220 / 360 |
| 6 · Gli Ushabti | Una statuetta servitrice ti segue e colpisce il nemico più vicino ogni 2.0 → 1.6 → 1.3 secondi. | 140 / 240 / 380 |
| 72 · Le porte aperte | Dopo ogni stanza si aprono sempre tre porte. | 220 |
Ogni capitolo ha fino a 3 livelli: comprato il primo, sulla pagina compare Potenzia. Con il Ka si comprano anche posti in più nel Libro (400 e poi 800 Ka).
I numeri sono quelli dei veri capitoli del Libro dei Morti, e ognuno nel Libro mostra anche a cosa serviva davvero. Per aggiungerne uno: una riga in ALL in scripts/chapters.gd, poi l'effetto dove serve usando Run.chap("id").
Dal menu di pausa, Torna alla Sala (abbandona) chiude la discesa: il Ka raccolto viene comunque custodito.
Nella Sala, Esc o Start aprono le opzioni:
Se il gioco perde il focus (una chiamata, un'altra finestra) va in pausa da solo. Esci dal menu di pausa lascia la discesa salvata.
Lingua · Language: italiano o inglese. All'inizio segue la lingua del telefono o del computer; il nome della voce è nelle due lingue, così la trova anche chi capita nella lingua che non conosce. Le traduzioni sono in i18n/ (vedi i18n/README.md).
Dalla Sala del Giudizio, una porta nella parete ovest (con lo scudo e le frecce incrociate di Neith) porta al Cortile di Neith. Si apre dopo la prima vittoria sul Serpente della Porta: la prima volta Neith, la dea guerriera di Sais, ti consegna la Lancia di Neith (scripts/armory.gd, scenes/armory.tscn).
| Arma | Come si gioca | Aspetti |
|---|---|---|
| Khopesh | Fendenti ampi da vicino, il terzo colpo è il più forte | del Faraone (+danni) · di Montu (terzo colpo più lungo e più forte) · di Wepwawet (dopo uno scatto, fendente circolare) |
| Lancia di Neith | Due affondi lunghi e stretti, poi un'ampia spazzata; subito dopo uno scatto, un affondo lunghissimo | di Neith (+danni) · di Onuris (affondi più lunghi) · di Khonsu (la spazzata stordisce) |
Lacrime di Iside: arrivano solo dai boss delle regioni (oggi Am-heh, 2 Lacrime), la prima volta che li batti con ogni arma e di nuovo con il Peso del Cuore a 4 e a 8. Il Serpente della Porta, guardiano di mezzo, non ne dà. Rivincere con la stessa arma non dà altre Lacrime: per crescere bisogna cambiare arma. Il Libro dei Morti ora si paga solo in Ka; il capitolo 26, Il cuore restituito, dà una piccola probabilità (3/5/7%) che i nemici lascino un cuore che cura 5/6/7 punti vita (livelli e posti in più compresi). Dati in scripts/weapons.gd; i testi dei doni scritti per il khopesh si adattano da soli all'arma impugnata.
scripts/tutorial.gd, fantocci in scripts/dummy.gd).Hazards.UraeusStatues). Batterlo dà un dono che sale di due livelli invece di uno.Nelle tombe egizie il serdab era una stanzetta murata, senza porta, che custodiva la statua del Ka del defunto: gli dèi la guardavano da una fessura. Nella discesa, ogni tanto (al massimo una volta a discesa, dalla seconda stanza, mai nelle stanze del Serpente, del Traghettatore, di Set e del boss; in circa 2 discese su 3), quando ripulisci una stanza un tratto del muro in alto ha una crepa con un geroglifico storto, e se ti avvicini cade un filo di polvere. Tre colpi d'arma e il muro crolla. Dentro: buio, pareti piene di geroglifici, la statua del Ka con le braccia alzate e un'iscrizione (formule d'offerta e maledizioni come quelle delle tombe vere, sul re in generale), un po' di Ka (30-45) e una volta su due un cuore che cura 10. Niente nemici e niente trappole. Si esce dallo stesso buco e si prosegue (scripts/serdab.gd; per le prove DUAT_SERDAB=always).
Le stanze normali sono 672×416, quelle del Serpente e del boss restano 800×480: sul telefono si vede quasi tutta la stanza e i nemici non arrivano da fuori schermo, mentre lo scontro con il boss si sente più grande (ROOM_SMALL / ROOM_BIG in scripts/game.gd; per le prove DUAT_BIGROOMS=1 rimette tutte le stanze grandi).
Quando compare un boss o il guardiano il gioco si ferma: la telecamera va su di lui, entrano due bande nere, il nome grande, il titolo e una riga di consiglio, con il ruggito; la musica parte in quel momento (prima la stanza è in silenzio). La prima volta dura circa 2 secondi, poi la metà; un tocco, un clic o un tasto la saltano (scripts/ui/boss_intro.gd, testi in BOSS_INTROS).
| Nemico | Comportamento | Come affrontarlo |
|---|---|---|
| Mummia | Lenta e resistente. Da vicino diventa rossa e prepara un affondo | Schiva al momento giusto, o interrompila col terzo colpo della combo |
| Scarabei | Arrivano a gruppi di tre, veloci e fragili, a zig-zag | Colpi ampi e Occhio di Horus |
| Sacerdote di Set | Resta lontano e lancia sfere. Prima di lanciare si ferma e la sfera cresce | Spostati negli ultimi istanti, o colpiscilo per interromperlo |
Dalla terza stanza alcune mummie e alcuni sacerdoti sono élite: alone dorato, più grossi, +80% di vita, lasciano più Ka.
Lo scatto le supera entrambe. A stanza ripulita si fermano.
La Prima Ora ha i suoi pericoli, gli stessi che si ritrovano contro Am-heh (scripts/hazards.gd, disposizione in place_elements di scripts/room_builder.gd):
| Stanze | Cosa compare |
|---|---|
| 1-2 | al massimo una pozza |
| 3-5 | acqua e giare d'olio, spuntoni come prima |
| 6-8 | anche una grata di fuoco, uno spuntone in meno |
| 9-10 | due grate di fuoco, due spuntoni in meno; a volte due specchi d'acqua |
Gli spuntoni tornano protagonisti nel deserto di Sokar, la seconda regione. Da fare: un capitolo del Libro dei Morti che faccia lasciare Ka alle giare, come in Hades.
Nel mito è un dio dalla testa di cane che vive in un lago di fuoco del Duat e divora le anime dei dannati (scripts/amheh.gd). Ha 1000 punti vita. L'arena ha quattro pozze d'acqua: rallentano (anche i nemici) e spengono le fiamme, e il fuoco non vi entra (scripts/hazards.gd).
Ammit non è più il boss della Prima Ora: tornerà come boss finale nella Sala delle Due Verità, con una bilancia e una risposta diversa per ogni arma (vedi docs/storia.md). Il combattimento attuale resta nel codice (BOSS_KIND in scripts/game.gd) come base.
Testa di coccodrillo, corpo di leone, zampe di ippopotamo: nel mito divora i cuori che non superano il giudizio. Ha 1100 punti vita.
Regola di bilanciamento: un dono di livello 1 vale circa +20% su un aspetto del gioco (danno del khopesh, ricarica dell'Occhio, danni subiti, velocità...). I livelli 2 e 3 aggiungono circa metà ciascuno. Un dono pesante vale circa +50%, ma con un prezzo vero. I doni di Anubi danno un vantaggio un po' più grande del prezzo che chiedono. I numeri sono tutti in ALL in scripts/boons.gd.
Ogni dio offre sempre tre scelte. Ogni dono ha 3 livelli: quando un dio ha finito i doni nuovi, ti propone di potenziare quelli che hai. In circa una scelta su tre compare il dono pesante del dio: più forte, ma con un prezzo (HEAVY_CHANCE in scripts/boons.gd).
| Dio | Doni |
|---|---|
| Ra (fuoco) | Colpo Solare, Disco di Ra, Corsa dell'Alba (con prezzo: scatto più lento), Occhio Ardente · pesante: Ira del Sole |
| Sekhmet (furia) | Furia della Leonessa, Sete di Sangue, Ruggito, Balzo della Leonessa · pesante: Sete Insaziabile |
| Horus (l'Occhio) | Ritorno del Falco (l'Occhio torna e colpisce ancora), Volo del Falco (insegue il nemico più vicino), Il Sole e la Luna (2-4 cariche), Sguardo del Falco (chi è colpito dall'Occhio prende più danni dal khopesh) · pesante: Occhio del Re (Occhio ×2 e trapassa tutto, khopesh −40%) |
| Thoth (Occhio di Horus) | Sguardo di Thoth, Calcolo di Thoth, Occhio Moltiplicato, Parola dello Scriba · pesante: Conoscenza Proibita |
| Bastet (critici e agilità) | Artigli Affilati, Occhi di Gatto, Passo Felino, Protezione di Bastet · pesante: Gioco del Gatto |
| Sobek (resistenza e controllo) | Pelle di Coccodrillo, Morso di Sobek, Marea del Nilo (la pozza turchese con le increspature e una luce azzurra, perché si veda dove attirare i nemici), Forza del Fiume · pesante: Fauci di Sobek |
| Iside (protezione e cure) | Ali di Iside, Lacrime di Iside, Nodo di Iside, Nome Segreto di Ra (solo dopo aver sbloccato il Sekhem) · pesante: Abbraccio di Iside |
| Anubi (solo a inizio run, doni-bilancia con un piccolo prezzo) | Cuore Leggero, Cuore di Pietra, Fiuto dello Sciacallo, Bilancia Giusta, Guida delle Anime, Vasi Canopi, Apertura della Bocca, Bende di Lino, Custode della Necropoli, Offerte ai Defunti |
Doni delle armi: alcuni doni compaiono solo con un'arma in mano e ne esaltano lo stile (sulla carta: "solo Lancia di Neith" o "solo Khopesh").
| Arma | Dono | Dio | Effetto |
|---|---|---|---|
| Lancia | Arpione di Horus | Horus | Affondi più forti sui nemici lontani, sulla punta |
| Lancia | Punta Felina | Bastet | L'affondo dopo lo scatto può essere critico |
| Lancia | Colpo di Coda | Sobek | Spazzata più forte, scaglia il doppio |
| Khopesh | Zanna Ricurva | Sekhmet | Primi due fendenti più forti |
| Khopesh | Danza delle Lame | Bastet | Colpi più rapidi |
| Khopesh | Filo del Sole | Ra | Fendenti più lunghi e più ampi |
Forza del Fiume e cinque Doni Doppi compaiono solo se hai già i doni con cui si combinano (Boons.REQUIRES).
Doni Doppi: quando hai già doni di due dèi, a volte (45%) uno dei due ti offre un dono che li unisce (carta dorata). Sono 9, almeno uno per ogni dio; l'Arpione del Coccodrillo esiste solo con la lancia. Misurato con 2000 partite simulate: in una discesa con 9 doni ne compare almeno uno circa 2 volte su 3 (7 su 10 con la lancia), con 6 doni 1 volta su 3. Con il Peso del Cuore silenzio le scelte sono due e il doppio prende la seconda.
| Dono Doppio | Dèi | Effetto |
|---|---|---|
| Occhio del Sole | Ra + Thoth | L'Occhio incendia sempre ed esplode quando si ferma |
| Sole Furente | Ra + Sekhmet | I nemici in fiamme subiscono +25% dal khopesh |
| Caccia delle Leonesse | Sekhmet + Bastet | I critici del khopesh liberano un ruggito |
| Sguardo del Gatto Sapiente | Thoth + Bastet | Un critico dell'Occhio ne dimezza la ricarica |
| Piena Sacra | Sobek + Iside | Con lo scudo di Iside il khopesh fa +25% |
| Occhio Risanato | Horus + Thoth | Se l'Occhio abbatte un nemico si ricarica subito (Thoth guarì l'Occhio di Horus) |
| Figlio di Iside | Iside + Horus | Ogni lancio dell'Occhio che va a segno cura 2 punti vita |
| Giudizio della Leonessa | Anubi + Sekhmet | L'arma abbatte all'istante i nemici sotto il 15% della vita (non guardiani e boss) |
| Arpione del Coccodrillo | Sobek + Horus | Solo lancia: la punta dell'affondo stordisce per 0,6 secondi |
Senza doni l'Occhio di Horus si ferma sul primo nemico che colpisce.
I nemici colpiti barcollano per un terzo di secondo: non si muovono e non fanno danno da contatto. Le mummie durante l'affondo non barcollano.
La scelta dei doni. In alto c'è il ritratto del dio, dipinto alla maniera egizia (profilo, occhio con il kohl, collare usekh, corone e simboli di ognuno: la doppia corona di Horus, il disco di Ra, la luna di Thoth, il trono di Iside...). I ritratti sono disegnati in SVG da tools/portraits/make_portraits.py e trasformati in PNG da tools/portraits/render.js; il busto esce dal medaglione e si anima mentre parla, e le sue parole compaiono man mano. Sotto, le carte sono papiri: un solo carattere per tutto il gioco, Aref Ruqaa (OFL): il tratto ruvido di una penna di giunco, nello spirito del Papyrus ma libero; i titoli grandi hanno un riflesso d'oro che scorre: etichetta, nome, descrizione, prezzo e in fondo il riassunto (▲ cosa guadagni, ▼ cosa paghi), così dopo la prima lettura si sceglie a colpo d'occhio. Quando prendi il dono: lampo del colore del dio, anello di luce attorno a te, scintille e il nome del dono al centro.
Ogni volta che un dio ti offre un dono, ti parla. La prima volta si presenta; poi, a ogni incontro, racconta un pezzo del suo mito (Ra e il serpente Apophis, Iside che ricompone Osiride, Thoth che vince cinque giorni alla Luna, i gatti sacri di Bastet...), una volta sola. Quando ha raccontato tutto, risponde con frasi brevi. Le storie sono in scripts/lore.gd: sono fatti della mitologia e della storia egizia, semplificati ma non inventati. Ogni dio ha la sua voce (Ra solenne e cosmico, Sekhmet feroce, Thoth misurato, Bastet regale, Sobek lento, Iside materna, Set sprezzante) e parla sempre in prima persona: i fatti moderni, come le statue di Sekhmet nei musei, li racconta come profezie.
I tuoi doni durante la scelta: mentre scegli un dono, Tab / Select o il pulsante I tuoi doni in alto a destra mostrano quelli che hai già, per costruire le combinazioni.
A volte, oltre alle porte normali, Set apre un varco in più nella parete sud: è una deviazione, come le porte del Caos in Hades. Arriva di rado: mai nella prima stanza né davanti al Serpente o al boss, almeno 3 stanze tra un varco e l'altro e al massimo 2 a discesa. La probabilità parte dal 20% e cresce un poco a ogni stanza senza Set: in 7 discese su 10 lo incontri una volta, in 2 due volte, in 1 mai (SET_DOOR_* in scripts/game.gd). Entrare costa 8 punti vita; dentro c'è l'altare di Set, senza nemici, e la stanza non conta nella discesa. Scegli un patto, poi si riaprono le stesse porte che avevi lasciato: non perdi nessun dono. Il patto è una maledizione per le 2 stanze successive e poi una benedizione per tutta la discesa. Tempesta Interiore (Sekhem) compare solo dopo aver sbloccato il Sekhem.
Davanti ai guardiani, ai boss e al Traghettatore Set tace: la maledizione non agisce e non conta la stanza. Le maledizioni colpiscono qualunque stile di gioco, così non si possono aggirare: nemici più veloci del 20%, +30% di danni subiti, nemici con il 25% di vita in più, cure ridotte del 40%, oppure 1 vita persa ogni 3 secondi mentre combatti. Le benedizioni: +25% a tutti i danni, +15 vita massima, Sekhem +50%, +15% velocità, +50% Ka, attacchi più rapidi del 20%.
Bilanciato con i bot (patto forzato nella stanza 2 contro nessun patto, stesse partite): quando Set prendeva il posto di una porta, il patto costava anche un dono e chi lo prendeva superava il Serpente 1 volta su 10 contro 7.
Dopo la prima vittoria su Am-heh, la bilancia di Ma'at al centro della Sala diventa interattiva: prima di scendere puoi posarvi dei pesi. Ogni livello di peso rende la discesa più dura e ti fa custodire il 10% di Ka in più. Il gioco ricorda il peso più alto con cui hai battuto Ammit. È la sfida per chi ha già vinto, sul modello del Patto di Punizione di Hades.
| Peso | Effetto | Livelli |
|---|---|---|
| Piume di piombo | Nemici +20% vita per livello | 2 |
| Zanne affilate | +20% danni subiti per livello | 2 |
| Le orde del Duat | +25% nemici per ondata per livello | 2 |
| Il sangue dei campioni | Élite il doppio delle volte, dalla stanza 2 | 1 |
| Sabbie traditrici | Trappole dalla prima stanza, e di più | 1 |
| Il Nilo in secca | L'Acqua del Nilo cura la metà | 1 |
| Il silenzio degli dèi | Due doni tra cui scegliere invece di tre | 1 |
| La fame di Am-heh | Am-heh +30% vita, la marea di fuoco arriva più spesso | 1 |
| L'ira del Serpente | il Serpente ha due mosse in più: doppia emersione e pioggia di veleno | 1 |
| L'ira di Am-heh | Am-heh ha due mosse in più: doppio balzo e anello di fuoco | 1 |
I pesi sono in scripts/weights.gd.
Il Sekhem è il dono di Am-heh: si sblocca per sempre la prima volta che lo sconfiggi (salvato in user://duat_save.cfg). Dalla run successiva si carica facendo e subendo danni. Quando è pieno attivi la Forma Divina per 6 secondi: onda d'urto iniziale, +50% ai danni del khopesh e solo il 30% dei danni subiti.
Spuntoni, mummie, scorpioni, cobra e Serpente hanno suoni costruiti apposta (tools/synth_sfx.py): lastra che scatta e lame che escono, bende che sfregano e rantolo, zampette di chitina, sibili, sabbia che si apre. Am-heh ringhia prima del morso e del balzo, azzanna con un latrato secco, atterra con un tonfo, ulula prima della marea (la voce sale e ridiscende) e ansima quando è esausto. Il fuoco soffia (fiato di Am-heh, grate), si accende (olio, fuoco a terra) e divampa (marea). I colpi a segno hanno il tintinnio della scintilla (più pieno sui colpi forti), le giare si rompono come coccio, l'acqua fa uno schizzo quando ci entri, l'anima dei nemici sale con un sussurro. Si rigenerano con python3 tools/synth_sfx.py <pacchetti Kenney> assets/sfx nome1,nome2.
I suoni vengono dai pacchetti CC0 di Kenney (Impact Sounds, Interface Sounds, RPG Audio): uso libero anche commerciale. Crediti in assets/sfx/CREDITS.md.
Anche i nemici hanno i loro suoni: lo zampettio degli scarabei, i passi trascinati e lo scricchiolio delle mummie prima dell'affondo, l'incantesimo dei sacerdoti e le loro sfere magiche. Più un nemico è lontano, più è piano; fuori dallo schermo non si sente (Sfx.play_at).
Ogni suono può avere più varianti (hit.ogg, hit_2.ogg, ...): il gioco ne sceglie una a caso, così i colpi ripetuti non suonano tutti uguali. Per cambiare un suono basta sostituire il file con lo stesso nome; tools/convert_sfx.py rifà la conversione dai pacchetti originali e porta tutti i file allo stesso volume.
Quattro brani, con dissolvenza incrociata da uno all'altro (scripts/music.gd):
| Momento | Brano |
|---|---|
| Sala del Giudizio | Desert Mystic, PolygonDan (CC0) |
| Stanze | Desert Loop, iamoneabe (CC0) |
| Serpente della Porta, e stanze con nemici élite (dalla comparsa del primo) | Frozen Desert, Dizzy Crow (CC0) |
| Traghettatore | Desert Mystic (come la Sala) |
| Ammit | Arabesque, brainiac256 (CC-BY 3.0, va citato nei crediti) |
Alla morte suona un breve tema funebre (death.ogg, ricavato dai suoni CC0 del gioco: campana rallentata con eco e un bordone basso), alla vittoria torna il tema della Sala. Crediti completi in assets/music/CREDITS.md.
Volume: nel menu di pausa, voce Volume, c'è un cursore per il volume generale, uno per la musica e uno per ogni categoria di suoni (attacchi, scatto, danni subiti, nemici e boss, trappole, ricompense e menu). Le impostazioni vengono salvate.
Alla morte tutto rallenta, un lampo rosso, lo schermo si scurisce e compare la bilancia di Ma'at: il cuore scende, più pesante della piuma. Poi il papiro con chi ti ha ucciso e il riepilogo. Alla vittoria compare un riepilogo (tempo, nemici, danni, doni, Ka). Il Ka raccolto viene custodito tra una run e l'altra nel salvataggio e si spende nel Libro dei Morti. Premi R o Start per tornare alla Sala del Giudizio.
tools/playtest/ contiene un bot che gioca davvero (senza invulnerabilità) con sette stili di giocatore: novizio, casual, veterano, speedrunner, min-maxer, prudente, cecchino. Registra vittorie, stanze raggiunte, danni subiti per fonte, tempi e doni scelti.
python3 tools/playtest/run_playtest.py --godot /percorso/di/Godot --seeds 16
python3 tools/playtest/run_playtest.py --godot ... --personas veterano --env "DUAT_ANUBI=Cuore di Pietra"
Prima di pubblicare: python3 tools/check_glyphs.py controlla che ogni simbolo dei testi esista nei caratteri del gioco (nel browser del telefono un simbolo mancante diventa un quadratino).
Il bot gioca peggio di una persona, quindi serve per i confronti (stesse partite, cambia una sola scelta), non per misurare la difficoltà assoluta. Con lui sono stati bilanciati i patti di Set, i doni di Anubi e il Peso del Cuore: per esempio Cuore di Pietra a +30 vita portava il bot da 1 a 7 vittorie su 16, ora è a +12. Con la Prima Ora a 10 stanze, il bot "veterano" arriva da Ammit circa 9 volte su 16, con circa 8 doni, e il Serpente della Porta ne ferma circa un quarto.
Apri una scena in scenes/, seleziona il nodo principale e cambia i valori nell'Ispettore: velocità, vita, danno, tempi di ricarica. Le tre mosse della combo sono nella tabella COMBO in scripts/player.gd.
In alto a sinistra, in un riquadro scuro con il bordo d'oro: l'ankh accanto alla vita (la barra lascia una scia chiara quando subisci danno, l'ankh lampeggia sotto un terzo), il Sekhem, il geroglifico del Ka con il suo numero (che "salta" quando sale), la stanza, e l'Occhio di Horus che si riempie di blu mentre si ricarica, con un pallino per ogni carica.
scenes/ hub.tscn (la Sala del Giudizio), game.tscn (la run), serpent.tscn, scorpion.tscn, cobra.tscn, player.tscn, mummy.tscn, scarab.tscn, priest.tscn
tools/ convert_sfx.py prepara i suoni dai pacchetti di Kenney
playtest/ bot di playtest automatico
scripts/ hub.gd la Sala del Giudizio dialogue.gd battute di Anubi
lore.gd storie degli dèi e Papiri di Thoth
weights.gd il Peso del Cuore
music.gd musica di sottofondo
chapters.gd Libro dei Morti ushabti.gd la statuetta del capitolo 6
meta.gd salvataggio permanente sfx.gd suoni e volumi
game.gd stanze, ondate, ricompense, porte, menu dei doni
room_builder.gd costruzione delle stanze: acqua, grate, giare, spuntoni, muri
tutorial.gd l'addestramento della prima volta
hazards.gd acqua, fuoco, grate, giare d'olio amheh.gd il boss della Prima Ora
updater.gd «Aggiorna all'ultima versione» (solo web)
ui/ pezzi di interfaccia: barre dell'HUD, carte di scelta, frecce delle porte,
anello dei doni, bilancia della morte, icone
room_decor.gd arredamento delle stanze traps.gd trappole
atmos.gd luci finte e vere, vignettatura, polvere lang.gd lingue
run.gd stato della run (vita, Ka, doni) ed effetti dei doni
boons.gd elenco di dèi e doni
enemy.gd base comune a tutti i nemici
mummy.gd, scarab.gd, priest.gd, scorpion.gd, cobra.gd comportamento dei singoli nemici
serpent.gd il Serpente della Porta ferryman.gd il Traghettatore e il negozio
player.gd, eye.gd, enemy_bolt.gd, pickup.gd, door.gd, reticle.gd
fx.gd effetti globali input_setup.gd comandi
ui_style.gd stile egizio: papiro, font god_portrait.gd ritratti degli dèi
dummy.gd fantocci dell'addestramento
Crea uno script che inizia con extends Enemy e scrivi due funzioni: _behave() (come si muove) e _draw_body() (come si disegna). Vita, colpi subiti, bruciatura e morte li gestisce già enemy.gd.
Aggiungi una riga in ALL dentro scripts/boons.gd, poi scrivi il suo effetto dove serve, cercando il suo id con Run.has("id_del_dono").