
Infinite Pokémon nima?
Infinite Pokémon — doimiy Pokémon uslubidagi piksel-art jonzot tutish RPG o‘yinining TypeScript’da yaratilgan, o‘ynash mumkin bo‘lgan prototipidir. Uning asosiy tajribasi — o‘ynash davomida yozilishi mumkin bo‘lgan dunyoni yaratish. Mahalliy AI harness sarguzashtingizning yozib olingan tarixidan foydalanib, kelajakdagi joylar, qahramonlar, suhbatlar, biom tanlovlari va syujet g‘oyalarini taklif qiladi.
Loyiha AI’ga o‘yinning vakolatli holatini boshqarishga ruxsat bermaydi. Harakatlanish, to‘qnashuv, janglar, inventar, rivojlanish va boshqa o‘yin qoidalari server tomonidan nazorat qilinadi. AI takliflari dunyoga kiritilishidan oldin sxemalar, xarita tekshiruvi va bog‘liqlik tekshiruvlaridan o‘tishi kerak. Tashrif buyurilgan joylar o‘z holatini saqlab qoladi, yangi manzillar esa o‘yinchidan oldin yaratilishi va keshlanishi mumkin.
Muhim: Infinite Pokémon faqat ta’limiy va notijoriy foydalanish uchun mo‘ljallangan eksperimental muxlislar loyihasidir. Bu rasmiy Pokémon mahsuloti emas va Nintendo, Creatures, GAME FREAK yoki The Pokémon Company bilan bog‘liq emas.
Davom etuvchi dunyo qanday ishlaydi
- Vakolat serverda qoladi. AI takliflari trenerni harakatlantira olmaydi, g‘alabalar bera olmaydi, to‘qnashuvni chetlab o‘ta olmaydi yoki rivojlanishni bevosita o‘zgartira olmaydi.
- Dunyo haqiqiy voqealarni yozib boradi. Har bir o‘yin jarayoni xaritalar, tanlovlar, NPC xotiralari, o‘yinchilar, yaratish vazifalari va voqealar tarixini mahalliy SQLite ma’lumotlar bazasida saqlaydi.
- Codex kelgusi tarkibni taklif qiladi. Xostning mahalliy Codex jarayoni o‘zgarmas nusxani o‘qiydi va joriy dvigatelga mos, cheklangan takliflarni yaratadi.
- Tekshiruvlar ish vaqtini himoya qiladi. Sxemalar va xarita tekshiruvlari taklif qilingan tarkibni qabul qilish mumkin yoki mumkin emasligini belgilaydi.
- Tekshirish nuqtalari tarmoqlanishni qo‘llab-quvvatlaydi. Eski tekshirish nuqtasidan davom etish o‘z ma’lumotlar bazasi, xotiralari va yaratish kontekstiga ega alohida tarmoqni hosil qiladi.
Tizim hozircha AI tomonidan ixtiyoriy tarzda yozilgan bajariladigan o‘yin jarayoni o‘rniga tekshirilgan, oldindan urug‘langan xarita shablonlariga tayanadi. Harness nomlar, tavsiflar, NPC profillari, salomlashuvlar, biom tanlovlari, syujet g‘oyalari va cheklangan relyef xususiyatlarini taqdim eta oladi. Yangi jonzot, buyum va transport vositasi tasvirlari tekshirilgan piksel-art retseptlari asosida yaratilishi mumkin, biroq tashqarida yaratilgan rasmlarni import qilish hali amalga oshirilmagan.
Asosiy imkoniyatlar
- O‘yin jarayoniga bog‘langan doimiy xaritalar, voqealar, syujet tanlovlari va NPC xotiralari.
- Server nazoratidagi harakatlanish, to‘qnashuv, janglar, inventar va rivojlanish.
- Xostning mahalliy Codex ulanishidan foydalanuvchi bir o‘yinchili tadqiqot.
- Model chaqiruvlarini amalga oshirmaydigan va token sarflamaydigan, beshta hududdan iborat cheklangan darslik ko‘rinishi.
- Sakkiztagacha bir vaqtdagi ulanish va saqlangan 64 ta trener uchun xost va qo‘shilish rejimidagi ko‘p o‘yinchili imkoniyat.
- Xaritani tayyorlash chuqurligini 0 dan 3 gacha sozlash.
- Yaratish partiyalarini bir vaqtda birdan sakkiztagacha blokka sozlash.
- Tugallanmagan manzillar uchun navbat holati, qayta urinish va bekor qilish boshqaruvlari.
- O‘zgarmas tekshirish nuqtalari va ajratilgan vaqt tarmoqlari.
- Do‘konlar, davolanish, yovvoyi to‘qnashuvlar, yo‘l trenerlari, velosipedlar, pitomniklar va gibrid tuxumlar.
- Brauzer, manbadan ishga tushiriladigan Electron ish stoli va ixtiyoriy Linux Docker jarayonlari.
Talablar
Oddiy mahalliy jarayon uchun Node.js 22.13 yoki undan yangirog‘ini o‘rnating. Node.js 22.13 dan 22.15 gacha bo‘lgan versiyalar qo‘llab-quvvatlanadi, biroq ma’lumotlar bazasi zaxira nusxalari yangi onlayn zaxiralash API’si mavjud bo‘lmaganda qisqa muddat bloklovchi SQLite VACUUM INTO zaxira usulidan foydalanadi.
Docker ixtiyoriy. Alohida global Codex CLI o‘rnatishingiz shart emas, chunki ish vaqti bog‘liqliklari Codex CLI 0.153.4 ni o‘z ichiga oladi. Eski global bajariladigan fayl moslikni o‘zgartirib yubormasligi uchun bridge loyiha ichidagi mahalliy CLI’ni afzal ko‘radi.
1-usul: AI yordamchisi orqali sozlash
Sozlashning eng qisqa yo‘li — Skills CLI yordamida repository’ning kirish skill’ini o‘rnatish:
npx skills add Shellishack/infinite-pokemon --skill infinite-pokemon
Keyin Codex yoki mos keluvchi AI yordamchisidan so‘rang:
Men uchun $infinite-pokemon’dan foydalanib, o‘yinni sozlang va ishga tushiring.
Kirish skilli agentga yetishmayotgan fayllarni klonlash, talablarni tekshirish, bog‘liqliklarni o‘rnatish, loyihani yig‘ish va uni ishga tushirish bosqichlarida yo‘l-yo‘riq beradi. Skill’ning o‘zini o‘rnatish dasturiy ta’minotni ishga tushirmaydi. Repository manba kodi talab qilinadi; npx skills add infinite-pokemon qo‘llab-quvvatlanadigan global taxallus emas.
Uni ishlatishdan oldin GitHub’dagi kirish skill’ini ko‘rib chiqishingiz mumkin.
2-usul: Qo‘lda o‘rnatish va ishga tushirish
Repository’ni klonlang yoki yuklab oling, uning ildiz katalogida terminalni oching va quyidagilarni ishga tushiring:
npm install
npm run build
npm start
Shaxsiy xost konsolini http://127.0.0.1:8788 manzilida oching. Node’ning ichki SQLite qo‘llovi eksperimental ogohlantirish chiqarishi mumkin; loyiha uchun bu ogohlantirish kutiladi.
Codex’ni ulang va dunyoga kiring
- Single player bandini tanlang.
- Mahalliy ulanish hali tasdiqlanmagan bo‘lsa, Connect to Codex bandini tanlang.
- Ko‘rsatilgan tokenlardan foydalanish haqidagi bildirishnomani ko‘rib chiqing va tasdiqlang.
- So‘ralsa, provayder hisobiga kiring.
- Qisqa nonce tekshiruvi tugashini kuting. U muvaffaqiyatli yakunlangach, o‘yin avtomatik ravishda boshlang‘ich xaritaga kiradi.
Tekshiruv mahoratni yuklamaydi va fayllarni o‘qimaydi; u faqat nonce tasdig‘ini so‘raydi va ok javobini kutadi. Ulangandan so‘ng, yaqin xaritalar sozlangan yaratish chuqurligiga ko‘ra fonda tayyorlanadi. Tekshiruv, muvaffaqiyatsiz urinishlar va fonda yaratish provayder limitini sarflashi mumkin, odatiy provayder cheklovlari va to‘lovlar hamon amal qiladi.
Yaroqli ulanish qayta ishlatiladi. Tasdiqlangan o‘yinni qayta ishga tushirgandan so‘ng, o‘yin yana bir kichik tasdiqlash oynasi orqali mahalliy kirishni tekshiradi. Agar bu tekshiruv muvaffaqiyatsiz bo‘lsa, interfeys ulanish amaliga qaytadi.
Codexsiz darslik ko‘rinishida o‘ynash
Provayderga kirish yoki token sarflashsiz mexanikani sinab ko‘rish uchun Codex ulanish ekranida Bir o‘yinchi, so‘ng Darslik ko‘rinishida o‘ynash bandini tanlang.
Ko‘rinishda oldindan tayyorlangan beshta tashqi hudud va ularning ichki xonalari mavjud:
- Willowbrook: shahar maydoni, bog‘lar, professor Fern laboratoriyasi va alohida uy.
- Whisperwood Trail: zich daraxtzorlar, egri-bugri yo‘llar, ochiq maydonlar va o‘rmon qo‘riqchisi kulbasi.
- Cloverbank River: gulli o‘tloqlar, daryo, yog‘och ko‘prik va dam olish uyi.
- Sunbreak Coast: ochiq suvlar, sohil yo‘llari, taxtali so‘qmoqlar va sohil stansiyasi.
- Waystone Terraces: zigzag yo‘nalishlar, tosh terrasalar, qulagan ustunlar va arxiv boshpanasi.
Ko‘rinish hech qanday model so‘rovini yubormaydi va yangi xaritalar yoki NPC rejalarini yaratmaydi. Uning chegarasida Codexni ulab, to‘liq tadqiqotni o‘sha saqlangan o‘yin bilan davom ettirishingiz mumkin. Murabbiyingiz, ochilgan xaritalar va darslikdagi taraqqiyotingiz saqlanadi. Ko‘rinishdagi saqlangan o‘yinlar targ‘ib qilinmaguncha maxfiy va asl dunyodan alohida bo‘ladi; ko‘p o‘yinchi rejimi faqat Codex ulanib, tekshirilgandan keyin mavjud bo‘ladi.
Asosiy boshqaruv va o‘yin jarayoni
- WASD yoki strelka tugmalari bilan harakatlaning.
- NPC, belgi, buyum yoki xona kompyuterining to‘g‘ridan-to‘g‘ri yonida turing, unga qarang va E yoki Space tugmasini bosing.
- Diagonal yaqinlik o‘zaro aloqa uchun hisobga olinmaydi.
- Ko‘rinib turgan bino eshigiga kiring yoki qo‘shni katakdan unga qarab, E tugmasini bosing.
- Partiya, sumka, murabbiy profili, jurnal, xarita va saqlash menyusini ochish uchun Escape yoki START tugmasini bosing.
- Menyuni yopish uchun Escape tugmasini yana bosing.
Odamlar, belgilar, to‘siqlar, devorlar va mebellar harakatni to‘sadi. Buyum bilan o‘zaro aloqada bo‘lish uchun uning ichidan o‘tishga urinmasdan, unga qarang. Baland o‘tlar yovvoyi to‘qnashuvlarni keltirib chiqarishi mumkin, murabbiylar sinovlar taklif qiladi, yo‘lko‘rsatuvchilar esa boshlang‘ich mashqlarni beradi. Ichkaridagi qarovchilar jamoangizni davolashi mumkin.
Boshpanalarda savdogar va pitomnik qarovchisi bo‘lishi mumkin. Siz anjomlar sotib olishingiz, Velosiped xarid qilishingiz yoki 5-darajali ikki hamrohni juftlab, gibrid tuxum olishingiz mumkin. CODEX, NURSERY, RIDES va RECORDS kabi qo‘shimcha menyular START orqali mavjud.
Xarita yaratishni sozlash
Xaritani yaratish xatti-harakatlarini sozlash uchun START → SESSION menyusini oching. Xarita yaratish chuqurligi host dunyoni qanchalik oldindan tayyorlashini belgilaydi:
- 0-daraja: yetib kelganda yaratish.
- 1-daraja: atrofdagi to‘rtta xaritani tayyorlash; standart qiymat shu.
- 2-daraja: 12 ta xaritani tayyorlash.
- 3-daraja: 24 ta xaritani tayyorlash.
Yaratish paketi hajmi sukut bo‘yicha bir vaqtning o‘zida uchta blokdan iborat va uni birdan sakkiztagacha belgilash mumkin. Ketma-ket yaratishni afzal ko‘rsangiz yoki bir vaqtdagi ishni cheklamoqchi bo‘lsangiz, birni tanlang. Yuqoriroq chuqurlik va parallellik ko‘proq hududni tayyorlashi mumkin, ammo provayder sarfi va yaratish faolligini oshirishi ehtimol.
Saqlangan o‘yinlar, nazorat nuqtalari va tarmoqlar yaratish
O‘yin jarayonlari va o‘zgarmas nazorat nuqtalarini boshqarish uchun START → SAVES menyusini oching. SAVE bandini tanlash nazorat nuqtasini yaratadi. Eski nazorat nuqtasidan davom etsangiz, o‘yin asl vaqt jadvalini qayta yozish o‘rniga alohida tarmoq yaratadi.
Har bir tarmoqning o‘z dunyo tarixi, NPC xotiralari, yaratish konteksti va avtomatik saqlash ma’lumotlar bazasi mavjud. Asl o‘yin jarayonida keyinroq sodir bo‘lgan voqealar yangi tarmoqdagi xotiralarga aylanmaydi. Bu asl sarguzashtni saqlab qolgan holda muqobil natijalarni o‘rganish imkonini beradi.
Brauzerda saqlangan o‘yinlar joriy brauzer va manba uchun saqlanadigan shaffof bo‘lmagan sessiya tokeni bilan bog‘lanadi. Host nomi, sxema yoki portni o‘zgartirish yoxud brauzer xotirasini tozalash mehmon brauzerining murabbiy bilan bog‘lanishini yo‘qotishiga olib kelishi mumkin. O‘yinda qo‘lda tiklash kaliti interfeysi mavjud emas.
Ko‘p o‘yinchi sessiyasini host qilish
- Sarlavha ekranidan Multiplayer → Host session bandini tanlang.
- Zarur bo‘lsa, hostning Codex sessiyasini ulang va tekshiring.
- Mehmon manzilini topish uchun START → SESSION menyusini oching.
- Mehmon o‘yin manzilini faqat ishonchli o‘yinchilar bilan ulashing.
Shuningdek, yolg‘iz boshlashingiz va keyin Session menyusidan Enable multiplayer bandini tanlashingiz mumkin. Mehmonlar Multiplayer → Join session bandini tanlaydi va http://HOST_LAN_ADDRESS:8787 kabi manzil yoki hostning HTTPS URL manzilini kiritadi. Taxallus ixtiyoriy personaj matni bo‘lib, hisob emas.
Codexga faqat host ulanadi va yaratish limitini taqdim etadi. Mehmonlar hostning joriy o‘yini va tarixini baham ko‘radi, ammo Codexga o‘zlari ulanmaydi. Return to single player bandini tanlash joriy mehmon ulanishlarini yopadi va serverdagi saqlangan o‘yinlarni saqlagan holda yangi ommaviy ulanishlarning oldini oladi.
Ikki tarmoq portini tushunish
0.0.0.0:8787mehmonlar uchun o‘yin xizmati. Ommaviy kirish faqat ko‘p o‘yinchili rejim yoqilganda ochiladi.127.0.0.1:8788Codex ulanishi, generatsiya sozlamalari va zaxiralash boshqaruvlari uchun maxfiy host konsolidir.
8788-portni hech qachon ochmang yoki reverse-proxy orqali yo‘naltirmang. Codex jarayoni, hisob ma’lumotlari katalogi yoki host API'larini mehmonlar uchun ochmang. Proksi yoki tunnel ishlatilsa, faqat 8787-portdagi mehmonlar xizmatini yo‘naltiring.
Internet orqali hosting uchun repozitoriyda faqat 8787-portni proksi qiluvchi va WebSocket'larni qo‘llab-quvvatlovchi namunaviy Caddy konfiguratsiyasi mavjud. Bir xil manba tekshiruvlari uchun proksi original Host sarlavhasini saqlashi kerak. Avtomatik NAT traversal va joylashtirilgan relay kiritilmagan.
Development yoki Desktop versiyasini ishga tushirish
Development uchun TypeScript serveri va Vite middleware'ini birga ishga tushiring:
npm run dev
Electron host oynasini ochish uchun avval loyihani build qiling, so‘ng quyidagini ishga tushiring:
npm run build
npm run desktop
Electron rejimi paketlangan installer emas, manbadan ishga tushiriladigan desktop qobig‘idir. Unga PATH orqali Node.js yoki NODE_BINARY orqali berilgan absolyut yo‘l kerak. To‘liq ekran rejimini yoqish yoki o‘chirish uchun F11 tugmasini bosing yoki bevosita to‘liq ekran rejimida ishga tushiring:
npm run desktop:fullscreen
Linux uchun ixtiyoriy Docker sozlamasi
Taqdim etilgan Compose konfiguratsiyasi Linux'dagi Docker Engine uchun mo‘ljallangan va host tarmog‘idan foydalanadi. Unda ataylab port mapping'lari yo‘q, shuning uchun loopback ma'muriyat tinglagichi bridge interfeysiga joylashtirilmasdan, lokal ravishda foydalanish mumkin bo‘lib qoladi.
docker compose build
docker compose up -d
docker compose exec game node node_modules/@openai/codex/bin/codex.js login --device-auth
Server egasi sifatida autentifikatsiyani o‘zingiz yakunlang. world-data volume'i dunyoni /app/data ostida, codex-private esa autentifikatsiya va konfiguratsiyani /home/node/.codex ostida saqlaydi. Har ikkala volume'ni saqlang va codex-private'ni hisob ma'lumotlari sifatida himoyalang.
Server xatolarini quyidagicha tekshiring:
docker compose logs game
docker compose stop volume'larni saqlab qoladi. Dunyo saqlanib qolishini istasangiz, down --volumes buyrug‘ini ishlatmang. README Windows va macOS'da ushbu Compose konfiguratsiyasi o‘rniga native buyruqlardan foydalanishni tavsiya qiladi.
Dunyongizni zaxiralash va tiklash
Native npm start ma'lumotlarni ./data ichida saqlaydi. Electron ilovaning user-data joylashuvidagi world katalogidan foydalanadi. Bir nechta ishga tushirish usuli bir xil dunyodan foydalanishini istasangiz, INFINITE_DATA_DIR ga absolyut yo‘l belgilang.
Onlayn ma'lumotlar bazasining tezkor zaxira nusxasini yaratish uchun START → SESSION → World settings → Back up world bo‘limini oching. Zaxira backups/ ostiga yoziladi. U ma'lumotlar bazasi holatini o‘z ichiga oladi, ammo barcha context fayllari, generatsiya jurnali yoki maxfiy Codex hisob ma'lumotlarini qamrab olmaydi.
To‘liq arxiv yaratish uchun:
- Serverni to‘g‘ri tarzda to‘xtating.
- Butun data katalogidan nusxa oling, zarur bo‘lsa preview kataloglarini ham qo‘shing.
- Nusxani alohida katalogga tiklang.
INFINITE_DATA_DIRni tiklangan katalogga o‘rnating.- Zarur bo‘lsa, qayta ishga tushiring va Codex'ga qayta ulaning.
Ishlayotgan ma'lumotlar bazasini hech qachon almashtirmang yoki uni faol SQLite WAL fayllaridan ajratmang. Tiklangan dunyo tekshirilmaguncha original arxivni saqlab turing.
Foydali konfiguratsiya o‘zgaruvchilari
INFINITE_DATA_DIR: dunyo ma'lumotlar bazasi, snapshot'lar, jurnallar va zaxiralar.PORT: mehmonlar o‘yin porti; standart qiymat8787.ADMIN_PORT: loopback host-konsol porti; standart qiymat8788.CODEX_EXECUTABLE: ixtiyoriy executable yokicodex.jsoverride'i; shell wrapper'lar rad etiladi.CODEX_HOME: host egasi boshqaradigan ixtiyoriy Codex autentifikatsiya va konfiguratsiya katalogi.NODE_BINARY: Electron foydalanadigan Node.js executable'i.INFINITE_MAP_TIMEOUT_MS: har bir xarita generatsiyasi uchun deadline; standart qiymat180000, maksimal qiymat600000.
Kengaytirilgan maslahatlar
Masofaviy ma'muriyatni maxfiy tarzda yo‘naltirish
Masofaviy hostda Codex'ni operatorning maxfiy shell'idan autentifikatsiya qiling:
node node_modules/@openai/codex/bin/codex.js login --device-auth
So‘ng loopback ma'muriyat portini o‘z kompyuteringizdan yo‘naltiring:
ssh -N -L 127.0.0.1:8788:127.0.0.1:8788 operator@your-server
Lokal kompyuteringizda http://127.0.0.1:8788 manzilini oching. Bu SSH ulanishi faqat egaga tegishli ma'muriyat tunnelidir, ommaviy o‘yin proksisi emas.
Engine'ni o‘zgartirishdan oldin test to‘plamlarini ishga tushiring
npm test
npm run build
npm run test:movement
npm run test:gameplay
npm run test:preview
npm run test:saves
npm run test:streaming
npm run test:variety
npm run test:e2e
npm run test:desktop
Deterministik fixture'lar provider chaqiruvlarisiz o‘yin mexanikasini sinovdan o‘tkazadi. Movement va gameplay brauzer tekshiruvlari tayyorlangan preview'dan foydalanadi va hech qanday Codex chaqiruvi amalga oshirilmasligini tasdiqlaydi.
Faqat zarur bo‘lganda tiklang
Bosh ekrandagi Settings → Full game reset amali save'larni boshqarishdan farq qiladi. RESET bilan tasdiqlangandan so‘ng u barcha o‘yinlar, checkpoint'lar, generatsiya qilingan kontent, progress va o‘yin sozlamalarini o‘chiradi. Shuningdek, o‘yinning Codex tasdig‘ini unutadi, ammo Codex CLI tizimga kirilgan holatda qoladi.
Joriy cheklovlar
Infinite Pokémon tayyor reliz emas, balki prototipdir. Generatsiya cheklangan saqlash hajmi, provayder limitlari, generatsiya vaqti va dvigatelning joriy lug‘ati bilan chegaralanadi. Relyef tasdiqlangan shablonlardan foydalanadi, AI esa ixtiyoriy bajariladigan mexanizmlarni yaratmaydi. Savdo, xizmat ko‘rsatish markazi va Dojo tizimlarining to‘liq versiyalari hamda tashqi tasvir generatsiyasi xizmatlaridan tasvir import qilish kelajakdagi ishlar sifatida ta’riflangan, hozirgi funksiyalar emas.
Bir vaqtning o‘zida sakkizta ulanish va 64 ta saqlangan trener bilan cheklanish internet miqyosidagi imkoniyatni ko‘rsatuvchi dalil emas, balki amalga oshirish cheklovlaridir. Internet orqali joylashtirish operatorga mos ravishda xavfsizlik devorlari, DNS, HTTPS, port yo‘naltirish yoki shaxsiy tunnelni sozlashni ham talab qiladi.
Xulosa
Infinite Pokémon ishonchli, server boshqaradigan RPG yadrosini chegaralangan, AI yordamidagi dunyoni davom ettirish imkoniyati bilan birlashtiradi. Tokensiz ko‘rib chiqish rejimidan boshlang, kengayib boruvchi tadqiqotga tayyor bo‘lganingizda Codex’ni ulang va muqobil kelajaklarni sinash uchun nazorat nuqtalaridan foydalaning. Ko‘p o‘yinchili yoki masofaviy joylashtirishda host konsoli va hisob ma’lumotlarini maxfiy saqlang, faqat mehmonlar xizmatini tashqi tarmoqqa oching va ma’lumotlar katalogining to‘liq zaxira nusxalarini saqlab boring.
Manba kodi, hujjatlar, amalga oshirish qaydlari, ko‘nikmalar, mualliflar ro‘yxati va rad etish bayonoti uchun Infinite Pokémon GitHub repozitoriyiga tashrif buyuring.
