OhMyGame
OhMyGame은 AI로 게임을 만들 수 있는 오픈소스 스튜디오로, 디자인·구축·플레이테스트·출판을 하나의 앱에서 모델 키와 함께 수행합니다
Auto Yard: 도시 차고에서 차를 수리하고, 고철에서 클래식 차를 구해내며, 드래그 레이스에서 승리하는 Android 무료 게임
Auto Yard: şehirdeki garajında arabaları tamir et, hurdalıktan klasikleri kurtar, drag yarışlarında kazan. Android için ücretsiz garaj oyunu.
게임HTML · JavaScriptGitHub @BurakGGGG온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Android oyunu Auto Yard'ın tanıtım, yasal metin ve destek sitesi. Bağımlılıksız statik site + tek Vercel Function.
Beş dil: Türkçe kökte (/, /gizlilik…), İngilizce /en/…, İspanyolca /es/…, Almanca /de/…,
Fransızca /fr/… (DE/FR 2026-10-17). Tasarım oyunun logosu ve
arayüzüyle aynı dilde: ışınlı lacivert, altın plaka düğmeler, krem kartlar, sarı-siyah ikaz şeridi (2026-10-17 yenilendi).
site.config.json ad, e-posta, geliştirici, Play paket adı, yayın durumu, diller — tek yerden
src/layout.html tüm sayfaların iskeleti (head, header, footer, çerez bandı)
src/i18n/<dil>.json sayfa adresleri ("paths"), arayüz metinleri ("t"), site.js metinleri ("script")
src/pages/<dil>/<anahtar>.html sayfalar; aynı anahtar = aynı sayfanın çevirisi (hreflang otomatik)
src/pages/404.html dilsiz 404 (beş dilde kısa metin)
src/partials/ ortak parçalar (header, footer, cta, araç kartları cars-<dil>, ikonlar)
src/assets/ site.css, site.js, davet.js, fonts/ (Baloo 2 + Nunito, OFL), img/, video/
tools/make_images.py logo/ikon/oyun kareleri/araç kartları/video kapağı/paylaşım görselleri (oyun deposundan üretir)
api/contact.js POST /api/contact — iletişim ve hesap silme formları (Resend), yanıtlar formun dilinde
scripts/build.mjs derleyici scripts/check.mjs denetçi scripts/serve.mjs yerel sunucu
tests/ form API testleri (node --test)
Sayfa anahtarları ve adresleri (TR · EN · ES · DE · FR): home (/ · /en · /es · /de · /fr),
privacy (/gizlilik · /en/privacy · /es/privacidad · /de/datenschutz · /fr/confidentialite),
terms (/kullanim-sartlari · /en/terms · /es/terminos · /de/nutzungsbedingungen · /fr/conditions),
cookies (/cerez-politikasi · /en/cookies · /es/cookies · /de/cookies · /fr/cookies),
delete (/hesap-silme · /en/delete-account · /es/eliminar-cuenta · /de/konto-loeschen · /fr/supprimer-compte),
contact (/iletisim · /en/contact · /es/contacto · /de/kontakt · /fr/contact), thanks ve invite (noindex).
Oyun bu adreslere bağlanır: eski sürümler Türkçe adreslere, 2026-10-17'den sonraki sürümler oyuncunun dilindeki
privacy / terms / contact / delete sayfasına (oyunda Loc.SITE_PATHS) ve /d/<jeton>'a — bunlar değişmemeli.
Davet linki /d/<jeton>: vercel.json yeniden yazması tarayıcı diline (Accept-Language) göre /es/invitacion,
/en/invite, /de/einladung, /fr/invitation ya da /davet'i gösterir; adres çubuğu /d/<jeton> kalır, davet.js jetonu oradan okur.
| Komut | Ne yapar |
|---|---|
npm run build | public/'i derler ve denetler. Denetim hata verirse Vercel derlemesi durur. |
npm run dev | http://localhost:3000 (vercel.json başlıkları + /api/contact dahil). FORM_DRY_RUN=1 npm run dev formları e-posta göndermeden konsola yazar. |
npm test | Form API testleri |
node scripts/check.mjs --external | Dış linkleri de dener |
Node 20+ yeterli, npm install gerekmez.
site.config.json: developerName ve contactEmail alanlarındaki DEGISTIR yer tutucularını doldur (derleme bunlar için uyarı verir). Oyun Play'de yayınlanınca playStoreLive: true yap → CTA'lar "Google Play'den indir" olur.vercel.json'dan gelir..env.example): RESEND_API_KEY, CONTACT_TO_EMAIL, isteğe bağlı CONTACT_FROM_EMAIL, SITE_URL. Bunlar yoksa formlar 503 döner ve kullanıcıya e-posta adresini gösterir.https://<alan-adın>/gizlilik, hesap silme URL'si → https://<alan-adın>/hesap-silme.| # | Madde | Nasıl karşılanıyor | Nasıl doğrulanır |
|---|---|---|---|
| 1 | Gizlilik politikası | /gizlilik (+ EN/ES/DE/FR) — KVKK/GDPR; oyunun kodla doğrulanmış veri akışı (2026-10-17): Google girişi (anonim hesap yok), bulut kaydı, herkese açık garaj profili ve profil fotoğrafı, arkadaşlık verileri, şikâyet/engelleme, FCM bildirimleri, AdMob ödüllü reklamlar + UMP, Play Billing gem paketleri, kamera izni; site verileri, aktarım, süreler, silme, haklar | Oyuna veri toplayan yeni bir şey eklenince beş dildeki sayfa ve Play Data safety formu birlikte güncellenmeli |
| 2 | Kullanım şartları | /kullanim-sartlari — lisans, kurallar, sanal para, sorumluluk, Türk hukuku | — |
| 3 | Çerez onayı | Alt bant: Reddet ve Kabul et eşit ağırlıkta; onaysız hiçbir analiz betiği yüklenmez; GPC sinyali ret sayılır; 12 ayda bir yeniden sorulur; alt bilgideki "Çerez tercihleri" ile değiştirilebilir; /cerez-politikasi | Tarayıcıda Ağ sekmesi: onay öncesi /_vercel/ isteği yok |
| 4 | Net CTA | Hero + sayfa sonu + header'da tek eylem: Play'den indir (yayın öncesi: "Çıkınca haber ver" → iletişim formu, konu seçili gelir; playStoreLive: true hepsini çevirir) | — |
| 5 | Mobil görünüm | Mobil öncelikli CSS, 16 px kenar boşluğu, ≥44 px dokunma hedefleri, tablolar kendi içinde kayar | 390 px'de scrollWidth = 390 |
| 6 | Formlar çalışıyor | İstemci + sunucu doğrulaması, alan bazlı hata mesajları, bal tuzağı, IP hız sınırı, JS kapalıyken de çalışır (303 → /tesekkurler), Resend yoksa e-posta adresi gösterilir | npm test (11 test) |
| 7 | Kırık link yok | check.mjs her derlemede iç link, çapa, kaynak, yönlendirme hedeflerini denetler; kırık link = derleme durur | npm run build, --external |
| 8 | Site hızı | Framework yok, yerel yazı tipleri (font-display: swap, unicode-range), WebP + srcset, lazy loading, boyutlu görseller (CLS 0), video yalnızca görününce iner (hareket azaltma / veri tasarrufunda hiç inmez), özetli varlıklar 1 yıl önbellek; bütçe: hemen yüklenen 350 KB, tembel görsellerle toplam 1600 KB | check.mjs |
Ek olarak: sıkı CSP ve güvenlik başlıkları (vercel.json), VideoGame + BreadcrumbList yapısal verisi, /privacy, /terms, /delete-account → İngilizce sayfalar. Çok dil denetimleri: her sayfanın <html lang>'ı klasörünün dili; hreflang bağlantıları gerçek, indekslenen, aynı dildeki sayfaları gösterir ve karşılıklıdır, x-default vardır.
Her denetim, bilerek bozulan bir kopyada hatayı yakaladığı doğrulanarak eklendi.
src/pages/tr|en|es|de|fr/<anahtar>.html); yasal metinlerde Türkçe asıldır.
Almanca sitede hitap du, Fransızca sitede vous; Fransızcada ! ? : ; öncesinde bölünmez boşluk.<!--meta {"updated": "..."}--> tarihini güncelle → sitemap ve "Son güncelleme" ondan beslenir.home.html'ine <details id="sss-…"> (EN, DE, FR faq-…, ES preguntas-…) ekle; yapısal veri ve llms.txt kendiliğinden güncellenir.qa/ekran_tarama.gd, qa/arkadaslar_qa.gd), sonra tools/make_images.py'yi çalıştır.Yasal metinler sağlam bir şablondur ama hukuki görüş değildir; ticari yayından önce bir avukata okutman önerilir.
| 9 | Erişilebilirlik | lang, içeriğe geç linki, tek h1 + sıralı başlıklar, etiketli form alanları, aria-invalid/aria-describedby, role=status duyuruları, görünür odak, koyu mod, prefers-reduced-motion | Lighthouse a11y: 100; check.mjs |
| 10 | Analytics | Vercel Web Analytics + Speed Insights (çerezsiz), onaya bağlı | Vercel panosu |
| 11 | Meta başlık ve açıklama | Her sayfada benzersiz <title> (≤60) ve açıklama (70–160 karakter); sayfa başındaki <!--meta--> yorumundan | check.mjs: uzunluk, benzersizlik |
| 12 | sitemap.xml | Derlemede üretilir: yalnızca indekslenen sayfalar, canonical adresleriyle; lastmod sayfanın updated alanından | check.mjs: eksik/fazla sayfa, geçersiz tarih |
| 13 | robots.txt | Derlemede üretilir: her şeye açık, yalnızca /api/ kapalı, Sitemap satırı canonical alan adıyla | check.mjs: Disallow: / ve eksik Sitemap satırı hata |
| 14 | Canonical URL'ler | İndekslenen her sayfada tek, mutlak https, sorgusuz canonical; 404 ve teşekkür sayfasında yok. Alan adı SITE_URL → Vercel üretim adresi → site.config.json sırasıyla | check.mjs: doğru sayfayı gösterme, og:url eşleşmesi |
| 15 | Görsel alt metinler | Her içerik görselinde ne gösterdiğini anlatan alt; dekoratif görseller alt="" + aria-hidden; OG görselinin de alt'ı var | check.mjs: kısa, "görsel…" ile başlayan, dosya adına benzeyen alt hata |
| 16 | Sık sorulan sorular | Her dilin ana sayfasında 9 soru, her biri bağlantılanabilir (/#sss-telefon, /en#faq-ads açık gelir); aynı sorular FAQPage yapısal verisine ve llms.txt'ye otomatik akar | check.mjs: sayfa ↔ yapısal veri sayısı |
| 17 | Özel 404 | Markalı sayfa, gerçek 404 durum kodu, noindex, ana sayfa + 5 yardımcı link | check.mjs |
| 18 | Sosyal paylaşım | Open Graph + X kartı (1200×630 görsel, alt metni ile); sayfa sonunda Paylaş (Web Share API), WhatsApp, X, Telegram, linki kopyala — takip betiği yok | check.mjs: etiketler + görselin gerçek boyutu |
| 19 | Favicon | Oyunun Play ikonundan: favicon.ico (16/32/48), SVG favicon, apple-touch-icon, manifest'te 192/512 + maskable (adaptive katmanlardan) | check.mjs: ICO başlığı, manifest ikonları |
| 20 | llms.txt | llmstxt.org biçiminde derlemede üretilir: oyun özeti, temel bilgiler, sayfalar, SSS | check.mjs: biçim, kırık link/çapa, eksik sayfa |