commodore.gen.tr

Genel Kategori => DemoScene => Konuyu başlatan: wizofwor üzerinde Şubat 06, 2016, 16:51:42 ÖS



Konu Başlığı: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Şubat 06, 2016, 16:51:42 ÖS
Basic Tenliners 2016'ya katılmayı düşünen çıkar mı?

10 satırı geçmeyecek şekilde BASIC ile yazılmış oyunlar yarışıyor.
Cihaz kısıtlaması yok ama katılımlar genelde Atari ve Commodore üzerinden oluyor.

----------------------------------------------------------------------------------------------------------
YARIŞMA KURALLARI

En büyük kural her şey 10 satırda olup bitecek. Ayrıca üç kategori belirlenmiş:

  • PUR-80: Kısaltmalarla beraber satır başına 80 karakter
  • PUR-120: Kısaltmalarla beraber satır başına 120 karakter
  • EXTREM-256: Kısaltmalar beraber satır başına 256 karakter

Önemli uyarı: Malum List komutu kısaltmaları bozduğu için, karakterler List komutundan önce sayılıyor.
Katılımcılar genelde programın 10 satıra sığdığını gösteren bir ekran görüntüsünü kaydederek, bunu başvurularına ekliyorlar.

Diğer kurallar:
- Data ve program partları geri yüklenmeyecek.
- 10 satırlık kod makina kodu oluşturmayacak
- POKE serbest (grafik, sprite etc.)
- Son teslim tarihiDeadline: Pazartesi 03/28@6pm (Central European Time)
- Ödül tarihi: Cumartesi 04/02@NOMAM retro convention
- Oylama: uzman heyeti
- Program beraberinde açıklayıcı bir metin dosyası verilecek. Burada hangi emulatörde çalıştığı, nasıl çalıştırılacağı belirtilecek.
- Organizatör programı ve beraberinde açıklamaları istediği gibi yayınlama hakkına sahip olacak.

Başvurular GKANOLD-at-GMAIL-dot-COM adresine yapılacak.

----------------------------------------------------------------------------------------------------------
Yarışma ilanı ve Lemon64 forum başlığının linkleri aşağıda.

http://gkanold.wix.com/homeputerium#!basic-tenliners-2016/c450 (http://gkanold.wix.com/homeputerium#!basic-tenliners-2016/c450)
http://www.lemon64.com/forum/viewtopic.php?t=59234&start=25&postdays=0&postorder=asc&highlight= (http://www.lemon64.com/forum/viewtopic.php?t=59234&start=25&postdays=0&postorder=asc&highlight=)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Şubat 08, 2016, 14:21:30 ÖS
Blackturk'ün VICE Monitör ile karakter seti çalmak (http://www.commodore.gen.tr/forum/index.php?topic=11952.0) başlığındanki mesajlarını konu bütünlüğü açısından buraya taşıdım.

Sen geçen 10 satırlık basic oyun yarışması dedin kafaya taktım.Bende acaba 10 satırlık pinball olur mu diye uğraşıyorudm.pinball kontrolleri ve pinball oyun alanı tasarım ile uğraştım.10 satırdan fazla ama ben 10 satır tasarım kadar olan daha minyatür kaba bir şey düşüncem var.

joker bana trail blazer efekt'in yapılışndan bahsetmişti.bende yarım saatlik bir uğraşı ile tabi hatalı ama iş görürü gibi.aşağıdakini yaptım.


10 satırlık basic pinball uğraşısı , birde screen memory dump hex viewer ile

s_Adna-sloo
http://www.youtube.com/watch?v=s_Adna-sloo&feature=youtu.be (http://www.youtube.com/watch?v=s_Adna-sloo&feature=youtu.be)


Trailblazer Zamazingosu :)  hatalı

vCbIzIN0s-M
http://www.youtube.com/watch?v=vCbIzIN0s-M (http://www.youtube.com/watch?v=vCbIzIN0s-M)

10 satırlık basic pinball uğraşısı , birde  screen memory dump hex viewer ile
10 satır basic yarışmasının 2016 etabı devam ediyor. Mart sonuna kadar yetiştirisen katılabilirsin. İlk başta satır kısıtlamasına fazla takılmamanı öneririm. Çalışan oyunu tamamlandıktan sonra. 150-200 satır kodu bile 10 satıra indirebilirsin.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Şubat 14, 2016, 01:07:29 ÖÖ
10 satırlık basic pinball uğraşısı , birde  screen memory dump hex viewer ile

10 satır basic yarışmasının 2016 etabı devam ediyor. Mart sonuna kadar yetiştirisen katılabilirsin. İlk başta satır kısıtlamasına fazla takılmamanı öneririm. Çalışan oyunu tamamlandıktan sonra. 150-200 satır kodu bile 10 satıra indirebilirsin.


   Biraz sıkıntılı bir konu pinball .Çünkü oyunun birebir modelini  10 satıra sığdırmak zor gözüküyor.yok eğer basit liner hareket modeli kullansak olur.

    Tasarıma basitleştirmek istersek , eğer sadece lineer hareket ve lineer limit sınırlarda hareket etmesi sağlarsak .10 satırlık  kolay bir şekilde olur.

 p(x1,y1) top kordinatı  , dx ; x'de  değişim miktarı ve yön kontrol  ,dy ; y'de değişim miktarı ve yön kontrol , t birim zamanda yapılan hareket

    Topun x kordinatındaki değişimi  x=x1+dx*t hesaplanır.
    Topun y kordinatındaki değişimi  y=y1+dy*t hesaplanır.

   bu  x ,y kordinatlarını  limit değerleri ekran düzleminde sınırladırılarak kontrol edilebilir.basit bir model oldu.

    bu top hareketi için çarpışma kontrolleri yazmak gerekiyor.Oyundaki iç kısmında bazı parçalarla çarpışması yada paddlerla vuruş yapılması gibi.Buna göre topun  hareket yönü ve hız kontrolü yapılması mekanik'de yapılabilir.


   Ama birebir modellemek gerekirse işini içine vektörler girer .Ve burda iş biraz uzar gibi gözüküyor.

   Benim fikirmice topun hareketi  önce kuvvet vektörü ile kontrol edilebilir olması gerekir.kuvvet vektörün kullanmak modellemiyi kollaylaştırır düşüncesindeyim.kuvvet vektörden  hız vektörüne geçiş ordan konum vektörüne geçerek topun 2 boyutlu düzlemdeki hareketini gerçeğe yakın modellenebilir.

    Top'a uygulalan kuvvet "F" topun merkezinden geçen bir kuvvet olacak.topun kütlesini m kabul edelim .Top Ters yönde sürtünme kuvetini "FS" kabul edersek .Birim zamanda F kuvvetinden  ters Fs kuvvetinin farkın  alarak kuvvet vektöründeki değişimi sağlamış oluruz. 2 boyutlu ekran düzleminde topun belli bir açı ile gitmesi gerekiyor.Model gerçege yakın olsun.konum vektörünü hesaplarken , hız vektörünü trigonometrik açı değerleri çarpımı ile yön verebiliriz.Fazla uzatmayayım förmülleri yazıyorum.

  Kuvvet vektörü  bileşenlerinden
   fx=fx-fs
   fy=fy-fs

hız vektörüne geçiş
   ax=fx/m
   ay=fy/m
   vx=ax*t
   vy=ay*t

konum vektörüne geçiş sağlarsak

  dx :X kordinatında yön secimi
  vx :x değişim hız miktarı
  d  :Gidiş açısı

  dx :Y kordinatında yön secimi
  vy :y değişim hız miktarı
  d  :Gidiş açısı   

  x=x1+dx*vx*cos(d)
  y=y1+dy*vy*sin(d)

    Bu şekilde top'a bir kuvvet uygulandığında kordinat değiştirecektir.Fakat model ekleme yapmaya devam edeceğiz çünkü kuvvet vektörlerinde düşey kuvvet hem ters sürtündem kuvveti ve düzlemdeki eğimin etkisiye aşağı doğru hareket yapacaktır.Bunun içinde  çarpışmalar ve kontrol mekanizmaları yazmak gerekiyor.Konu ok uzadığı için .daha fazla yazmıyorum.


    hangisi daha basit olur.bence linner olara kontrol kolay olurdu. :P :P :P






Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Şubat 15, 2016, 21:48:55 ÖS
wiz of wor , henüz cevap yazmadın. daha yazacak neler var neler ....

         Pinball oyunun  top hareketlerin kontrol konusunda biraz daha bir şeyler yazmak için devam etmeye karar verdim.Top düşey’de hareket ettiğinde  , yani topun uzaklaşması yada bize yakınlaşması durumunda .oyunucuya o derinliği algılatmamız gerekiyor. Sadece pinball oyununda top gerçeğe yakın hareketini sağlamak oyunun gerçekliğini sağlamıyor.O halde nasıl bu algıyı yaratabiliriz bunun için ekranda topun sınırladırıldığı alanı iyi tanımlamamız gerekiyor.
     Resim 1 ‘de görüldüğü üzere basit birbirine dik doğruların sınırladığı alan olabilir.Fakat bunda derinlik algısı  algısı oluşturmamız zor görünüyor.Resim 2’de görüldüğü üzere  eğer ikiz kenar yamuk alan ile sınırlandırılması ile  topun boyut değişitirilerek   derinlik algısı yaratılabilir.
    Peki bu alan sınırlamasında kontrol nasıl olmalıdır. Resim 1 ‘de beli olan sınır değerleri  kontrol edilerek bu sağlanabilir.Topun  X kordinat değeri x (min) ve x (max) değerlerini aşmamalı.Aynı sınırlama düşeyde olur. Y kordinat değeri y (min) ve y (max) değerlerini aşmamalıdır.Bu kontrol mekanizması çok kolay olurdu.  X ve Y değerleri  sınır alanı belli bunu  mantıksal bir sonuc’a göre  kontrol edilir. Pseudo kod şöyle olmalıydı.
P(x1,y1)   ; top kordinatları   
   if   x1<xmin  and x1>xmax  then  x kordinat değiştir
   if   y1<ymin  and y1>ymax  then  y kordinat değiştir

(http://i1082.photobucket.com/albums/j379/sekoseko1/1_zpsb7jecjvc.jpg)



İkiz kenar yamuk  köşelerden geçen doğrular , Her satırda xmin ve x max  sınır değerleri değişmektedir.Burda durum biraz farklılığında dolayı mantıksal işlem yapmak karmaşık görünüyor.Basit bir matematiksel fonksiyon model ile  yakın bir çözüm düşünüyorum.x min ve x max her satırda değiştiğine göre , topun y kordinat değerine  bağlı bir denklem yazılarak bir fonksiyon oluşturabiliriz. Ekran Genişliğini 320x200 kabul edersek .Ekran orjini 160,100 kordinatları olur.
           Topun her bulunduğu satırda x=160  merkez oluyor.Xmin değeri hesaplamak için xmin merkezden ne kadar uzaklıkta olması gerektiğin bulmam gerekiyor. Sınırlandılımış alan  ikiz kenar dörtgende sağ ve sol kenarda her 4 pixel farklı bir karakter pozisyonun gösteriyor. Topun                       Y1 =ekranda pixel olarak kordinatını  değerini karakter kordinatına dönüştürüyoruz.
G(y1)= int((y1+4)/8) değerini bulup . Şu lineer denklemi oluşturuyoruz.Daha fazla yazmıyacam konu uzuyor. Bu denklem “F(y1)=(160-2*R)-G(y1)*r” ile sınırlandılımış alanı mantıksal kontol yapabiliyoruz. . Xmax değeri için ise aynı denklem sadece sayı işaretleri “+” yapıyoruz.  F(y1)=(160+2*8)+G(y1)*3

       P(x1,y1)=p(120,100) için xmin değeri  G(y1)=int((100+4)/8)=13    F(y1)=144-13*3=144-39=105 xmin=105

F(y1)=176+39=215   
xmax=215
Pseudo code
   P(x1,y1)
   İf x1<xmin  and x1>xmax then x kordinat değiştir.


(http://i1082.photobucket.com/albums/j379/sekoseko1/2_zpsbgdqaorn.jpg)





Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Şubat 17, 2016, 10:34:12 ÖÖ
Bence biraz fazla detaylı düşünüyorsun.

Lineer hareket tabiki olmaz ancak çok da fazla detaya girmeye gerek yok.

İlk başta kuvvet hesabı yapmaya gerek yok. Çünkü kütlemiz dolayısı ile kuvvet/ivme oranımız sabit. Podların vuruş hızına göre farklı ivme değerleri kurgulamak yeterli olacaktır.

Biraz daha basitleştirelim. Aslında hız vektörüne de ihtiyacımız yok. Asıl ihtiyacımız olan şey dx. (Birim zamanda dx=V oluyor zaten.) dx'i hesaplarken de zamanı bilmemize gerek yok.

Biraz daha abartıp dx'i de hesaplamasak olur mu? Yer çekimi ivmesini sıfır alırsak olur. Çünkü topa kuvvet etki eden çarpma anları haricinde dx'in değeri hep aynı olacak. Kuvvet ve dx arasında bir orantı var. Bir de doğrultu olayını çözmek lazım.

Bunun için dx yerine dx ve dy deyimlerini kullanabiliriz. dx yatay dy dikey yön olur. Bunların değerini çarpma şiddeti ve açısına göre basitçe hesaplarız. Bu şekilde hesapladığımızda dx ve dy'yi doğrudan sprite koordinatlarına ekleyerek topa haraket verebiliriz.

Buraya kadar geldikten sonra yer çekimi ivmesini de hesaba eklemek istersen dx'i manipule ederek rahatça yapabilirsin.

Biraz fazla teorik oldu farkındayım. Aynı yarışma için zıplamalı bir oyun yazıyordum. Akşam orada kullandığım eğik atış formülünü örnek olarak eklerim.






Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Şubat 17, 2016, 20:14:04 ÖS
Bence biraz fazla detaylı düşünüyorsun.

Lineer hareket tabiki olmaz ancak çok da fazla detaya girmeye gerek yok.

İlk başta kuvvet hesabı yapmaya gerek yok. Çünkü kütlemiz dolayısı ile kuvvet/ivme oranımız sabit. Podların vuruş hızına göre farklı ivme değerleri kurgulamak yeterli olacaktır.

Biraz daha basitleştirelim. Aslında hız vektörüne de ihtiyacımız yok. Asıl ihtiyacımız olan şey dx. (Birim zamanda dx=V oluyor zaten.) dx'i hesaplarken de zamanı bilmemize gerek yok.

Biraz daha abartıp dx'i de hesaplamasak olur mu? Yer çekimi ivmesini sıfır alırsak olur. Çünkü topa kuvvet etki eden çarpma anları haricinde dx'in değeri hep aynı olacak. Kuvvet ve dx arasında bir orantı var. Bir de doğrultu olayını çözmek lazım.

Bunun için dx yerine dx ve dy deyimlerini kullanabiliriz. dx yatay dy dikey yön olur. Bunların değerini çarpma şiddeti ve açısına göre basitçe hesaplarız. Bu şekilde hesapladığımızda dx ve dy'yi doğrudan sprite koordinatlarına ekleyerek topa haraket verebiliriz.

Buraya kadar geldikten sonra yer çekimi ivmesini de hesaba eklemek istersen dx'i manipule ederek rahatça yapabilirsin.

Biraz fazla teorik oldu farkındayım. Aynı yarışma için zıplamalı bir oyun yazıyordum. Akşam orada kullandığım eğik atış formülünü örnek olarak eklerim.







     Yukardaki yazında belirttiğin gibi , olayı  biraz daha basit modelleye biliriz.Aşağıdaki videoda  görüldüğü üzere sadece sadece konum vektörü bir değişken bağlı olarak değiştirilerek   topun serbest düşme hareketi yaparak zıplmasını çok benzer bir simülasyonun yapmış olduk.Böylece  kuvvet , hız vekötründen kurtulmuş olduk.basit cebirsel işleme dönüştü.ama açısal kontrol eklemdim son hali aşağıdaki gibi olur.

P(xp,yp)  : Top kordinatları

xsp       :  Topun yatay pozisyondaki hız değişim miktarı

ysp       :  Topun düşey pozisyondaki hız değişim miktarı

dy        :  Top'a   Düşey yer çekim  sabiti.
dx        :  Top'a   yatay  etki eden kuvvetler olarak düşünürsem.


pseudo code şöyle oluyor.


 xp=xp+xsp
 yp=yp+ysp

 eğer xp<xmin  veya  xp>xmax   öyleyse  xsp=-1*xsp
 eğer yp<ymin  veya  yp>xmax   öyleyse  ysp=-1*ysp
 
 ysp=ysp+dy
 xsp=xsp+dx

 Top tekrarla :

download :indirme link http://s3.dosya.tc/server8/8i3b3t/ball.zip.html (http://s3.dosya.tc/server8/8i3b3t/ball.zip.html)


http://www.youtube.com/watch?v=IXNeh3xH3xM&feature=youtu.be (http://www.youtube.com/watch?v=IXNeh3xH3xM&feature=youtu.be)


http://www.youtube.com/watch?v=IXNeh3xH3xM&feature=youtu.be (http://www.youtube.com/watch?v=IXNeh3xH3xM&feature=youtu.be)














Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Şubat 17, 2016, 23:58:29 ÖS
Benim kodum şu şekilde,

130 ve 140'da dx değerini belirliyorum. Ateşe basıldığı durumda 150'ye atlıyorum.

100 rem ***** ana döngü *****
110 jj=peek(56320) : if (jjand16)=0 then 150
120 jj=15-(jjand15)
130 if (jj=4 and dx >-10) then dx=dx-1
140 if (jj=8 and dx < 10) then dx=dx+1
142 poke vic+2,x+dx : poke vic+3,y-8+abs(dx/2) : poke(vic+21),3
145 goto 110

Bu sefer ateşi bırakana  kadar dy'yi arttırıyorum.

150 rem ***** ziplama hizi *****
155 dy=0
160 jj=peek(56320) : if (jjand16)<>0 goto 180
165 if dy<-10 then goto 180
170 dy=dy-0.5: poke vic+3,peek(vic+3)-1:goto 160

Sonra da dy ve dx görene zıplama animasyonu hesabı

180 rem ***** ziplama *****
190 poke 2040,193 : poke vic+21,1
200 ifx+dx>255 then side=3
210 ifx+dx<0 then side=0
220   x=x+dx : y=y+dy : x=xand255 : poke(vic),x : poke(vic+1),y : poke(vic+16),side
230   dy=dy+1 : if dy<0 goto 200
240
250 ifx+dx>255 then side=3
260 ifx+dx<0 then side=0
270 x=x+dx : y=y+dy : x=xand255 : poke(vic),x : poke(vic+1),y : poke(vic+16),side
280 dy=dy+1
290 if peek(vic+1)<200 then 190
300 poke 2040,192
390 goto 100

Bu algoritmanın ilk hali, 10 satıra indirmek için daha çok çalışmam lazım. Sonucu da aşağıda.

TK4rxgdrKfQ


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: NoStres üzerinde Şubat 18, 2016, 09:06:25 ÖÖ
Yarışmanın resmi sitesi "gkanold.wix.com" bu mudur?


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Şubat 18, 2016, 10:41:47 ÖÖ
Evet doğrudur. İlk mesaja biraz daha ilave bilgi ekledim. Bu bir kaç senedir düzenlenen bir yarışma. Aslında her sene Atariage forumunda da başlığı oluyordu ama bu sene açımamışlar yada ben bulamadım. İlgilenen atariciler için geçen seneki başlığın linkini vereyim: http://atariage.com/forums/topic/234337-basic-ten-liners-contest-2015/ (http://atariage.com/forums/topic/234337-basic-ten-liners-contest-2015/)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: NoStres üzerinde Şubat 18, 2016, 13:52:58 ÖS
Bir ara QBasic'ğe merak salmıştım; C64 basic hiç tecrübem yok, emülatör'de deneyim dedim, yazma ve derleme olayına ısınamadım.

Katılacak arkadaşlara bol şanslar.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: NoStres üzerinde Şubat 19, 2016, 11:39:40 ÖÖ
Qbasic'deki; screen, sound gibi komutları desteklemiyor sanırım, C64 çözünülürlüğü  <320×200 Pixel - 16 Renk> bunun üzerine çıkılamıyor mu?


Yardımcı olabilecek linkler;

C64 Basic kütüphanesi :
http://www.lemon64.com/manual/ (http://www.lemon64.com/manual/)

Komutları denemek için karakter küçültücü :
http://www.erenet.info/harf_kucultucu_buyutucu.php (http://www.erenet.info/harf_kucultucu_buyutucu.php)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: eins üzerinde Şubat 19, 2016, 11:57:21 ÖÖ
@wizofwor, güzel oluyor... Sen katılacak mısın?


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Şubat 19, 2016, 12:11:45 ÖS
Benim bu yarışmayı düşünmeden başladığım bir kaç çalışma var. Birisi daha önce aynı yarışmaya katılmış olan Atari oyunundan esinlenerek yazdığım mahjong oyunu. Onu forumda yayınlamıştım. Bu yüzden olmaz diye düşünüyorum. Videosunu koyduğum zıp zıp henüz tamam değil. Onu tamamlayıp, 10 satıra sığdırabilirsem katılmayı düşünyorum. Ama henüz başlayamadım.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Mart 20, 2016, 21:51:55 ÖS
  10 satırılık basic yarışması için düşündüğüm ,  pinball oyunun zamansızlık nedeniyle kalmıştı.Bir kaç gündür.Önemli bir konu olana çarpışma kontrolleri için çalışma yapmıştım.İki farklı metod kullanılabilceğini öğrendim.Bir tanesi iki obje arasındaki uzaklığı ölçülmesi ile çarpışma olup olmadığına bakılıyor.Diğer ise iki obje'nin dikdörtgensel alanların kesişimine bakılıyor.aslında c64 sprite ,sprite ve zemin grafiği çarpışma için register kontrolü var.fakat çarpışma hangi yönde , hangi karakterle olduğu bilgisini vermiyor.sadece sprite  zemin grafiği etkileşimi var.bizim için sadece çarpışma değil , kordinat bilgileride gerekli.

   Birinci metod çok basit dik üçgek kuralı kullanılıyor.iki objenin merkezleri arasındaki uzaklığının bulunmasında dayanıyor.Aşağıda resimde Görsel açıklaması ile durumu belirtiyorum.

     İkinci metod ise objelerin etrafını dikdörtgensel bi alan ile sınırlayıp bunların kesişimin noktaların arasında mantıksal karşılaştırma yapıyoruz.Aşağıda resimde görsel olarak açıklaması ile durumu belirtiyorum.


   Bu iki metodunda yazılmsal uygulamasını yaptım gayet iyi çalışıyorlar.İş görüyor.Diyebilirim. Aşağıdaki videoda görebilirsiniz.


  Wizofwor , hatırlasan topun hızını , ivmesi kütlesini felan katarak fonksiyona bağlıyarak çözmeye çalışmıştım.Olayı daha basit indiğeyerek cebirsel işleme yapılabilceğini söylemiştin.

    Bende  konu ile ilgili olarak kuşbakışı futbol oyundaki bir futbolcu kontrolününde topun 0 ile 90 arasında 15 derece açı ile ve değişik hızda kısa uzun şut nasıl yapabilirim  diye düşündüm  ? Bu hareketin çok basit cebir işlem yapılabildiğini çözdüm.Aynı yönün x eksenide simetrisi 90 ile 180 arası top'un hareketini , y ve x eksenine göre simetrisinde 180-270 açı ile gidebildiğini, sadece y eksenine göre simetrsi alındığında 270 -360 açı ile topun sabit bir sayı ile kordinat toplamı sonucu  istenilen açıda gitmesini sağladığını gördüm.

  c64 üzerinde  küçük bir deneme yaptım.ve 0-90 derece arasında 15 derece farklarla futbolcu topu gönderebiliyor.





http://www.youtube.com/watch?v=EkvhrOBWyqc (http://www.youtube.com/watch?v=EkvhrOBWyqc)



(http://i1082.photobucket.com/albums/j379/sekoseko1/r1_zpskpxtdxdv.jpg)



(http://i1082.photobucket.com/albums/j379/sekoseko1/r2_zpsv2aq6bw6.jpg)




http://www.youtube.com/watch?v=4n3L4bP-MEM&feature=youtu.be (http://www.youtube.com/watch?v=4n3L4bP-MEM&feature=youtu.be)










&nbsp;



Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: witchdoktor üzerinde Mart 21, 2016, 11:22:45 ÖÖ
@blackturk

Temel algılama güzel ama çarpışma açısı değerlendirilmediği için yansımalar hatalı oluyor sanırım.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Mart 21, 2016, 12:12:12 ÖS
Çok detaylı inceleyemedim ama 10 satırlık versiyon için gayet yeterli görünüyor. 10 satırlık version haricinde algoritmanın daha detaylı tutulduğu ikinci bir version yapılabilir. Kodu uzatmamak için açılış ekranı, karşılama, oyun sonu mesajları vb. de konulamıyor. Bunlar da eklenirse iki ayrı versiyon çok güzel olur.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Mart 21, 2016, 13:03:06 ÖS
@blackturk

Temel algılama güzel ama çarpışma açısı değerlendirilmediği için yansımalar hatalı oluyor sanırım.


     Evet , aynen dediğin Yansımalar hatalı.Çarpışma yönüne göre yön değiştirme hareketi için ayrı bir model tasarımı yapıcam.Burada ana mantık çarpışma kontrolünü doğru çalıştığını görebilmekti.

     

Çok detaylı inceleyemedim ama 10 satırlık versiyon için gayet yeterli görünüyor. 10 satırlık version haricinde algoritmanın daha detaylı tutulduğu ikinci bir version yapılabilir. Kodu uzatmamak için açılış ekranı, karşılama, oyun sonu mesajları vb. de konulamıyor. Bunlar da eklenirse iki ayrı versiyon çok güzel olur.

    Topun hareketini  yönü ve hızını kontrolü ile çarpışma  için en basit yöntemler basit cebirsel işlemler yaparak.İşimizi kolaylaştırıyoruz.

     Kuş bakışı futbol oyunundaki futbolcuların topun vuruş hareketlerinde  benzer metod kullanarak yaptım.Assembly  dilinde yazdım. atmak istediğin yöne ait sabit bir sayı ile toplama yapılıyor.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: witchdoktor üzerinde Mart 21, 2016, 15:00:58 ÖS
@blackturk

Çarpıştığı ekseni tespit edip sadece o eksendeki açıyı ters çevirirsen olacak gibi. Ben yıllar önce AMOS'ta yazdığım Arkanoid klonunda bu tarz bir yaklaşım izlemiştim.

https://www.youtube.com/watch?v=LVZyf6BZgqY (http://www.youtube.com/watch?v=LVZyf6BZgqY)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Mart 21, 2016, 15:18:28 ÖS
ooo ne cevherler varmış yaww.. witch doctor.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: Simon (Özay Turay) üzerinde Mart 21, 2016, 15:36:08 ÖS
Bence de çok güzel olmuş. :)

Aslında bir başlık/bölüm açsak da herkes eski çalışmalarını paylaşsa ne güzel olur. ::)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: function üzerinde Mart 24, 2016, 02:14:26 ÖÖ
İyi kodlayamamışsın fps çok düşük 5 filan galiba,
şaka bi yana el altından oyununun videosunu birilerine mi yayınlattın :)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: zanpinoz üzerinde Mart 24, 2016, 11:23:11 ÖÖ
@ witchdoktor

Çok güzel olmuş

İsteseniz rick dangerous benzeri bir oyun yapabilirsiniz


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: zanpinoz üzerinde Mart 24, 2016, 15:51:28 ÖS
Hatta şöyle bir senaryosu olsa ;

Pc üreticileri ürün satışlarının hızla düştüğünü gösteren bir grafik önünde dururlar..

Satış pazarlama müdürüne kızarak bunun sebebini sorarlar..

O da bunun commodore.gen.tr de üretilen projelerden kaynaklandığını

hatta megaone diye sır gibi saklanan yeni bir projelerinin

olduğunu anlatır..

      Projeye engel olmak için  Delimavi, simon  metalix  kaçırılır. Arkadaşlarını kurtarma işi Lw3d ve wizofwor a düşer..

 Resimde commodore.gen.tr merkez binası gözüküyor..

 Diğer resimde kötü kalpli pc üreticisi  :)   ( Heart of Darkness oyunundan bir sahne )

 Eğer zamanları müsait olsa aramızdaki doktor a derecesine sahip yazılımcılar ve grafik uzamanları

birlikte

üstesinden gelebilirler   :)


    





Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Mart 26, 2016, 17:32:00 ÖS
 Pinball tasarımı yüzünden.Futbol oyunu tasarımına dönüştürdüm.Bayağa ilerleme kaydettim.Açıklama yazıcam konuyla ilgili.


http://www.youtube.com/watch?v=udwOEwRSiOA (http://www.youtube.com/watch?v=udwOEwRSiOA)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Mart 31, 2016, 08:43:17 ÖÖ
"Wiz of wor"
   Oyuncu ile 8 farklı yönde şut çekebilen duruma getirdim.Yukardaki videoda görebilirsin .Diğer açıları ekleyerek istenilen yönde şut , yada pas yapılabilecek duruma getirecem.Açısal hareket basit bir toplama işlemi ile ilgili  bilgi için tekrar teşekkürler.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: ilkerficicilar üzerinde Mart 31, 2016, 10:23:47 ÖÖ
On satıra nasıl sığmış bu sahi?.. Gerçekten tebrikler.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Mart 31, 2016, 11:39:13 ÖÖ
On satıra nasıl sığmış bu sahi?.. Gerçekten tebrikler.

  Bunu assembly ile yazdım.Konu  pinball oyundaki topun hareket yönünün ve açı kontrolü idi.Bende biraz fazla matematiksel işlemlere girince.Wiz of wor daha basit cebirsel işlem indirgeyerek çözülebilceğini söyleyince.Bu bilgiyi uygulamak için  Futbol oyunucu kontrolündeki topun hareket  yön ve açısında kullandım.


  Pinball oyunun basic dilinde on satırda yazma bir durum vardı.bu pratik uygulamada Pinball topun  açı ve yön hesaplamada  rahatlıkla kullanabilir.

  Benim yazdığım futbolcunun top kontorlu tüm datalarda dahil yaklaşık assembly dilinde 600 satır gibi hatırlıyorum.

 




Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: wizofwor üzerinde Mart 31, 2016, 22:09:11 ÖS
Blackturk elinde sağlık. Güzel bir iş çıkışmışa benziyor.
Sadece belli kısımları asembler ile yazdığını zannetmiştim ama anlaşılan komple asm ile yazdın.
Artık köşeye bir sayaç vb. koyup prg olarak yayınlarsın değil mi?

Hatta şöyle bir senaryosu olsa ;

Pc üreticileri ürün satışlarının hızla düştüğünü gösteren bir grafik önünde dururlar..
Satış pazarlama müdürüne kızarak bunun sebebini sorarlar..
O da bunun commodore.gen.tr de üretilen projelerden kaynaklandığını
hatta megaone diye sır gibi saklanan yeni bir projelerinin
olduğunu anlatır..

&nbsp; &nbsp; &nbsp; Projeye engel olmak için&nbsp; Delimavi, simon&nbsp; metalix&nbsp; kaçırılır. Arkadaşlarını kurtarma işi Lw3d ve wizofwor a düşer..


Ben bu senaryoyu çok tuttum. Bu konudan güzel bir text adventure çıkabilir.

@blackturk

Çarpıştığı ekseni tespit edip sadece o eksendeki açıyı ters çevirirsen olacak gibi. Ben yıllar önce AMOS'ta yazdığım Arkanoid klonunda bu tarz bir yaklaşım izlemiştim.

https://www.youtube.com/watch?v=LVZyf6BZgqY (http://www.youtube.com/watch?v=LVZyf6BZgqY)

Aklımda Amos hakkında deli sorular var. BASIC'in ne kadar verimsiz olduğunu okuyarak büyüdük. AMOS ise BASIC temelli de olsa derlenen bir dil. Amiga özelinde C'ye göre performans durumu nasıldı acaba? Bu konuda yorum yapabilir misin? Bende AMOS'un chipsetle arası daha iyi olduğu için donanıma çok hakim olmadan da makul performanslı işler yapılabilir gibi bir algı oluşmuş. Donanıma hakim biri ise C'de çok daha iyi çıkarabilir gibi. Doğru mudur?


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Mart 31, 2016, 23:59:42 ÖS
Blackturk elinde sağlık. Güzel bir iş çıkışmışa benziyor.
Sadece belli kısımları asembler ile yazdığını zannetmiştim ama anlaşılan komple asm ile yazdın.
Artık köşeye bir sayaç vb. koyup prg olarak yayınlarsın değil mi?

 sayaç konusunda  bilgim yok.Dostum. direk link veriyorum.
   download link verdim.

   d64 image  download :
     http://dosya.co/2w1650zx8s3z/SoccerforC64.rar.html (http://dosya.co/2w1650zx8s3z/SoccerforC64.rar.html)
     http://s8.dosya.tc/server2/0m7oo3/SoccerforC64.rar.html (http://s8.dosya.tc/server2/0m7oo3/SoccerforC64.rar.html)




Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: witchdoktor üzerinde Nisan 01, 2016, 16:28:51 ÖS
Aklımda Amos hakkında deli sorular var. BASIC'in ne kadar verimsiz olduğunu okuyarak büyüdük. AMOS ise BASIC temelli de olsa derlenen bir dil. Amiga özelinde C'ye göre performans durumu nasıldı acaba? Bu konuda yorum yapabilir misin? Bende AMOS'un chipsetle arası daha iyi olduğu için donanıma çok hakim olmadan da makul performanslı işler yapılabilir gibi bir algı oluşmuş. Donanıma hakim biri ise C'de çok daha iyi çıkarabilir gibi. Doğru mudur?

AMOS'u Amiga'nın BASIC'i olarak düşünebilirsin, OS uyumlu iş çıkarmak deveye hendekten atlatmaktan zor olsa da interpreter temelli olması nedeniyle derhal çalıştırabileceğin bir geliştirme ortamı sunması güzeldi. Amiga'da C ile oyun yazmak, bu iş için OS'u kullanmak aşırı zor, amatör kullanıcının altından kalkamayacağı bir işti. Bu nedenle birçok oyun programcısı 'scene' kökenli, donanımı yalayıp yutmuş, assembler programcıları idi. 8-bit CPU'lara alışmış programcılar için MC680X0 makine dili neredeyse bir 'high-level' programlama ortamı olarak algılandı. Sonuçta Amiga'da oyun programlamada C kullanımı çok nadir, ya da programın üst kurgusu ile sınırlıdır. AMOS ise "poor man's" programlama dili olarak çıkageldi ve Amiga'nın OS ve donanımının kompleks yapısını soyutlayarak BASIC tadında ama yapısal bir geliştirme ortamı sundu, bu nedenle de geniş bir kullanıcı kitlesi edindi.

Makine dili kullanımını destekleyen bir başka nokta da Amiga'nın donanımının yeterince güçlü olmamasıydı. İyi iş çıkarabilmek için donanımı çok iyi kullanmanız gerekliydi. Blitter güzeldi ama yeterince hızlı değildi ve birçok kısıtlamaları mevcuttu. 'Tile' tabanlı bir grafik modu yoktu. Sprite'lar 16 piksel genişliğindeydi ve 3 renkle sınırlı idi. Ticari kalitede bir iş çıkarabilmek için makine dili elzemdi yani.

C ile AMOS'u kıyasladığımızda ise iş ne tür bir programcı olduğunuza göre değişiyor. Eğer tüm alt düzey rutinlerinizi (blitting, copper programlama, double buffering vb) makine dilinde hazırlayacak kadar iyi bir programcı iseniz, üst yapınızı C'de hazırlamanız mümkün. AmigaOS kütüphanelerini kullanarak bir iş çıkarmanız ise hem çok zor hem de performans olarak tatminkar değil.

AMOS'ta ise bu tür destekler hazır geliyor ve hemen kullanmaya başlıyorsunuz. Tabi ki bunların hiçbiri iyi bir programcının elinden çıkmış, optimize edilmiş bir C kütüphanesi gibi olamaz ama gayet pratik olduğu da su götürmez bir gerçek.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: Murat Çileli üzerinde Nisan 01, 2016, 18:04:52 ÖS
Wtichdoktor güzel açıklamış zaten. Ben de zamanında AMOS mantığıyla çalışan, BlitzBasic ve Blitz3D ile uğraşmıştım. Maalesef bu tür programlama dilleri eğlencelik olmaktan öteye gidemiyor. Donanımdan tam verimi alabilmek için "low-level" şart.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Nisan 01, 2016, 18:28:11 ÖS
Aklımda Amos hakkında deli sorular var. BASIC'in ne kadar verimsiz olduğunu okuyarak büyüdük. AMOS ise BASIC temelli de olsa derlenen bir dil. Amiga özelinde C'ye göre performans durumu nasıldı acaba? Bu konuda yorum yapabilir misin? Bende AMOS'un chipsetle arası daha iyi olduğu için donanıma çok hakim olmadan da makul performanslı işler yapılabilir gibi bir algı oluşmuş. Donanıma hakim biri ise C'de çok daha iyi çıkarabilir gibi. Doğru mudur?

AMOS'u Amiga'nın BASIC'i olarak düşünebilirsin, OS uyumlu iş çıkarmak deveye hendekten atlatmaktan zor olsa da interpreter temelli olması nedeniyle derhal çalıştırabileceğin bir geliştirme ortamı sunması güzeldi. Amiga'da C ile oyun yazmak, bu iş için OS'u kullanmak aşırı zor, amatör kullanıcının altından kalkamayacağı bir işti. Bu nedenle birçok oyun programcısı 'scene' kökenli, donanımı yalayıp yutmuş, assembler programcıları idi. 8-bit CPU'lara alışmış programcılar için MC680X0 makine dili neredeyse bir 'high-level' programlama ortamı olarak algılandı. Sonuçta Amiga'da oyun programlamada C kullanımı çok nadir, ya da programın üst kurgusu ile sınırlıdır. AMOS ise "poor man's" programlama dili olarak çıkageldi ve Amiga'nın OS ve donanımının kompleks yapısını soyutlayarak BASIC tadında ama yapısal bir geliştirme ortamı sundu, bu nedenle de geniş bir kullanıcı kitlesi edindi.

Makine dili kullanımını destekleyen bir başka nokta da Amiga'nın donanımının yeterince güçlü olmamasıydı. İyi iş çıkarabilmek için donanımı çok iyi kullanmanız gerekliydi. Blitter güzeldi ama yeterince hızlı değildi ve birçok kısıtlamaları mevcuttu. 'Tile' tabanlı bir grafik modu yoktu. Sprite'lar 16 piksel genişliğindeydi ve 3 renkle sınırlı idi. Ticari kalitede bir iş çıkarabilmek için makine dili elzemdi yani.

C ile AMOS'u kıyasladığımızda ise iş ne tür bir programcı olduğunuza göre değişiyor. Eğer tüm alt düzey rutinlerinizi (blitting, copper programlama, double buffering vb) makine dilinde hazırlayacak kadar iyi bir programcı iseniz, üst yapınızı C'de hazırlamanız mümkün. AmigaOS kütüphanelerini kullanarak bir iş çıkarmanız ise hem çok zor hem de performans olarak tatminkar değil.

AMOS'ta ise bu tür destekler hazır geliyor ve hemen kullanmaya başlıyorsunuz. Tabi ki bunların hiçbiri iyi bir programcının elinden çıkmış, optimize edilmiş bir C kütüphanesi gibi olamaz ama gayet pratik olduğu da su götürmez bir gerçek.


  Yani fazla başım ağırmasın.Yada fazla amelelik yapmayım , Diyorsan Amos  dili.

     Amiga 'da  demo , intro mu ? kesinlikle assembly dili.Utility , tool  ve workbench  arayüz program için C dili yeterli olacağını düşünüyorum.Çok fazla hız ihtiyaç olmadığı sürece C dili çok iyi seçimdir.İster Assembly , ister C dili kullan amiga sistem library kullanımı metodu değişmiyor.


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Nisan 29, 2016, 00:06:42 ÖÖ
   Şunu fark ettim futbol topunu oyuncu  şut , pas veya herhangi birini başka atuş yaptığında , topun hareketlerinde derinlik algısı yaratmak gerekiyor.Şuan bunun için çalışma yapıyorum .Şimdilik aşağıdaki topun basit bir kısa süreli zıplama  ve düz pas atmayala başladım.



http://www.youtube.com/watch?v=hPjFfEgO7BM (http://www.youtube.com/watch?v=hPjFfEgO7BM)


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: zanpinoz üzerinde Nisan 29, 2016, 00:41:06 ÖÖ
zıplama etkisi güzel olmuş

zıplamadan giderken derinlik hissi vermek için

peşinde geçici iz bırakması etkili olabilirmi acaba



Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: witchdoktor üzerinde Nisan 29, 2016, 15:16:21 ÖS
@blackturk

Gölgeyi aynı sprite'a mı ekledin?


Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Nisan 29, 2016, 20:21:17 ÖS
@blackturk

Gölgeyi aynı sprite'a mı ekledin?



   Aaaaaaa çok mükemmel bir soru .Şuan için top ve gölge aynı sprite yaptım.Ama gölge kesinlikle topun  yere uzaklığı ile top arasında değişecek.Asıl uygulama top yerden yüksek mesafede , değişik açıda gönderildiğinde ayrı  olması gerekiyor.Top ve gölgesi birlikte ışık yönüne göre hareket etmeli.

        Bu hareket Modellemesini yaparken , eğik atış formülü ile Açısal harket denkleminden yararlanacağım.Top hareketini çok iyi modellemiş olacağımı düşünüyorum.



     Işık daima sol üst köşeden gelecek .
     
    Vuruş kuvveti , eğer düğme az basarsan  oyunucunun yönüne göre  en yakındaki adama kısa pas atar.Yada en uzaktaki adam'a göre uzun pas atar.Peki uzak yerdeki adama  pas yerden yada havadan atılması gerekiyor.iki oyunucun arasındaki uzaklığa göre karar verip.Top hareketini sağlamak lazım.

      Yani topun hareketine göre , ışık sol üst köşede olduğuna göre ,gölge top'un yere yüksekliğine göre değiştereceğiz


      Top'a falsolu vuruşu soracaksın onun modelin yaptım.topun gidiş açısında eklediğimiz sayıları beli bir noktadan sonra değiştiridiğimizde falsolu yapmış oluyoruz.Bu hareketin denemesini grafik olarak ekran çizdirim.İstediğim falsolu verebildim.Tabi joystick ile bunu nasıl yaparım .Ayrı bir sayfa açmak lazım.







Konu Başlığı: Ynt: Basic Tenliners 2016
Gönderen: blackturk üzerinde Nisan 29, 2016, 21:30:12 ÖS
Çok basit bir metod buldum.Denemeyi yaptıktan sonra hemen bir video atarım.