BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
Strata 엔진 기반 아드바이타 베단타 1인칭 게임
A first-person game about Advaita Vedānta on the Strata engine. MVP complete: chores in a river village, snakes that are ropes by lamplight, pots a clay lens shows are clay, a cited codex with other s
게임C++ · HTMLGitHub @Preponderous-Software온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A first-person game about Advaita Vedānta on the Strata engine. MVP complete: chores in a river village, snakes that are ropes by lamplight, pots a clay lens shows are clay, a cited codex with other schools' readings, and an after-mode that never ends. Saves; Windows, Linux and the browser.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A small 3D game about Advaita Vedānta: the teaching that the self (Ātman) is the absolute (Brahman), and that liberation (mokṣa) is a recognition, not a reward. Atman runs on Strata, a small C++ engine.
You wake in a river village with a body, a name and a list of chores. At dusk a snake on the path turns out to be a rope. The potter's pots turn out to be clay. Chapter by chapter, the things you took to be "you" are examined the way the Upaniṣads examine them, and the game's own interface comes apart. At the end nothing rolls credits. You are still in the village, still doing the chores, and nothing is at stake.
Status: the MVP is complete (milestones M0 to M7), and chapter 3, Three States, has been added since. Play it in a browser at atman.play.danielstephenson.dev, on a computer or a phone (docs/WEB.md), or download it for Windows or Linux from the releases page. You can walk the valley in first person: the village, the well, the potter's yard, the ghat and the bird tree, from late afternoon through sunset into night, with the sun where it really is over the middle Ganges plain on the spring equinox. The HUD shows the time, the body's needs, your standing and the day's chores.
At dusk the first teaching begins, The Rope. Three snakes lie on the path between the village and the ghat. A fear meter rises as you come near one, and you cannot bring yourself to walk up to it. Light the lamp (F), go as close as you dare and look at it steadily for about two seconds: it is a rope, and it stays a rope. Nothing is scored. After the last one the fear meter leaves the HUD and does not come back.
The second teaching, Clay and Pots, is at the potter's wheel. Throw a water jar, a bowl, a cup or a lamp (1–4), give it a name, and it goes on the drying board and into your list of things made. After three pots you have the clay lens (C): pots, bricks, roof tiles and the riverbank all show as one material, and the list reads "Rice for Amma: clay". Motes of light hang over the board. They were there before the first pot, and a pot only hides the ones inside it. Break one (B) and its name leaves the list, while not one mote moves.
The day has its chores, as an ordinary game would: carry water from the ghat to the potter's door, and dig clay on the riverbank north of the ghat for the wheel (E to fill, give, dig and leave). Each earns standing in the village. Drink at the well, eat at home, and at night sleep at your door (E): the screen goes dark and you wake at half past six the next morning, with the chores on the list again.
The night after the rope and the clay, the third teaching, Three States, comes in sleep. You dream the valley: the same houses and paths in an evening light, except that the sun runs backwards and every place wears the next one's name, and nothing on the HUD finds that strange ("Nothing here seems strange"); under it, a quieter line says there is nothing to do and the dream passes by itself. After a minute and a quarter the dream goes out, and deep sleep is a black screen with only the river, a dim point that slowly breathes, and one faint line: "Deep sleep. Morning comes by itself." Then you wake, and two pages of the codex are open: Yājñavalkya on the dream, and the fourth, what was there through waking, dream and deep sleep.
The morning after the deep sleep is the after-mode, and it does not end. The chores come round again and earn nothing; Standing is gone from the HUD. Press V to step out of the body: the avatar carries on alone, drinking, eating, carrying water and clay, sitting on the ghat steps, going home at dusk, while you fly anywhere in the valley. V again steps back in. That morning the game says the teachings are done and nothing more is asked of you, and the drone of a tanpura comes in under the valley's sounds; nothing says the game is won. The days after are not all alike: the second evening the village sets small clay lamps along the ghat steps and floats more on the river (the morning says so), the third morning a flock of egrets crosses the valley, and after that each comes round now and then.
Until then the HUD's NEXT line says what comes next, and the names of houses and places show over them as you near them: your door is indigo, the potter's ochre, the shrine's saffron under a saffron pennant. After sunset each house lights a lamp by its door.
Every sound is made by the game as it plays, with no recordings: the river, the wind, birds and a koel by day, crickets at night, footsteps on earth and on the ghat's stone, the wheel, a heartbeat while there is fear, a bell for each new page of the codex. M (or the page's Sound button) turns it off.
The codex (Tab) holds each verse the game has taught, as a page with the Sanskrit in Devanagari and IAST, an English translation, the translator, the edition and the sources. A page opens when its teaching happens: the rope and the snake (Gauḍapāda's Māṇḍūkya Kārikā 2.17–2.18), clay and its names (Chāndogya Upaniṣad 6.1.4), the space in the pot (Kārikā 3.3–3.4), the dream (Bṛhadāraṇyaka Upaniṣad 4.3.9–10 and 4.3.14) and the fourth (Māṇḍūkya Upaniṣad 2 and 7). One page is open from the start: how Advaita, Viśiṣṭādvaita and Dvaita each read tat tvam asi. The game pauses while the codex is open.
| The well, at a quarter to five | The ghat steps down to the river |
|---|---|
| The village from the ghat | Sunset over the river, just after six |
|---|---|
| Lamplight on a snake at half past seven | It was a rope |
|---|---|
| Throwing a water jar | Three pots, three names |
|---|---|
| Through the clay lens | The jar broken, the space unmoved |
|---|---|
| The codex: the rope and the snake | Other schools |
|---|---|
| The dream, at a quarter to six | Later in the dream: the sun back in the afternoon |
|---|---|
| The codex: the dream | The codex: the fourth |
|---|---|
| The next morning | Watching the avatar go about its day |
|---|---|
| A lamp night, the second evening | Egrets, the third morning |
|---|---|
Frames from the game's own headless tour (atman --headless --tour --frames DIR).
Atman builds with CMake 3.24 or newer and a C++17 compiler. Strata, and the SDL3 it uses, are
fetched and built along with it, at the commit ATMAN_STRATA_REF in CMakeLists.txt pins
(Strata v0.6.0).
cmake -S . -B build
cmake --build build --config Release
./build/atman # Windows: build\Release\atman.exe
ctest --test-dir build -C Release
On Windows, tools/play-atman.bat does all of this in one step. It installs CMake and the Visual
Studio C++ build tools with winget if they are missing, clones or updates main into
%USERPROFILE%\atman-play, builds the game and starts it. Extra arguments go to the game, for
example play-atman.bat --tour, or play-atman.bat --autopilot --speed 10 to watch the autopilot
play the whole slice at ten times speed.
The game continues from its save: %APPDATA%\Atman\default on Windows, ~/.local/share/atman/default
elsewhere, or --slot DIR. It saves every two minutes, on F5 and on quit, and keeps the save before
last. A save that fails its checksum is refused with a message and the previous one loads.
--new starts over (the old save is kept as the previous one). --autopilot never saves. A
second village (F6) is saved beside the first, in default-2 (or DIR-2); the settings (text
size, captions, which village) are in the first's settings.txt.
On Linux, SDL3 needs the X11 development packages (libx11-dev libxext-dev libxcursor-dev libxi-dev libxfixes-dev libxrandr-dev libxss-dev). cmake -DATMAN_WITH_STRATA=OFF builds only the
simulation and its tests, with no engine.
| Input | Action |
|---|---|
| Mouse | Look |
| W A S D | Walk |
| Shift | Hurry |
| E | Use what is here: fill the jar, give the water, dig or leave clay, drink, eat, sleep |
| F | Light the lamp, or put it out |
| 1 2 3 4 | At the wheel: throw a water jar, a bowl, a cup or a lamp, then type its name and press Enter |
| B | Break the pot you are looking at |
| C | The clay lens (after three pots) |
| Tab | The codex (Up and Down, or W and S, choose a page; Tab or Esc goes back) |
| V | In the after-mode: step out and watch the avatar (W A S D and the mouse fly), or step back in |
| M | Sound on or off |
| F1 | Show or hide the controls |
| H | Hide or show the HUD, to see the valley |
| F2 | Text size: normal, large, larger |
| F3 | Captions for the sounds that matter (a heartbeat when afraid, the wheel, the river in deep sleep); they also show while the sound is off |
| F6 | Your other village: the game keeps two, each with its own save |
| F5 / F9 | Save now / load the last save |
| Esc | Free the mouse (Esc again quits) |
| Document | What it covers |
|---|---|
| CONCEPT.md | The game: the design problem, the valley, each chapter's teaching and mechanic, teaching rules, tone |
| MVP.md | The first playable slice, what "done" means for it, and the milestones |
| ARCHITECTURE.md | Code layout, the simulation core, how each mechanic maps to Strata, text, saves, tests |
| RESEARCH.md | Sources: Upaniṣads, Śaṅkara and later Advaita, modern scholarship, Alan Watts and other modern teachers, related games, and a verification log |
| docs/REVIEW.md | The review packet: every codex page's Sanskrit and English, word-by-word glosses of the working translations, questions for a reviewer, how to send feedback, and the checks that need real hardware |
| docs/WEB.md | The browser build: what differs from the desktop game, touch controls, saves in the browser, building it, CI and deployment |
| docs/RELEASING.md | Cutting a release: the version, playtest evidence and the Windows and Linux downloads |
| docs/playtests/ | Playtest notes for each release, and what was changed for them |
| docs/THIRD-PARTY.md |
Corrections from people who know this tradition are welcome as issues.
python3 tools/check_docs.py checks that every relative link and heading anchor resolves, and that
every citation ID (such as [P1]) is defined in RESEARCH.md. CI runs it on every pull request.
Strata draws ASCII text only, so each codex page is an image ("plate") made ahead of time from
content/codex/*.json and committed under content/plates/. After changing an entry, run
python3 tools/plates/make_plates.py (it needs Pillow built with libraqm, for Devanagari shaping).
python3 tools/plates/make_plates.py --check needs nothing beyond Python. It checks that every
citation is defined, every entry names a translator, and every plate is current. CI runs it.
MIT. The plates are set in Tiro Devanagari Sanskrit, under the SIL Open Font License
(tools/plates/fonts/OFL.txt). The game decodes them with
stb_image (public domain or MIT, third_party/stb/), and plays
sound through miniaudio 0.11.25 (public domain or MIT No
Attribution, third_party/miniaudio/).
| The licences of the third-party code in the game and its downloads, and of the plates' font |