3 puan yazan GN⁺ 2024-06-17 | 1 yorum | WhatsApp'ta paylaş
  • Maxis’in orijinal SimCity Classic’ine dayanan Micropolis Web, tarayıcıda çalışan bir sürüm olarak yayımlandı; böylece klasik şehir simülasyonu ayrı bir kurulum olmadan deneyimlenebiliyor
  • Proje, Will Wright’ın tasarladığı oyunun Don Hopkins tarafından port edilen sürümü ve hâlâ tamamlanmış değil, deneysel bir durumda; değişmeye devam ediyor
  • GitHub deposu, demo videoları, Chaim Gingold’un kitabı ve diyagramları birlikte sunularak SimCity’nin uygulanışını ve tarihini daha derinlemesine inceleme imkânı veriliyor
  • Kontroller; fare sürükleme·tekerlek, yön tuşları, harf tuşları ve sayı tuşlarıyla sağlanıyor; hareket, yakınlaştırma, şehir yükleme, hız ayarı, vergi oranı değiştirme ve tileset değiştirme yapılabiliyor
  • “Micropolis” adı, Micropolis Public Name License koşullarına göre kullanılıyor ve ek özellikler ile easter egg’ler henüz hazır değil

Tarayıcıda çalışan Micropolis Web

Kontroller ve kalan uyarılar

  • Fare kontrolleri

    • Sol tuşla sürükleyerek ekranı hareket ettirebilirsiniz
    • Fare tekerleği ile yakınlaştırma ve uzaklaştırma yapılabilir
  • Klavye kontrolleri

    • Yön tuşlarıyla ekranı hareket ettirebilirsiniz
    • Virgül ve nokta tuşlarıyla yakınlaştırma ve uzaklaştırma yapılır
    • Harf tuşlarıyla çeşitli şehirler yüklenir
    • \ tuşu ile oluşturma yapılır
    • Sayı tuşlarıyla hız ayarlanır
    • 0 tuşu ile duraklatma açılıp kapatılır
    • Köşeli parantez tuşlarıyla vergi oranı azaltılır veya artırılır
    • - ve = tuşlarıyla tileset değiştirilir
    • Üstteki “X” düğmesine basarak bilgilendirme penceresini gizleyebilirsiniz
    • Ek özellikler ve easter egg’ler hazırlık aşamasındadır
    • Uyarı metni boşluk tuşuna basmamanızı söyleyerek başlar, ancak verilen metinde devamındaki açıklama tamamlanmamıştır

1 yorum

 
GN⁺ 2024-06-17
Hacker News yorumları
  • Eski oyunları web’e port etmek eğlenceli. Bugünlerde sıradan web sayfalarından daha küçük birçok oyun var; bu yüzden hızlı yükleniyor ve iyi çalışıyorlar
    Az önce Quake 3’ü port ettim ve keyifle kurcalıyorum: https://thelongestyard.link/

    • Oyun geliştirirken tarayıcıdan hoşlanmamamın nedeni tam olarak girdi gecikmesi. Yine de çalışma harika
    • Bunu daha iyi yapmak için nereden başlamanın iyi olacağını merak ediyorum. Özellikle eski oyunları Wasm’e port etme tarafında
  • Micropolis Web demo 1: https://www.youtube.com/watch?v=wlHGfNlE8Os
    Micropolis Web, açık kaynaklı SimCity olan Micropolis’in tarayıcı sürümü ve WebAssembly, WebGL, SvelteKit kullanıyor. Will Wright’ın tasarlayıp Don Hopkins’in port ettiği özgün SimCity Classic kodunu temel alıyor; ilk demoda WebAssembly simülatörü ve WebGL karo animasyonları çalışıyor, ancak kullanıcı arayüzünün büyük bölümü hâlâ yapım aşamasında
    Canlı site: https://MicropolisWeb.com
    Kaynak kodu ve belgeler: https://github.com/SimHacker/MicropolisCore
    Chaim Gingold’un kitabı "Building SimCity": https://mitpress.mit.edu/9780262547482/building-simcity/
    Chaim Gingold’un "SimCity Reverse Diagrams": https://smalltalkzoo.thechm.org/users/Dan/uploads/SimCityRev...
    Micropolis Web Space Inventory Cellular Automata Music 1: https://www.youtube.com/watch?v=BBVyCpmVQew
    Müzik Juho Hietala ve Blamstrain tarafından yapıldı; Space Inventory Cellular Automata ise Don Hopkins tarafından uygulandı: https://blamstrain.com/

    • Chaim Gingold’un Building SimCity kitabının 4 Haziran 2024’te yeni yayımlanmış olması şaşırtıcı. Eskiden SimCity algoritma diyagramlarını gerçekten çok severdim ve sanırım SimCity’nin iç işleyişini ayrıntılı ele alan bir doktora tezini de okumuştum
      Gingold, Chaim. “Play Design.” Ph.D. thesis, University of California Santa Cruz, 2016. https://www.proquest.com/docview/1806122688
      Micropolis’in Wasm’e portu, geliştirme açısından yeni bir aşama olabilir gibi görünüyor. Macintosh’taki SimCity Classic, çocukken bilgisayarlar ve yazılımlar hakkında düşünme biçimim üzerinde büyük etki bırakmıştı; ona burada yeni bir hayat verildiğini görmek sevindirici
  • Oyuncu değilim ama çocukken SimCity oynadığımı hatırlıyorum. Son 25 yıl kadar içinde oynanış mı değişti, yoksa tarayıcı mı bozuldu bilmiyorum ama sanki hiçbir şey çalışmıyor gibi görünüyor.
    Şehri yükleyip hareket ettiğini görebiliyorum, ama eski SimCity'de şehri kendin kurabiliyordun diye hatırlıyorum. Oyuncunun gerçekten oynayabileceği bir yol olması gerekmiyor mu?

  • Mobilde pek beklentim yoktu ama Android'deki Firefox'ta bu sayfa tarayıcıyı kilitledi. Süreci öldürmem gerekti; böyle şeyler nadir olur
    Bu arada doğrudan tarayıcıya port ettiğim küçük bir oyun var. Çalışır hale getirmek Emscripten+SDL2 kombinasyonu sayesinde çok kolaydı ama dürüst olmak gerekirse, telefonda gerçekten oynanabilir hale getirmek en çok emek isteyen kısım oldu: https://play.neverball.org/

    • Mobil desteği kesinlikle eklemeyi düşünüyorum. Ubuntu'daki Firefox'ta çalışmasını engelleyen bir hatayı da, stack trace içeren iyi yazılmış bir hata raporu sayesinde zaten düzelttim. Tekrar deneyip olmazsa, stack trace ve platform bilgileriyle birlikte hata bildirirseniz sevinirim
      https://github.com/SimHacker/MicropolisCore/issues/1
      Bitip kusursuz olmasını beklemek yerine, başkalarının deneyebilmesi için mümkün olduğunca erken yayımlamak istedim. Bu yüzden kullanıcı arayüzü, kararlılık, çapraz platform desteği, mobil ve diğer konularda hâlâ yapılacak çok iş var
      Simülatör ve tile renderer çalışır çalışmaz; temel yakınlaştırma/kaydırma, klavye kontrol arayüzü ve sağ üstteki "+" düğmesiyle kapatılabilen bir ipucu penceresi ekledim
      Asıl heyecan duyduğum şey, bunu Snap! gibi görsel programlama dilleriyle entegre edip live coding, eklenti bölgeleri, robotlar, izleme ve kontrol sistemleri, veri görselleştirme ve dışa aktarma, Grafana dashboard'ları gibi alternatif arayüzler oluşturabilmek
      Android telefonlar USB kablosuyla Mac veya PC'ye, iPhone'lar ise Mac'e bağlandıktan sonra Chrome ya da Mac'teki Safari hata ayıklayıcısıyla uzak konsolu görüntüleme, debug ve hatta live coding yapmak mümkün. Koşullar uygunsa Wi‑Fi üzerinden de olabilir ama Google bu özelliği kaldırmış ya da Apple baştan engellemiş olabilir
    • 4 yıllık düşük bütçeli bir Android telefonda Firefox'ta kare hızı yüksek ve neredeyse hiç takılma yok, buna şaşırdım. Doku ya da poligon sayısı aşırı fazla değil ama bu telefonun tarayıcısında bu seviyede bir performansa alışık değilim
    • Android'deki Firefox'ta bende de kilitlenmedi. Yalnız son Firefox'un bazı sürümlerinde PDF işlemede sorunlar gördüm; sürüm farkıyla ilgili olabilir
  • Daha önce RuneScape istemcisini web'e port etmiştim
    https://play.rsps.app/
    Wasm, TypeScript ve WebGL kullanıyor

  • Kaynak deposu: https://github.com/SimHacker/MicropolisCore

  • Boşluk tuşuna basınca olanlar gerçekten şaşırtıcı. Fraktal harika

    • Space Inventory, Game Helpin' Squad'ın World Quester 2 incelemesinden ilham aldı; Micropolis'in menülerini ve kullanıcı arayüzünü de World Quester 2 kadar şahane yapmak istiyorum
      https://www.youtube.com/watch?v=0Gy9hJauXns
  • Büyük dil modellerinin böyle bir oyunu anında port edip edemeyeceğini merak ediyorum

  • Neden neredeyse her şehir bloğunda bir itfaiye istasyonu var?

  • Kontrol edilemiyor ve tarayıcı bir şey yüklemeye başlar başlamaz CPU fanı dönmeye başlıyor. Bunun sadece özensiz bir kripto para madencisi olmadığına emin miyiz? Değilse çalışmayan bir şeyi neden yayımladıklarını anlamıyorum.

    • Amaç, benim erişemediğim çeşitli sistemlerde nasıl çalıştığına dair geri bildirim almak. Yazılımlarda, özellikle açık kaynakta, tamamen bitip kusursuz hale gelene kadar saklamak yerine geliştirme sırasında mümkün olduğunca erken geri bildirim almanın daha iyi olduğunu düşünüyorum.
      Her tür bilgisayarı ve telefonu satın alacak param yok; olsa bile hepsini bizzat test edecek vaktim olmazdı. Bunu bana para ödeyen biri için yapmıyorum ama isterseniz Patreon üzerinden destek olabilirsiniz: https://www.patreon.com/DonHopkins
      Yine de bu proje bir gelir kaynağı değil, sevgiyle yaptığım bir iş. Şu anda istediğiniz bir konuda ayda 5 dakika susmamı sağlayan özel bir ürün de sunuyorum.
      Tüm kaynak kod GitHub'da görülebilir; hata bildirebilir veya kendiniz derleyebilirsiniz. Tarayıcıda da WebAssembly ikili dosyalarını ve derlenmiş JavaScript'i inceleyebileceğiniz hata ayıklama ve tersine mühendislik araçları var. WebGL shader'ları düz metin, bu yüzden depodaki kaynakla eşleşip eşleşmediğini de kontrol edebilirsiniz.
      https://github.com/SimHacker/MicropolisCore
      Özensiz bir madencilik yazılımına dair kanıt bulursanız FBI, Interpol veya GitHub'a bildirebilirsiniz. Kaynak kodu ve ikili dosyaları kendi adımla, kendi GitHub hesabımla ve kendi alan adımla yayımlıyorum; dolayısıyla kaynağını izlemek de kolay.
      Faydalı bir hata raporu örneği; sistem bilgileri ve yığın izini içererek sorunu tespit etti ve bu sayede birkaç dakika içinde düzeltebildim: https://github.com/SimHacker/MicropolisCore/issues/1
      Hız ayarı için sayı tuşlarına basmayı denediniz mi, bunu da merak ediyorum. Klavyenin üst sırasındaki sayılara göre, "1" saniyede 1 kare ve kare başına 1 simülatör tikine düşürüyor; "9" ise saniyede 120 kare ve kare başına 50 tik ile çalıştırıyor. M1 Mac'imde Chrome'da akıcı çalışıyor ve arayüz de oldukça iyi yanıt veriyor.
      Hangi kontrollerin çalışmadığını, donanımınızın, işletim sisteminizin, tarayıcınızın ve GPU'nuzun ne olduğunu ve tarayıcı geliştirici konsolunda hata olup olmadığını paylaşırsanız sevinirim. Hata raporuna konsol yığın izini de eklerseniz faydalı olur.