Oyun Programlama İle Alakalı Mantık Soruları
-
Sa müridler,
Aklıma takılan bazı mantık soruları var. Kodlama ile alakalı bir durum değil ama mantığını oluşturamadım kafamda.
Mesela, Tır oyunu yazıyoruz diyelim. Tırın ulaştığı duraklarda random olarak görevler vermek istiyoruz. Örneğin İstanbul İzmir arası yolculuk 1000TL x yükü, aynı pencere içinde Istanbul İzmir 1200TL y yükü, İstanbul Adana 5000Tl z yükü gibi random olarak görevler oluşturmak istiyorum. Bunları nasıl yaparım random olarak yapacaksak fiyatların saçmalamaması lazım. birde oyuncunun level'e göre bu verilen ücretlerin zamanla arması lazım. Yani görev oluşturmak istiyorum bunları nasıl oluşturabilirim ?
Bu görevleri tek tek kendim mi oluşturmam gerekiyor ? yoksa bir random kodu yazarak ayarlayabilir miyiz ?
Aklıma takılan mantık soruları oluştukça güncellemeyi planlıyorum.
Güncelleme: aklıma gelmişken yazayım, bu tarz şeyleri anlatan pdf varsa oda olur, algoritmada öğrenmem lazım
Ekerci tarafından 01/Haz/16 11:39 tarihinde düzenlenmiştir -
Bildiğim kadarıyla oyun geliştirmek;kodlama değil mantığını dengesini oynanabilirliğini, gerçekte ayrı bir dal ve uzmanlık gerektiyor.
Peak games'den biriyle tanışmıştım onun anlattığına göre tüm bu rastgele görevlerinde ödül ve cezaları belli parametrelere göre değişiyor.
-
Hocam kafana takilan seyi tam olarak anlamadim.
Gorevlerin zamanla zorlasmasi mi gerekiyor?
Yuk fiyatlarinin mantikli bir aralikta mi kalmasi gerekiyor?
Yoksa sehirlerin mantikli bir sira ile gelmesi mi gerekiyor?
Tam olarak takildigin seyi biraz daha ayrintili yazarsan yardimci olmaya calisayim.
-
aslında 2nizinde yazdığının kombinasyonu.
Herhangi bir oyun düşün hocam orda görevler, aksilikler (mesela ev kurmuşsun, ocak yakarken yangın çıkıyor(hey gidi sims :D)ya da cim city oynuyorsun görev geliyor random zamanda veya hortum çıkıyor) var. bunların yazılma mantığı nedir neye göre yazıyorlar ?
@sandman hocam çok über bişi geliştirmiyorum ama bu tarz oyun mantığı her oyunun içinde oluyor.
başka bir örnek olarak, tarım oyunu oynuyorsunuz oyun random bir şekilde hava değiştiriyor yağmur yağıyor mahsüller bozuluyor vs vs. oyunda bu random eventler nasıl oluşturuluyor.
lemonade tycoon vardı, hava yağmurluysa 15 kişi güneşliyse 35kişi geliyor limonata içiyordu fakat, her yağmur yağdıgında tam olarak 15 kişi gelmiyor bazen 19 kişi de gelebiliyordu.tamam bunun mantıgı o kadar zor değil mesela rand fonksiyonunu yağmur varsa 10 ile 25 arasına atanır ordan bi random sayı gelir vs vs.
yani oyunların mantıkları lazım bana -
Senin yapmak istediğin şeye göre değişir sadece randoma girecek sayı aralığını ayarlayacaksın. Mesela hava değişmesi için 2-3 dakikada bir random üretirsin hava sık değişsin istiyorsan 1-3 arası üretip 2 gelirse değişsin dersin ya da sık değişmesin diyorsan 1-8 arası falan üretip 3 gelirse hava değişsin dersin. Yük olayında 2 randomla olay yapılır. İki randoma sokup ilkinde 2 şehri diğerinde yük cinsini seçeceksin. Her yük için km başı ücret belirlersin. Mesela iki şehir arası 400 km yük de rastgele patates çıktı. Patates için km başı 3 TL dersin 3*400=1200 TL yazarsın. Adamın leveline göre aynı şey için daha fazla para verme bence. Mesela düşük levelde patates, soğan, çimento falan taşısın yüksek olunca cam, petrol gibi taşıması daha zor olan yükler seçebilsin onlara fazla para ver.
-
DarkSkull bunu yazdı
Senin yapmak istediğin şeye göre değişir sadece randoma girecek sayı aralığını ayarlayacaksın. Mesela hava değişmesi için 2-3 dakikada bir random üretirsin hava sık değişsin istiyorsan 1-3 arası üretip 2 gelirse değişsin dersin ya da sık değişmesin diyorsan 1-8 arası falan üretip 3 gelirse hava değişsin dersin. Yük olayında 2 randomla olay yapılır. İki randoma sokup ilkinde 2 şehri diğerinde yük cinsini seçeceksin. Her yük için km başı ücret belirlersin. Mesela iki şehir arası 400 km yük de rastgele patates çıktı. Patates için km başı 3 TL dersin 3*400=1200 TL yazarsın. Adamın leveline göre aynı şey için daha fazla para verme bence. Mesela düşük levelde patates, soğan, çimento falan taşısın yüksek olunca cam, petrol gibi taşıması daha zor olan yükler seçebilsin onlara fazla para ver.
saol hocam kafamda biraz daha şekillendi durumlar. aklıma takılan olursa yine yazarım :D aslında bende böyle birşey düşünüyordumda bunun daha profesyönelce bi kodlama hayal ediyordum :D
-
DarkSkull bunu yazdı
Senin yapmak istediğin şeye göre değişir sadece randoma girecek sayı aralığını ayarlayacaksın. Mesela hava değişmesi için 2-3 dakikada bir random üretirsin hava sık değişsin istiyorsan 1-3 arası üretip 2 gelirse değişsin dersin ya da sık değişmesin diyorsan 1-8 arası falan üretip 3 gelirse hava değişsin dersin. Yük olayında 2 randomla olay yapılır. İki randoma sokup ilkinde 2 şehri diğerinde yük cinsini seçeceksin. Her yük için km başı ücret belirlersin. Mesela iki şehir arası 400 km yük de rastgele patates çıktı. Patates için km başı 3 TL dersin 3*400=1200 TL yazarsın. Adamın leveline göre aynı şey için daha fazla para verme bence. Mesela düşük levelde patates, soğan, çimento falan taşısın yüksek olunca cam, petrol gibi taşıması daha zor olan yükler seçebilsin onlara fazla para ver.
Aynen katılıyorum.
Bu oyun programlama ile ilgili mantık kurma konusu çok hoşuma gidiyor yani bir olayı kodlamadan önce beyin fırtınası yapıp en mantıklı yolu seçmek gerek.
He bide kaliteli bir simulator oyunu yapmayı düşünüyorsan hiç bekleme yap :D Her türlü tutuyor. Bizim arkadaş 2 saatte boktan bi tır simulatorü yaptı öylesine markete koydu 1 milyon indirme aldı aylık 6.000 falan alıyordu :D Ama Ovidiu Pop gibi bir şirket varken üst sıralara çıkmak zor açıkçası.
-
Gerçek hayatta nasılsa öyle yapıcan :D
Aradaki mesafe, mevsim, taşınacak yük tipi, bu yükün insan hayatına tehlike seviyesi, şöfor tecrübesi gibi gibi parametrelerden bir havuz oluşturulabilir.
Sonra da hepsinin total fiyata etki katsayıları belirlenir. Tabi tüm bunları net rakamlar yerine aralıklarla gidersen komple random bir fiyat çıkar. :D
-
spynter bunu yazdıDarkSkull bunu yazdı
Senin yapmak istediğin şeye göre değişir sadece randoma girecek sayı aralığını ayarlayacaksın. Mesela hava değişmesi için 2-3 dakikada bir random üretirsin hava sık değişsin istiyorsan 1-3 arası üretip 2 gelirse değişsin dersin ya da sık değişmesin diyorsan 1-8 arası falan üretip 3 gelirse hava değişsin dersin. Yük olayında 2 randomla olay yapılır. İki randoma sokup ilkinde 2 şehri diğerinde yük cinsini seçeceksin. Her yük için km başı ücret belirlersin. Mesela iki şehir arası 400 km yük de rastgele patates çıktı. Patates için km başı 3 TL dersin 3*400=1200 TL yazarsın. Adamın leveline göre aynı şey için daha fazla para verme bence. Mesela düşük levelde patates, soğan, çimento falan taşısın yüksek olunca cam, petrol gibi taşıması daha zor olan yükler seçebilsin onlara fazla para ver.
Aynen katılıyorum.
Bu oyun programlama ile ilgili mantık kurma konusu çok hoşuma gidiyor yani bir olayı kodlamadan önce beyin fırtınası yapıp en mantıklı yolu seçmek gerek.
He bide kaliteli bir simulator oyunu yapmayı düşünüyorsan hiç bekleme yap :D Her türlü tutuyor. Bizim arkadaş 2 saatte boktan bi tır simulatorü yaptı öylesine markete koydu 1 milyon indirme aldı aylık 6.000 falan alıyordu :D Ama Ovidiu Pop gibi bir şirket varken üst sıralara çıkmak zor açıkçası.
Oyunun konusu daha farklı ama similatör şeklinde olacak. Grafiklerle uğraşmam lazım çünkü animasyon oldukça düşük olacak. Butonlar fln olacak ve bir sürü özellik olacak. Zaten özellik az olursa yapacak bi iş kalmaz oyuncu sıkılır diye düşünüyorum. yapsam kendim oynayacam :D aslında oyunu buraya yazsam hemen biri yapar götürür :D yazması etmesi kolay.hafta sonu yapmaya başlayacam gibi. zamanım olmadığından dolayı 1 ay sürer diye tahmin ediyorum
-
Yazdığım mantık ilk aklıma gelen şey üzerinde biraz daha düşününce farklı yöntemler çıkar belki. Hep birlikte bi sıçmaya gidelim sıçarken güzel fikirler çıkıyor :) Üniversitede 1 gün düşünüp bulamadığım mantığı sıçarken 2-3 farklı yoldan çözdüm :)
Ben de vaktim olsa kendim uğraşacağım, param olsa birine para verip yaptıracağım town of salem tarzı Türkçe birşey. Öncelikli mobil olacak. Adam gibi batak oyunu da yok aslında ya grafikler kötü ya sunucular ya oynanış hepsinde bir sıkıntı var.
-
sürekli random :D
DarkSkull'un dediği gibi araya array'ler koyman lazım.
iyi bir programlama ile yazmak istiyorsan oyunu Kendi Sınıflarını yazacan mesela
class Kamyon {
tip->
güç->
level->
}
detaylandıkça detaylanır.
ama değişiklik yapmak oldukça kolay hale gelir. mesela görev sınıfı yaparsın farklı tip kamyonlara farklı görevler verir. veya belli levele belli görevler verir. kıstas oluşturur.