Video oyunu programlama genellikle fizikle mi ilgili?


11

Bunun bazı oyunlar, mayın tarama gemisi, kart oyunları vb. İçin doğru olmadığını biliyorum. Ama gerçek dünya ortamını simüle eden herhangi bir oyuna ne dersiniz. Açıkçası bu oyunların grafiklere güç veren bir fizik mühendisi vardır.

Benim gibi fizikten hoşlanmayan ancak video oyunlarını seven biri için, fizikten hoşlanmadan böyle bir video oyununun geliştirme döngüsüne katılma şansım var mı?


2
Baktığınız gamedev.stackexchange.com ?
dwynne

3
Oyunları severdim ama matematiği sevmedim ve fizikte mükemmel değildim. Bununla birlikte iyi bir programcıyım ve bilgisayar bilimi derecemdeki matematikle iyi iş çıkardım (3d bilgisayar grafiklerinde bir konu dahil). Neden? Çünkü lisede, matematik / fizik olmadan öğretilir bağlamda . Beynimi, ne için kullanılabileceğini hayal bile edemediğimde, tüm bu şeyleri tutmaya değer olduğuna ikna edemedim . Gerçek dünyada, bu bir problem değildir, çünkü gerçek bir problemi çözmek için matematik / fizik kullanıyorsunuz, bu yüzden çok zor olmayacak (benim gibi iseniz).
MGOwen

1
@MGOwen Burada tamamen seninleyim, aynı şey bana da oldu :)
legends2k

Matematik kolay olmalı (oyun programlama için gerekli olan sadece lise matematiği), bir göz at @ bu gamedev.stackexchange.com/questions/12299/…
legends2k

Yanıtlar:


12

Oyun programlamanın birçok yönü vardır ve bunların hepsinde uzman olmanıza gerek yoktur. Daha büyük bir takımdaysanız, çekirdek oyun programlamasını bile yapmıyorsunuz, örneğin sadece ağ iletişimi yapıyor olabilirsiniz.

Çekirdek oyun programlama için sağlam bir fizik anlayışının üzerinde güçlü bir matematiksel altyapıya ihtiyacınız olacağını düşünürüm. Güçlü bir matematiksel altyapıya sahip olmak, dönüşümleri modelleme, kırpma, anahtar kare animasyonu, ışın izleme, görüntü işleme, doku eşleme vb.

Güçlü bir fizik geçmişine sahip olmak, yeni bilgisayar grafik yöntemlerini bulmanıza yardımcı olabilir, ancak bir oyun programcısı olmak istemezsiniz.


4

Artık bir oyun için bir fizik motoru yazmak çok nadir. Genellikle, bunun yerine ücretsiz ya da ticari bir üçüncü taraf kütüphanesi kullanılır. Aynı şey oyun motorlarının diğer yönleri için de geçerlidir. Oluşturma, ses, AI, animasyon, GUI, ağ oluşturma vb. Günümüzde herkesin bir oyun motorunu sıfırdan yazması nadirdir. Genellikle insanlar onları satın alır. Onları yaparlarsa, zor işleri yapmak için bir grup ara katman yazılımı satın alırlar.

Oyun programlamayı öğrenmeye başlamak için birçok yer var. Eğer sadece "oyun yap" a gitmek istiyorsanız, Birliğe dalmanızı öneririm . Unity, hemen hemen her şeyi yapmak için kullanılabilecek harika, kullanımı çok kolay bir oyun motorudur. Hatta ticari motorların özelliklerinin çoğunu bile sağlar (özellikle gelecek sürüm 3).

Oyun programlamanın temelleri hakkında daha fazla bilgi edinmek istiyorsanız, PyGame veya XNA'ya bakın. Normalde grafik, giriş, ses vb. Yönetiminde bulunan çok sayıda tediumu alırlar. Sizin için fizik yapmazlar (motor değil, sadece API'ler), ancak birçok ücretsiz, kullanımı kolay çözüm var.

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.