3D'den önce 2d oyun geliştirmeyi öğrenmeli miyim? [kapalı]


14

Ben bir iPhone uygulama geliştiricisiyim. İOS oyunlarına girmek istiyorum. Soru şu ki, Unity gibi 3D oyunları öğrenmeden önce Cocos 2D veya Corona SDK gibi 2D öğrenmekle başlamalıyım? 3D oyunlarla daha çok ilgileniyorum, ancak 2D oyun oynamanın 3D gelişimi öğrenmenin bir önkoşulu olduğunu düşünüyor musunuz?



Üzgünüm, verilen sorunun muhtemelen bağladığım sorudan bir dupe olmadığını düşünüyorum. Her ne kadar cevaplar aynı zemini kapsıyor olsa da.
bummzack

Yanıtlar:


11

Matematik ve 3D oyun programlama kavramlarıyla ne kadar güçlü olduğunuza bağlıdır .

2B yalnızca x, y konumları ve hız kavramlarını (ve bunları temelde vektörler ekleyerek ve çıkararak) ve 2B kutu çarpışmasını kullanarak elde edebilirsiniz.

3D'de çok daha fazla matematik konusunda endişelenmelisiniz: projeksiyon matrisleri, matrisleri görüntüleme, frusta ..

Buna ek olarak, kullandığınız çizim API'sından çok daha zengin bir işlev kümesiyle etkileşime girmelisiniz (sadece 3D yaptığınızdan dolayı, 3D ile ilgilenen çok daha fazla işlev öğrenmeniz gerekir. ).

Microsoft XNA, 2D'de başlamak için mükemmel bir desteğe sahiptir ve SpriteBatch kullanarak oluşturmayı kolaylaştırır . 3D'ye girer girmez, VertexBuffer veya Model'i otomatik olarak öğrenmeniz gerekir ve sonra ModelBones ve onunla birlikte gelen her şey gelir.

Sadece kavramanız gereken kavramların daha az olması (2D spritelar? Bir cakewalk!). Kemerinizin altında biraz deneyim kazandıktan sonra, 3D yapmakta iyi olmalısınız.


9

2D ve 3D oyun geliştirme arasındaki tek temel fark 3. ekseni kullanıp kullanmadığınızdır. Unity gibi bir motor kullanıyorsanız, modeller yerine bir ortografik kamera projeksiyonu ve sprite kullanarak 2D oyunları kolayca 3D oyunlar yapabilirsiniz.

Bununla birlikte, sizin için 3D ağır kaldırma işlemlerinin çoğunu yapan bir motor kullanmıyorsanız, çok daha zor. Bu sorunun cevabına bakın: Bir oyun için 2D'ye ve 3D'ye karar verirken nelere dikkat etmelisiniz?

Yapmanız gereken hangi oyunu yapmak istediğinize karar vermek ve sanat ve tasarım 2D veya 3D olması gerekip gerekmediğini size söyleyecektir.


4
Bence aşırı basitleştiriyorsun. 2D hella daha kolaydır, çünkü 3. ekseni dışarı atarak düşünmek için çok daha az şey vardır. Çarpışma daha basit hale gelir, kağıt üzerindeki sorunları tartışmak daha kolaydır ve bir 2D oyunun nasıl programlanacağını öğrenmek, 3D oyunun nasıl programlanacağını öğrenmekten daha kolaydır.
bobobobo

3
Bu bir sadeleştirme, ama esas olarak, 1) 2D veya 3D'nin bir oyunda yaptığınız şeylerin (UI akışı, çekirdek mekaniği, ağ vb.) Büyük bir alt kümesi için önemi olmadığı ve 2) Herhangi bir sağlam ara katman (özellikle Birlik) kullanmak, sizin için matematiğin büyük çoğunluğunu sizin için yapacak ve umarım oyun mantığına odaklanmanıza izin verecektir.
Tetrad

Son cümle çivi.
Tim Holt

5

Tetrad'a, sanat ve tasarım hakkında düşünmeniz gerektiğini ve 2D veya 3D olması gerekiyorsa sizi yönlendireceğini kabul ediyorum. Ayrıca, ilk önce bir 2D oyun oluşturmanın iyi bir fikir olabileceğini söyleyeceğim, böylece 3D oyunlarla birlikte gelen daha zor şeyleri düşünmek zorunda kalmayacaksınız. Ayrıca, fark edilmesi gereken bir şey, beynin daha rahat bir deneyim için istediğiniz şey olan 2D oyunlarla daha az bilgi işleyeceğidir.

Geçtiğimiz 3 yıl içinde başarılı indie oyunlarının çoğuna bakarsanız, çoğu 2D idi.

http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/

Böylece bir şirket sadece 2D oyunlar üretmeyi başarabilir. Oyunların başarısı oyun mekaniği, hikaye, estetik ve teknolojiden gelir. Aksi takdirde tetrad olarak bilinir. Konudan çıkıyorum bu yüzden konuţuyorum.


Bu son paragraf için +1, çünkü içeriğin kalitesinin (öykü gibi) bir başarı özelliği olarak önemini vurgular - bazı oyun üreticileri bu diğer faktörleri kaçırır ve sadece 3D yönlere odaklanırlar, ancak orada iyi bir hikayenin ve iyi düşünülmüş bir arka planın oyun alanına getirebileceği derinliğe değer veren birçok taraftar (boyut sayısına bakılmaksızın).
Randolf Richardson

İfadelerinizin çoğuna katılıyorum , ancak ortalama 3d shooter'ınız karşılaştırma ile çok daha az dahil olurken, asla rahat kabul edilemeyecek bazı mükemmel 2D oyunlar vardı .
Edwin Buck

3

Unutmayın, pratik yapmak için 2D sanat varlıkları elde etmeniz daha kolay olacaktır. Bu yüzden 2D oyun geliştirmeyi öğrenmek 3D oyun geliştirmeyi öğrenmek için bir ön koşul olarak düşünmüyorum (her iki şekilde de grafik kodunun üstündeki oyun kodu hemen hemen aynıdır). 3B grafikler için sağlam bir kaynağınız varsa (ör. 3B sanatçı olan bir arkadaşın yanında öğreneceksiniz).

Kod olarak, zorluk ne öğrenmeye çalıştığınıza ve hangi motoru kullanacağınıza (ve özellikle kendi motorunuzu yazacaksanız) bağlıdır. Düşük seviyeli 3D grafik kodu, düşük seviyeli 2D grafik kodundan çok daha karmaşıktır, ancak Unity gibi bir motor kullanacaksanız, düşük seviyeli grafik kodu yazmazsınız. Bu motorda oluşturulan bir 3D oyunun kodu, bir 2D oyunun kodundan daha karmaşık değildir. Gerçekten de, tekrar bahsettiğiniz motora bağlı olarak, daha az karmaşık olabilir.

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.