Gönderen Konu: Cepptris  (Okunma sayısı 15334 defa)

Cepptris

« : 09.05.2007 09:32:13 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
Selam Arkadaslar

Bir suredir C=++ cephesinde yeni gelisme olmadigini sandiniz oysa cok yanildiniz :)

Karsinizda dunyanin ilk C=++ ile kodlanmis oyunu. tataaaa

lanet web providerim yine kelek yaptigi icin kendi siteme koyamadim oyunu su an ilk defa forum mesajina attachment deniyorum insallah calisir. Artik sitemi geri html'e cevirip spazticanin serverina tasinmak sart oldu (daha onceki tasinma girisimimde basarisiz olmustum)


Neyse ekte zip dosyasi ve bir screenshot var. zip dosyasinda oyunun kaynak kodlari var. asm ve c=++ nasil birlikte kullaniliyor inceleyebilirsiniz. kisaca tablo lookup olan veya tablo transferi olan bolumler haricinde oyun logic bolumlerinin neredeyse tamami c=++ ile implement edildi (cepptris.cepp dosyasi). Ayrica dinamik memory alokasyonu da var oyunda. Hatta ilk yazarken memory leak oldu ve oyun kilitlendi hahah.  (delete myObj deyince destructor otomatik cagrilmiyor su anda explicit olarak destruct() metodunu cagirmak gerekiyor :) )

Neyse birkac gun icinde de world release'ini yapicam oyun ve compiler'in.

gorusmek uzere

Cepptris

« Yanıtla #1 : 09.05.2007 09:56:34 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
tebrik ederim kardeşim. örnek bir oyun dile olan ilgiyi arttıracaktır ve öğrenilmesini kolaylaştıracaktır. çok akıllıca bir iş yapmışsın. ayrıca "dedicated to ALIH" hoşuma gitti. ama ALIH'in geri döneceğine de adım gibi eminim ;)

Cepptris

« Yanıtla #2 : 09.05.2007 09:59:53 »
Hızlı düğmeleri aç

atiflz

İleti: 246

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
    • http://izleyenkisi.blogspot.com/
Ben biraz oynadım, bi yamuğunu görmedim(sadece başta ibnelik yapıp z ve kare dışında parça göndermedi ama sonra açıldı hehe :))

Ellerine yüreğine sağlık, tüm C64 camiasına hayırlı uğurlu olsun.

Cepptris

« Yanıtla #3 : 09.05.2007 11:26:17 »
Hızlı düğmeleri aç

vigo


  • Ziyaretçi
süper!

hi-score tablosu olsa, saver olsa.... :)

hani partilerde ceptris turnuvası olursa diye şeettim :)

Cepptris

« Yanıtla #4 : 09.05.2007 12:40:33 »
Hızlı düğmeleri aç

Hydrogen

İleti: 932

Çevrimdışı
  • 7DX Organizer
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.glance.ws
Abi ellerine saglik...
 
Onerilerim:
 
1) Ornek oyun olmasi, oynanmamasini gerektirmiyor. Bence oyuna daha fazla eklenti yapmayacaksan, oyunu hizlandirarak zorlastir, rekor denemelerine acik olsun. Zevkle oynayalim:)
 
2) Var olan oyun, derleyicinin calistigini (ve nasil calistigini) gosteren guzel bir ornek. Ancak tetrisin yapisi geregi, derleyicinin ne kadar hizli ve optimize kod urettigini gostermiyor. Boyle bir ornek de yapabilirsen(veya baskalari da yapabilir) daha tesvik edici olur. Daha cok kullanilan bir derleyici olur kanisindayim. (Misal insanlar hazir 3d motor falan kullanacaklarinda, onunla daha once neler yapilabilmis once ona bakiyorlar. Gerci biraz kel alaka bir ornek oldu)
 
Simdilik yazabileceklerim bunlar.

Cepptris

« Yanıtla #5 : 09.05.2007 20:04:38 »
Hızlı düğmeleri aç

atiflz

İleti: 246

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
    • http://izleyenkisi.blogspot.com/
Alıntı yapılan: Hydrogen;14824

1) Ornek oyun olmasi, oynanmamasini gerektirmiyor. Bence oyuna daha fazla eklenti yapmayacaksan, oyunu hizlandirarak zorlastir, rekor denemelerine acik olsun. Zevkle oynayalim:)

Ben de şahsen bugün oturup keyifle oynadım. Hatta oyuna kaptırıp dans kursuna geç kaldım.

Cepptris

« Yanıtla #6 : 09.05.2007 20:15:36 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
Alıntı yapılan: Hydrogen
1) Ornek oyun olmasi, oynanmamasini gerektirmiyor. Bence oyuna daha fazla eklenti yapmayacaksan, oyunu hizlandirarak zorlastir, rekor denemelerine acik olsun. Zevkle oynayalim:)

Iste playtesting'in faydalari :)
 
Hmm su haliyle fazla mi yavas zorlasiyor? OK su an oyunda 10 level var ve 1. levelda saniyede bir kare hizla dusuyor parcalar. her levelde bu sure yaklasik %80 azaliyor. 100 puanda bir level atlaniyor. ayni anda kac satir goturdugunuze gore puanlar soyle
1 satir : 4 puan
2 satir : 10 puan
3 satir : 18 puan
4 satir : 30 puan
 
belki bu puanlari artirabilirim. Veya level 1deki hiz 1 saniye olmaz da daha hizli olur mesela.
 
Vigonun da dedigi gibi bir hi score tutmayi ekleyebilirim belki ama, hi score saver (harici bir dosyaya) eklemeyi dusunmuyorum.
 
Alıntı yapılan: Hydrogen
2) Var olan oyun, derleyicinin calistigini (ve nasil calistigini) gosteren guzel bir ornek. Ancak tetrisin yapisi geregi, derleyicinin ne kadar hizli ve optimize kod urettigini gostermiyor. Boyle bir ornek de yapabilirsen(veya baskalari da yapabilir) daha tesvik edici olur.

Evet su an derleyicinin optimizasyon bolumu henuz yazilmadi. Dolayisiyla genelde bir rutini direk asm ile yazdiginizda ortaya cikacak olan koddan 2 ila 4 kat yavas bir kod uretiyor. Hedefim bunu 1.3 civarina indirmek. Onumuzdeki gunlerde ilk etapta ekleyecegim cok basit bir optimizasyon var (gecici degisken kullanimini su ankinin %10-20'sine indirerek kodu ortalamada 2 kat hizlandiracak). Bunun ardindan biraz daha ovunebilecegim bir performansa ulasacak ve o zaman bir kac performans ornegi koymak daha ilgi cekici olacaktir kesinlikle. Bunun icin ilk etapta bazi basit grafik islem demolari dusunuyorum
 
Bu mesai harcanmis yorumlar icin cok tesekkurler Hydrogen :)

Cepptris

« Yanıtla #7 : 09.05.2007 20:20:17 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
Alıntı yapılan: atiflz;14825
Ben de şahsen bugün oturup keyifle oynadım. Hatta oyuna kaptırıp dans kursuna geç kaldım.

Hahah ya sorma atiflz. Ben de gelistirirken biseyi degistirip oyuna giriyorum. Bi bakiyim diye... sonra bi bakiyorum 20 dakika gecmis. Guya cross dev yapiyoruz ki neymis efendim "edit / compile / debug cycle hizli olsunmus"... Hahah ulan o dongu edit / compile / play olunca hic hizli olmuyor ki :)
 
Nasil bagimlilik yaratici bi oyundur bu tetris anlamiyorum

Cepptris

« Yanıtla #8 : 10.05.2007 11:36:18 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Kendim compile ediim oyunu dedim (cepp win v0.1.0 ile) aşağıdaki hatayı alıyorum.
 
kROTATION_kROTATION_kROTATION_kROTATION_kMOVE_DIR_LEFTparse error at line 180 COMPILATION TERMINATED WITH ERRORS
 
debug outputunun da son satırlarını pasteliyorum, istersen tamamını da gönderirim.
 
Entering state 166
Reading a token: Next token is 280 (COND_EQUAL)
Reducing via rule 100 (line 392), any_object -> entity
state stack now 0 1 3 8 18 29 50 66 83 95 109 122 167
Entering state 164
Next token is 280 (COND_EQUAL)
Reducing via rule 96 (line 384), entity -> right_val
state stack now 0 1 3 8 18 29 50 66 83 95 109 122 167
Entering state 189
Next token is 280 (COND_EQUAL)
Shifting token 280 (COND_EQUAL), Entering state 212
Reading a token: Next token is 297 (CPARAN)
Error: state stack now 0 1 3 8 18 29 50 66 83 95 109 122 167 189
Error: state stack now 0 1 3 8 18 29 50 66 83 95 109 122 167
Error: state stack now 0 1 3 8 18 29 50 66 83 95 109 122
Error: state stack now 0 1 3 8 18 29 50 66 83 95 109
Error: state stack now 0 1 3 8 18 29 50 66 83 95
Error: state stack now 0 1 3 8 18 29 50 66 83
Error: state stack now 0 1 3 8 18 29 50 66
Error: state stack now 0 1 3 8 18 29 50
Error: state stack now 0 1 3 8 18 29
Error: state stack now 0 1 3 8 18
Error: state stack now 0 1 3 8
Error: state stack now 0 1 3
Error: state stack now 0 1
Error: state stack now 0
 
p.s: orjinal source dosyasına hiç dokunmadım.

Cepptris

« Yanıtla #9 : 10.05.2007 19:16:46 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
evet malesef son versiyonunu hala gerzek siteme koyamadigim icin boyle bir durumla karsilasiyorsun. bir onceki versiyon Acme icinde tanimlanan etiketleri c=++ kodunda kullanmayi  (kXYZ) desteklemedigi icin bu hatayi aliyorsun.
 
abi cok saol bu arada ya boyle oturup derlemeyi falan denedigin icin :)
olmazsa bu aksam yine forumda bi mesaj attachment olarak ekliyim.

Cepptris

« Yanıtla #10 : 10.05.2007 23:01:50 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
ben ufak tefek classlar bile yazdım test amaçlı ama onları da derleyemedim. koy foruma bak benden ne kadar destek göreceksin. proje süper ve benim de çok işime yariicak. her ne kadar başlangıçta demo coding için ideal gözükmese de zaman içersinde çok güzel libraryler yazılabilir bunun üzerine. benim sk8lib'i biliyorsunuz zaten. O'nun gibi libleri direk c=++ için yazarım büyük bir zevk ile.