Oyun Geliştirme

Profesyonel ve bağımsız oyun geliştiricileri için soru cevap

3
Izgaradaki döşemelerin kümesinin kapalı bir şekil oluşturup oluşturmadığını belirleme
Bir ızgara üzerinde fayans kümesi verildiğinde, belirlemek istiyorum: Fayanslar kapalı bir figür oluşturuyorsa Döşemenin kenarlarını şeklin kenarı olarak saydığınızda, döşemeler kapalı bir şekil yaparsa Önceki iki ifadeden herhangi biri doğruysa, ek karolar ekteki şeklin içine girer ve ilk karolar oluşur. Oyuncu, bir karo üzerine basıp, aynı renkli karolar zinciri oluşturmak …
10 algorithm  grid  graph 

5
Sahneye eklemeden yeni bir GameObject nasıl oluşturulur?
Aslında kendi prefabrik sistemimi yaratıyorum. Oyun nesneleri okunabilir bir veri dosyası tarafından tanımlanır. Boş bir GameObject oluşturmak, veri dosyasında tanımlanan bileşenlerle yüklemek ve hazır ve bir Instantiate()çağrı bekletmek istiyorum . Ancak, ne zaman GameObject go = new GameObject()yeni bir oyun nesnesi kullanırsam sahneye eklenir. Yerleşik prefabrik üniteleri kullanarak, GameObject olarak …

1
Dört Ağaçta Şekiller (Dikdörtgenler) Nasıl Çalışır?
Dört ağacın oyunum için ideal veri yapısı olduğu söylendi, ancak dört ağaçta şekillerin tam olarak nasıl çalıştığını anlamakta zorlanıyorum. Bunu JavaScript ile yapıyorum, ancak bu soruların herhangi bir dilde dört ağaç için geçerli olabileceğini düşünüyorum. Çoğunlukla dört ağaçlarda temel (x, y) noktaların ve nokta eklemenin nasıl çalıştığını ve kağıt üzerinde …

1
Sprite sayfası dokuları bitişik doku kenarlarını alarak
Basit bir hareketli grafik sayfası kullanan özel bir hareketli grafik (openGL 2.0) var (dokularım yan yana yatay olarak düzenlenmiş). Örneğin, 2 basit dokuya sahip bir test sprite sayfası: Şimdi, openGL sprite nesnesimi oluştururken yaptığım şey, atlasındaki toplam kare sayısını belirtmek ve çizerken, çizmek istediğim kareyi belirtmektir. Daha sonra dokuyu nereden …

6
Dizi tabanlı onaltılık haritada pikselden onaltılık koordinatlara nasıl ulaşabilirim?
Bir hex harita için koordinasyon işlevi için bir piksel yapmaya çalışıyorum ama matematik doğru alamıyorum, çalıştığım her şey biraz kapalı gibi görünüyor ve bulduğum örnekler daire içine alınmış ortalanmış haritalara dayanıyordu. 'Dizi tabanlı' derken altıgenlerin sıralanma şeklini kastediyorum, resme bakın. Aldığım en doğru sonuç aşağıdaki kodla oldu, ama yine de …

3
C ++ 'da Varlık Bileşen Sistemi Arasındaki Bağlantıya İlişkin Öneriler
Varlık bileşeni sistemi hakkında birkaç belgeyi okuduktan sonra, madeni uygulamaya karar verdim. Şimdiye kadar, varlıkları ve sistem yöneticisini (sistemlerini) içeren bir Dünya sınıfı, std :: map olarak bileşenleri içeren Varlık sınıfı ve birkaç sistemi var. Dünyada std :: vector olarak varlıkları tutuyorum. Şimdiye kadar sorun yok. Beni şaşırtan şey varlıkların …

4
Farklı klavye düzenlerini nasıl işleyebilirim?
Diyelim ki QWERTY mizanpajında ​​WASD kontrollerini kullanan bir oyunum var. Dvorak mizanpajında ​​bu kontrolleri kullanmaya çalışmak ideal değildir ( <A:HQWERTY ile eşdeğer ). Açıkçası ,aoeQWERTY'nin ( DVORAK'ta) kullanacağı fiziksel anahtarları kullanmak istiyorum . Birkaç olası çözüm buldum: Kullanıcıyı QWERTY kullanmaya zorla Açıkçası ideal değil, özellikle uluslararası kullanıcılar için Kısayolları klavye …
10 keyboard 

3
Oyun projesinin her şeyi depolamak için kaynak kontrolü?
Sadece kaynak kodunu değil, sürüm kontrolü için git deposu altındaki tüm varlıkları, dokuları, sanatı, dokümantasyon dosyalarını vb. Yönetmek normal midir? Mesela eski doku versiyonunu geri almak istiyorum. Çok kötü bir uygulama varsa, varlıkların ve diğer şeylerin sürüm kontrolü için hangi araçları kullanıyorsunuz?

2
Bir dönüşüm matrisinden yönlendirmeyi nasıl çıkarabilirsiniz?
Bir 4x4 dönüşüm matrisim M var ve M tarafından dönüştürüldüğünde bir kürenin şeklini bulmak istiyorum (Küre orijinlidir ve yarıçap 1'e sahiptir.) Merkezi M'yi (0,0,0,1) ile çarparak bulabileceğimi biliyorum. Bununla birlikte, M küreyi ezip döndürebildiğinden yarıçap bir problem haline gelir. Ortaya çıkan elipsoidin yeni yarıçaplarını nasıl bulabilirim? Oryantasyonu bulmanın bir yolu …

3
Zarif otomobil kaplama
İnsanların karo tabanlı oyunlarında nasıl otomatik döşeme uyguladıkları hakkında bilgi arıyorum. Şimdiye kadar her zaman bir sürü "if ... else ..." ifadesi ile bunu doğaçlama yaptım ve şimdi daha zarif bir çözüm bulma zamanının geldiğine karar verdim. İnternette konuyla ilgili otomatik döşeme uygulamaları ve tartışma örnekleri için arama yaptım, ancak …

12
Bellek değiştirme hilelerini nasıl önleyebilirim?
Bugünlerde birçok bellek değiştirici program var ( Cheat Engine & co). Sabit bir değişkeni gerçekten sabit tutmanın etkili bir yolu var mı ? İki fikrim vardı: Sabit değişkeni sabit bir değere güncelleyen ayrı bir iş parçacığı oluşturun, örneğin dakikada 200. Sorun: İkinci değer de değiştirilebilir. Değeri sunucuda saklayın. Sorun: Ağ …
10 anti-cheat 


3
Çok oyunculu oyun durumunu tam durum güncellemelerinden daha verimli bir şekilde nasıl senkronize edebilirim?
Daha önce küçük bir oyun ağı kodlaması yaptım, ancak öncelikle gerçek zamanlı ihtiyaçları olmayan oyunlar için TCP ile. Ağa bağlı çok oyunculu 2B Java oyunu üzerinde çalışıyorum. Öğrenmek için, mevcut bir ağ API'sı olmadan bunu kendim yapmak istiyorum. Bir sunucudan istemcilere gönderilen oyun durumunu nasıl verimli bir şekilde temsil edebilirim? …

1
Arka plan pikselinin rengi nasıl ters çevrilir
Java ve jMonkeyEngine kullanarak bir oyun ve harita editörü yazıyorum. Harita editöründe, tel çerçeveli küre tarafından yapılan bir fırçam var. Benim sorunum: Ben her yerde görünür yapmak istiyorum, bu yüzden bu fırçanın "arkasında" pikselin rengini ters çevirmek istiyorum. Parça gölgelendirici (GLSL) ile yapmak istedim, ancak bu pikselin rengini nasıl alacağımı …

2
Motor parçaları arasındaki etkileşim nasıl uygulanır?
Oyun motoru parçaları arasındaki bilgi alışverişinin nasıl uygulanması gerektiği hakkında bir soru sormak istiyorum. Motor dört bölüme ayrılmıştır: mantık, veri, kullanıcı arayüzü, grafik. Başlangıçta bu değişimi bayraklarla yaptım. Örneğin, yeni nesne verilere eklenirse isNew, bir nesnenin sınıfındaki bayrak olarak ayarlanır true. Bundan sonra motorun grafik kısmı bu bayrağı kontrol edecek …
10 c++  architecture 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.