Şimdi Ara

ohaaa!!! 96 kbayt oyun

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
69
Cevap
0
Favori
1.860
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri
  • Son Yorum 17 yıl
  • Cevaplayan Üyeler 43
  • Konu Sahibinin Yazdıkları 4
  • Ortalama Mesaj Aralığı 9 saat 53 dakika
  • Son 1 Saatteki Mesajlar 3
  • Konuya En Çok Yazanlar
  • Acharad (6 mesaj) pew (5 mesaj) meydey45 (4 mesaj) elmaarmut (4 mesaj) drnlcrgy (3 mesaj)
  • @
0 oy
Öne Çıkar
Tüm Forumlar >> Oyun >> Pc Oyunları >> Oyun Genel ve Diğer türler >> ohaaa!!! 96 kbayt oyun
Sayfaya Git:
Sayfa:
Giriş
Mesaj
  • Yüzbaşı
    758 Mesaj
    256 ram 5700ultra 1700@2600 akıcı bir şekilde oynayabildim
    Acharad +1
    |
    |
  • Yüzbaşı
    383 Mesaj
    Bu oyun çok güzel boyutuna göre grafikleri güzel ama çok fazla ram istiyor.Bunun nedeni ise oyunun aslında grafikleri falan 96kb değil 96kb olan bir program siz programı açtığınızda program oyunun grafik ve kodlarını yazmaya başlıyor ve bunları ram yüklüyor örneğin oyunda ilerlediğinizde bir önceki grafikleri ve kodları siliyor.Bu oyunun bu program tarafından oluşturulmasının mantığı da Acharad ın da dediği gibi bitmape dönüştürülmüş dataların 8*8 lik kümelerinin diziliş şeklidir.Bu teknolojiyi bildiğiniz üzere Almanlar bulmuş gerçekten programcılık harikası bu teknolojiyle çok güzel oyunlar yapılır fakat bunun için çok güçlü sistemler gerektirir.Ben daha önce bu teknolojiyle yapılmış video clipler izlemiştim yani bir video clipi çalıştırmak için bile en az 256 mb ram istiyordu.Yanlış hatırlamıyorsam izlediğim clip 4.5 dklıktı fakat boyutu 56 kbtı buna rağmen görüntü kalitesi en az bir divX kadar iyiydi.
    |
    |




  • Yüzbaşı
    764 Mesaj
    Heh... Visual Studio'da new project diyip Direct3D template'inden boş proje yarattım, (sadece standart Utah çaydanlığı gösterip döndürüyor) 3 Mb tuttu!!! Yuh!
    Microsoft'un antitezi bu herifler
    |
    |
  • Yarbay
    6827 Mesaj
    EN SON NE OLUYOR.BEN BİRYERE GELDİM ORTADA DONEN BİR HALAKALAR VAR BUYUK BİR YAPI AMA ORDA KALDIM
    |
    |
  • Yarbay
    2908 Mesaj
    Ekran kartı DirectX9 desteklemeyip de oyunu oynatabilen var mı?

    DirectX asıl bunun için var benim bildiğim. Bir yerden sonrasını sistemin otomatik yapmasını sağlamak için. Bir nevi Grafik İşletim (Alt)Sistemi gibi.

    .oO°Oo.
    |
    |
  • Yüzbaşı
    320 Mesaj
    VALLAHA SÜPER DOĞRUSU
    |
    |
  • Teğmen
    184 Mesaj
    harika bir teknoloji. ama büyük şirketler tarafından pek tutulmayacağını düşünüyorum neden derseniz; bilirsiniz bir dosya ne kadar ufak olursa internette o kadar fazla kişiye ulaşabilir.
    |
    |
  • Yarbay
    2523 Mesaj
    abi harikada benim makinadada kastı yaws[bwlng]
    |
    |
  • Yarbay
    3758 Mesaj
    <blockquote id='quote'><font size='1' face='Verdana, Arial, Helvetica' id='quote'>quote:<hr height='1' noshade id='quote'><i>Originally posted by Acharad</i>
    <br />copy paste değil abi... Maalesef kendim yazdım..
    <hr height='1' noshade id='quote'></blockquote id='quote'></font id='quote'> Helal Olsun[ban]
    |
    |
  • Yüzbaşı
    573 Mesaj
    Valla komik oyuna bak yaw p4 2 zorluyor.Ee abi bunun 100 mb şeklinde olsa biz ne yapardık.O zaman her halde sadece oyunu merak etmekle kalırdık.
    |
    |
  • Yüzbaşı
    326 Mesaj
    o oyunun cok iyi bir makina istemesi beniagzı acık bıraktı
    |
    |
  • Yüzbaşı
    326 Mesaj
    cok garip aslında 96 kb ve p4 te kasıyor
    |
    |
  • Yüzbaşı
    326 Mesaj
    yinede guzel
    |
    |
  • DH Yönetici
    4717 Mesaj
    Oha bee abi...
    |
    |
  • Yüzbaşı
    764 Mesaj
    "We do .not. have some kind of magical data compression machine that is able to squeeze
    hundreds of megabytes of mesh/texture and sound data into 96k. We merely store the
    individual steps employed by the artists to produce their textures and meshes, in a very
    compact way. This allows us to get .much. higher data density than is achievable with
    normal data compression techniques, at some expense in artistic freedom and loading times."

    Yani diyor ki :
    texture'lar sıkıştırılmış değil, ama program tarafından üretiliyor (bazı anahtar kısımlar, renkler, ana şekil, adımlar vs. programın içinde). Mesh'ler de keza.
    Bir de assembler değil C++ kullanmışlar, MMX optimizasyonlar dışında.
    |
    |
  • Yarbay
    3758 Mesaj
    bi screen şat koysanız göremedikte oyunu
    |
    |
  • Teğmen
    197 Mesaj
    <blockquote id='quote'><font size='1' face='Verdana, Arial, Helvetica' id='quote'>quote:<hr height='1' noshade id='quote'><i>Originally posted by pew</i>
    <br />bi screen şat koysanız göremedikte oyunu
    <hr height='1' noshade id='quote'></blockquote id='quote'></font id='quote'>


    All ...
    |
    |
  • Yarbay
    3758 Mesaj
    kahretsin ya şu oyunu oynayamadım bi 1.3 ghz 64 mb ekran 256 mb ram
    |
    |
  • Yarbay
    2523 Mesaj
    pew boşver ya bende imzamdaki makina var genede oynayamıyorum kasıyor ram den galiba
    |
    |
  • Onbaşı
    37 Mesaj
    Selam arkadaşlar,
    Bu oyunu ilk gördüğümde ben de biraz şaşırdım, daha önce ilginç 64K demolara rastlamıştım ama bu sefer çok emek harcamışlar, tabi uzunluk 32K artmış. Biraz araştırdım ekipten birkaçının netteki yazışmalarını takip ettim, öğrendiklerimi konuya merakınız olduğu için sizinle paylaşayım dedim:

    Oyun assembly değil, tümü C++'da yazılmış, kodu 100 bin satır civarı (sanırım binaryden çevirdikleri dataları da koddan sayıyorlar), 60 küsür KB'ı kod zaten, yapımı 2 sene sürmüş ve yapımında kendi yazdıkları bazı yazılımlardan faydalanmışlar. Bildiğiniz gibi oyunun uzunluğunu mümkün olduğunca düşürebilmek için çeşitli teknikler kullanılmış ama bunların hiçbiri yeni bulunmuş birşey değil, bu vatandaşlar sadece biraraya getirmiş. Açılışındaki 2 dakikalık (benim makinaya göre) bekleme süresi oyun datalarını prosedürel yöntemlerle hesaplamasından kaynaklanıyor. Sadece açılışta 1 kereye mahsus olmak üzere tüm oyun datalarını hesaplayıp RAMe atıyor ve oyun boyunca da ramdaki bu hazır hesaplanmış dataları kullanıyor.

    512ye512lik 256 renk bir doku (texture) sıkıştırılmamış haliyle 256KB yer kaplar bir de bunun normal map'inin kaplayacağı alan var, peki bu oyunda yer alan onlarca yüzlerce texture nasıl yapılmış, şöyle: Oyunda dokular png,tiff gibi herhangi bir bitmap resim formatında tutulmuyor, sadece nasıl hesaplatılacağının parametresi tutuluyor ve oyun başlarken o parametreye göre resim hesaplatılıyor. Yani resmin kendisi yerine, bir grafiker dokuyu photoshopda filtrelerle vesayir nasıl hazırlıyorsa bu adımlar kaydediliyor, zaten bu işlemi kolaylaştırmak için editör de yapmışlar. Örneğin bir ağaç materyali yapmak için gereken aşamalar:

    1.
    512lik bir resim yap, bu A resmi olsun
    resmi Perlin gürültüsüyle doldur (ör:http://www.noisemachine.com/talk1/ )
    0,10 pixel açısıyla hareket bulanıklığı ver (motion blur)
    kahverengi renge çevir
    yanyana döşendiğinde kesişimlerinin belli olmaması için bulanıklaştır

    2.
    512lik bir resim yap, bu da B resmi olsun
    yatay 32 pixel aralıklarla çizgi ile doldur
    yarı yarıya bulanıklaştır
    biraz parlat
    iki kat karşıtlık ver
    merkezden itibaren iyice bükerek kıvır

    3.
    "Ağaç" isminde bir doku yap
    A resmini dokuya bas
    B resmini yarı şeffaflıkta dokuyla birleştir

    4.
    "Ağaç_normalmap" isminde bir doku yap
    A resmini dokuya bas
    rengini griye çevir

    5.
    "Ağaç" isminde bir materyal yap
    doku olarak "Ağaç" isimli dokuyu kullan
    yükselti haritası olarak da "Ağaç_normalmap" isimli dokuyu kullan

    bu kadar. Bu örnek şahsın verdiği örneğin Türkçesi oluyor. Oyundaki materyal hesaplayıcı koda her bir dokunun hesaplatma parametreleri verilerek dokular açılışta oluşturuluyor, rame atılıyor. Bu minik doku verilerinin yapısı da şöyle:

    512lik resim yap demek için 1 byte gidiyor (1 byte = 8 bit). Bunun 2 bitini komut oluşturuyor bildiğiniz gibi 2 bitde 4 olasılık var yani 4 komut yapılabilir örnekte kullanılan "resim yap" komutu bunlardan biri. Diğer 2 bit yapılacak işlemin türü, örnekte "resim". Diger geriye kalan 4 biti de ismi oluyor yani isim numarayla ifade ediliyor, dolayısıyla isim için 16 olasılık var. Tabi yapanlar bitlerle uğraşmıyor, editöründe onlar "ağaç" gibi ismini ve diğer özelliklerini giriyorlarmış, editör kendisi istenilen formata çeviriyormuş. Programca varsayılan uzunluk zaten 512 olduğundan uzunluk vermeye gerek yok.

    Bir diğer örnek; Perlin gürültüsüyle (bu arada aklımdayken söyleyeyim bu algoritma terrain dokusu yapımında da kullanılır) doldur demek 7 bit tutuyor; bunun 2 biti yapılacak işlem, örnekte bir komutun çalıştırılması; diğer 4 bit komutun ne olduğu, örnekte doldur komutu; sonraki 1 bit de komutun parametresi yani ne ile dolduracağı (perlin gür.)
    ...

    Sonuçta toplamda yukarıdaki "ağaç" materyalini oluşturmak için gerekli data miktarı sadece 9 byte. Yani 256K lık bir doku bu programda 9 byte yer tutmuş oluyor. Bu yöntemle 1000 tane doku sıkıştırılmamış haldeyken bile sadece 10KB yer tutuyor. Tabi grafiker çizimi gibi olmaz ama o kadarı da normaldir, zaten görüntünün çirkinliğini saklamak için render işlemine ek filtrelemeler atmışlar.

    Modelleri de (3 boyutlu vektör çizimleri) aynı mantıkla kaydetmişler. Örneğin bir küre yap, biraz eğ, belli miktarda açı aralıklarıyla kopyalarını çıkar, bir silindir ekle,...

    Oyunun tüm dataları (texture,model,...) binary formatından text formatına çevrilip ( .h gibi) koda eklenmiş, böylece kod tek parça derleniyor.

    Oyunda sıkıştırma işlemi için UPX'in modifiye edilmiş bir varyasyonu diyebileceğimiz kendi yaptıkları bir cruncher kullanmışlar. UPXin de kullandığı UCL isminde bir algoritma var, bu daha önce benim de kullandığım lzop algoritmasına benzemesine rağmen ondan daha iyi sıkıştırıyor ve gene lzop gibi minik ve basit bir algoritma, decruncherı 200 bytea kadar küçültülebiliyor (PE sıkıştırması hariç). Özellikle decruncherı az yer tuttuğu için ve de iyi sıkıştırdığı için bu algoritmayı tercih etmişler, decruncher uzunluğu engel teşkil etmeseydi PAQ da olduğu gibi çok daha gelişmiş algoritmalar da var tabi, bir de PE yapısındaki gereksiz byte israfına karşı EXE optimizasyonu eklentisi eklemişler.

    Müzik ve ses için de wave dataları kaydı kullanmamışlar tabiki, sentezleyici kod kullanmışlar. Müzik için sadece notaları kaydetmişler, ses efekti ve enstrümanlar içinse ses dalgası oluşturucu kodlardan istifade etmişler, tıpkı eski commodore-64'ün sid sentezleyicisinde ve bazı trackerlarda olduğu gibi. Örneğin bir sinüs dalgası verip birkaç parametreyle şeklini oynayarak yeni bir sample oluşturmak gibi.

    Oyunun diğer bazı özellikleri de şöyle: karakter animasyonu sistemi var, basit bir de temel Inverse Kinematics uygulaması, çok basit bir fizik sistemi var, gelişmiş bir parçacık sistemi var, renderlanmış görüntüyü daha güzel göstermek için smoothlamak gibi son aşama filtreleri var, herşeyde tek pixel ışıklandırması var.

    Oyun hızlı makina istiyor, kodu haliyle hızdan ziyade uzunluğa optimize edilmiş. Oyunun sadece dx9da ve belli donanımlarda çalışmasınınn sebebi kullanıcıların tüm konfigürasyon varyasyonlarını karşılayacak kod yazmanın hem uzunluğu artıracağından hem de yapımının zahmetli iş olduğundan/zaman alacağından.
    |
    |




Sayfaya Git:
Sayfa:
Reklamlar
Masal Oku
En ucuz kedi maması fiyatları
ankara gülüş tasarımı
Cancer Clinical Trials
Bu sayfanın
Mobil sürümü
Mini Sürümü

BR6
0,375
1.2.165

Kripto Paralar
Sembol
Fiyat
Değişim
    Tümünü Gör
    Reklamlar
    - x
    Bildirim
    mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.