Birlik becerileri devredilebilir mi?


16

Şu anda Unity öğreniyorum ve bir video oyunu matematik primer ders kitabı üzerinden çalışıyorum.

Amacım WebGL için bir yarış oyunu yaratmak (Three.js ve belki Physic.js kullanarak).

Unity programının sizi olup bitenlerden ve basit bir video oyunu geliştirmeye bağlı birçok homurdanma çalışmasından koruduğunun farkındayım, ancak bir grup Unity eğiticisine güç veriyorsam, öğrendiğim beceriler diğer çerçevelere / motorlara nasıl çevrilir?

WebGL ile seviye tasarımında oldukça yetkinim ve iyi bir 3D modelim. Zayıf yönlerim kesinlikle yapay zeka ve fizik.

Matematikimi hızlı bir şekilde desteklerken, Fizik inkar edilemeyecek kadar ilginç olsa da, günde sadece çok fazla saat var ve bu tür şeylerle ilgilenecek çok sayıda motor var.

AI bana daha çok hitap ediyor ve çok daha gerekli. AI oyundan oyuna büyük ölçüde değişiyor, geliştirme sırasında ağır bir şekilde tweaked ve fizik çok daha sabit.

Birlikteki yapay zeka kavramları, bu bilgiyi hemen her yere aktarmama izin verecek mi? Yoksa bu becerilerle Unity deresini kürek çekecek miyim?


4
WebGL ile seviye tasarımcısı mısınız?
Ben

3
AI bir algoritma ile tanımlanır ve kodda uygulanır. Bir senaryoda yazdığınız herhangi bir mantık kolayca diğer dillere ve platformlara aktarılabilir. Örnek olarak, A * yol bulma algoritmasının Unity'ye özgü hiçbir özelliği yoktur.
MLM

1
Bir şey varsa, Unity gibi sağlam bir çerçeve kullanmak, tekerleği yeniden icat etme cazibesinden kaçınmanıza ve bunun yerine istediğiniz benzersiz ve eğlenceli bir oyun yaratmaya odaklanmanıza yardımcı olacaktır. Ayrıca, kendinizi bir engelde bulduğunuzda yararlanabileceğiniz zengin bir topluluk uzmanlığına sahip olacağınız anlamına gelir. Her ne kadar ayrıntılar çok farklı olsa da, bir motorda çalışmanın temel fikirleri aktarılabilir - dişlerinizi bir yere kesmek gelecekteki motorları öğrenmeye yardımcı olacaktır. Ve MLM'nin işaret ettiği gibi, kendiniz yazdığınız herhangi bir kodu hemen hemen her yerde uygulamak mümkün olacaktır.
DMGregory

@WebGL Yani bir 3D tarayıcı oyunu için sıfırdan bir seviye oluşturmak, arayüz yok.
Starkers

Yanıtlar:


27

Çok geniş bir şekilde konuşmak gerekirse, iki tür beceri vardır:

  1. "Bu düğmeyi tıklayarak bu şeyi parlak yapabilirim." Bu Birlik-alan bilgisi; Unity'nin nasıl kullanılacağı hakkında öğrendiğiniz bir şeydir ve muhtemelen başka bir sistemin arayüzünü öğrenirken size çok yardımcı olmaz. (Bu diğer sistem bir nesneyi parlak hale getirmenin bir yoluna sahip olsa da, muhtemelen bu görünümü yapılandırmak için tamamen farklı bir sisteme sahip olacaktır - Unity'nin yolunu öğrenmek size otomatik olarak diğer sistemin yolunu öğretmeyecektir)
  2. "Oyuncunun bu nesneyi fark ettiğinden emin olmak istersem, onu parlak yapabilirim." Bu oyun-alanı bilgisi; oyunların nasıl çalıştığı ve oyuncuların oyunlarla nasıl etkileşimde bulundukları hakkında, herhangi bir motorun veya SDK'nın şeyleri nasıl uyguladığından bağımsız olarak öğrendiğiniz bir şeydir.

Algoritmalar öğreniyorsanız veya belirli tekniklerin ne zaman ve neden kullanılması gerektiğini öğreniyorsanız, tüm oyunlarla ilgili yüksek aktarılabilir beceriler geliştirirsiniz. Bir motorun arayüzünü nasıl kullanacağınızı öğreniyorsanız, muhtemelen daha az aktarılabilir beceriler geliştiriyorsunuzdur.


7

Evet. Öğrenme algoritmaları öğrenme algoritmalarıdır. Uygulamalar değişebilir, ancak yine de genel stratejiyi anlayacaksınız.

Bununla birlikte, aynı zamanda yüksek bir soyutlama seviyesinde öğreneceğiniz de doğrudur. Bu, diğer motorlara geçmenin veya motorun bulunmamasının, algoritmanın daha ince ayrıntılarını ve uygulamanın cesur ayrıntılarını öğrenmenizi gerektirebileceği anlamına gelir.

Genel olarak, yeni şeyler öğrenmek her zaman iyi bir stratejidir. Konuyla ilgili genel anlayışınızı geliştirse bile, bu konuyu farklı bir teknoloji üzerinde öğrenmeyi ve uygulamayı çok daha kolay hale getirir.


3

Değişir.

Çalışan tutarlı bir oyun tasarlama yeteneği gibi bazı yönleri taşıyabilecek yönler vardır. Ancak bu, herhangi bir oyun motorunu / SDK'yı kullanmayı öğrenmekten gelir.

Ancak hepsi şunlara bağlıdır:

-Kullanım seviyeniz Senaryo ödünç alıyorsanız ve sadece görsel olan şeyleri biliyorsanız, tek şeyin taşıyacağı muhtemelen bazı araçlara aşinalıktır.

-Yeni yazılıma karşı bir tür arka plan oluşturduğunuz yazılım GameMaker gibi bir şeyden CryEngine, UDK, Unity gibi bir şeye geçmek,

-Çeşitli programlama dillerinde geçmişiniz var Unity, C # ve java'nın kendi piç kurguları olan Unityscript'i kullanıyor

Eğer yeniyseniz, belirttiğiniz gibi, o zaman GameMaker ile temel ile başlardım. Sürükle ve bırak arayüzü ve çok basit bir oyun programlaması hakkında bilgi edinin, ardından GameMaker Dilleriyle kendi komut dosyalarınızı nasıl yazacağınızı öğrenin. Bu arada, birinci taraf motor dilini öğrenmeye başladığınız zaman için inanılmaz derecede yararlı olacak kavramları (java, C, C ++, C #, ... vb) öğrenmeye başlayın.

Yapay zeka gerçekten ilgilendiğiniz şeyse, programlama dillerini ve bunların arkasındaki mantığı öğrenmenin ne kadar önemli olduğunu vurgulayamazsınız . AI'lar zor, gerçekten zor ve onlar için senaryo yazarken çok şey var. Bununla birlikte, iyi AI'ların yazılmasının arkasındaki kavramlar devam etmelidir, ancak her oyun motoru / SDK farklı olduğu için bunu yapmanın kesin yöntemleri değil.

Muhtemelen bunu duymak istemediğini biliyorum ve hiçbir şekilde seni caydırmaya çalışmıyorum. Ama önünüzde uzun bir yol var. Dışarıdan bakıldığında, oyun tasarımını incelemek çok eğlenceli gibi geliyor ve bazen de öyle, ama bilinecek çok şey var ve daha yapılacak çok iş var.

Umarım bu sizi doğru yöne yönlendirir.

Kaynak: Unity, UDK ve GameMaker deneyimi olan Video Oyun Tasarımı / Programlama Öğrencisi. Ayrıca yararlı bir deneyim: C, C ++, Java, OOP Veri Yapıları, Autodesk Maya, ProTools, Reaper, Audition, Photoshop, GIMP ... fikir olsun.

Bilginiz çok sınırlıysa, GameMaker veya Project Spark gibi bir şeyle başlayın. Temelleri anlamanıza gerçekten yardımcı olacaktır.


Umarım görkemli bir pislik gibi karşılaşmadım. Kesinlikle öyle demek istemedim. Her iki durumda da, yolculuğunuzda iyi şanslar!
UberPwnd

Burada soruda tam olarak belirtmedi, ancak profiline bir bakış, kesinlikle GameMaker ile başlaması gerekmediğini açıkça gösteriyor (örn. Gamedev.stackexchange.com/questions/75627/… ) programlama konusunda tamamen yeşil olsa bile, bu tavsiyeye kuşkuyla yaklaşabilirdim, ama gri alanda bile değil.
jhocking

@UberPwnd Hiç de değil! Çok teşekkür ederim
Starkers
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.