Apakah keterampilan Unity dapat ditransfer?

16

Saat ini saya sedang belajar Unity dan bekerja melalui buku teks matematika video game primer.

Tujuan saya adalah membuat game balap untuk WebGL (menggunakan Three.js dan mungkin Physic.js).

Saya sangat menyadari bahwa program Unity melindungi Anda dari banyak hal yang terjadi dan banyak pekerjaan kasar yang melekat pada pengembangan bahkan video game sederhana, tetapi jika saya menjalankan melalui banyak tutorial Unity, akankah banyak keterampilan yang saya pelajari terjemahkan ke kerangka / mesin lain?

Saya cukup mahir di desain tingkat dengan WebGL, dan saya seorang modeller 3D yang baik. Kelemahan saya pasti AI dan Fisika.

Sementara saya dengan cepat menopang matematika saya, dan sementara Fisika tidak dapat disangkal menarik hanya ada berjam-jam dalam sehari dan ada banyak mesin di luar sana untuk mengurus hal semacam ini.

AI memang lebih menarik bagi saya, dan jauh lebih diperlukan. Perubahan AI secara drastis dari satu game ke game lainnya, sangat berubah selama pengembangan, dan fisika jauh lebih konstan.

Akankah bersandar konsep AI di Unity memungkinkan saya untuk mentransfer pengetahuan ini cukup banyak di mana saja? Atau apakah saya hanya akan mengayuh anak sungai dengan keterampilan ini?

Starkers
sumber
4
Desainer level dengan WebGL?
Ben
3
AI didefinisikan oleh suatu algoritma dan diimplementasikan dalam kode. Logika apa pun yang Anda tulis dalam skrip dapat dengan mudah ditransfer ke bahasa dan platform lain. Sebagai contoh, algoritma pathfinding A * tidak memiliki Unity spesifik tentang hal itu.
MLM
1
Jika ada, menggunakan kerangka kerja yang kuat seperti Unity akan membantu Anda menghindari godaan untuk menemukan kembali roda, dan fokus untuk menciptakan gameplay unik & menyenangkan yang Anda inginkan. Ini juga berarti Anda akan memiliki banyak keahlian komunitas untuk menarik ketika Anda menemukan diri Anda dalam kesulitan. Meskipun rinciannya sangat bervariasi, ide-ide dasar untuk bekerja di mesin dapat ditransfer - memotong gigi Anda akan membantu mempelajari mesin apa pun di masa depan. Dan seperti yang ditunjukkan oleh MLM, kode apa pun yang Anda tulis sendiri akan dapat diterapkan di mana saja.
DMGregory
@ WebGL Maksud saya membuat level dari awal untuk game browser 3D, tanpa antarmuka.
Starkers

Jawaban:

27

Berbicara sangat luas, ada dua jenis keterampilan:

  1. "Aku bisa membuat benda ini mengkilap dengan mengklik tombol itu." Ini adalah pengetahuan Unity-domain; itu adalah sesuatu yang telah Anda pelajari tentang cara menggunakan Unity, dan mungkin tidak akan banyak membantu Anda ketika mempelajari antarmuka sistem lain. (Walaupun sistem lain itu mungkin memiliki beberapa cara untuk membuat objek mengkilap, mungkin ia akan memiliki sistem yang sama sekali berbeda untuk mengonfigurasi penampilan itu - mempelajari cara Unity tidak akan secara otomatis mengajari Anda cara sistem lainnya)
  2. "Jika saya ingin memastikan bahwa pemain memperhatikan objek ini, saya bisa membuatnya mengkilap." Ini adalah pengetahuan game-domain; itu adalah sesuatu yang telah Anda pelajari tentang cara kerja game, dan bagaimana pemain berinteraksi dengan game, terlepas dari bagaimana mesin atau SDK tertentu mengimplementasikan sesuatu.

Jika Anda mempelajari algoritme, atau jika Anda belajar kapan dan mengapa teknik tertentu harus digunakan, maka Anda sedang membangun keterampilan yang dapat ditransfer yang relevan dengan semua gim. Jika Anda hanya belajar bagaimana memanipulasi antarmuka mesin, maka Anda mungkin sedang membangun keterampilan yang kurang dapat ditransfer.

Trevor Powell
sumber
7

Iya. Algoritma pembelajaran adalah algoritma pembelajaran. Implementasi dapat berubah, tetapi Anda masih akan memahami strategi secara keseluruhan.

Namun, itu juga benar bahwa Anda akan belajar pada tingkat abstraksi yang tinggi. Itu berarti bahwa berpindah ke mesin lain, atau tanpa mesin, mungkin mengharuskan Anda untuk mempelajari detail algoritma yang lebih baik dan detail implementasi yang berat.

Secara keseluruhan, selalu merupakan strategi yang baik untuk mempelajari hal-hal baru. Bahkan jika jika hanya meningkatkan pemahaman umum Anda tentang topik tersebut, itu membuat belajar dan menerapkannya lagi pada teknologi yang berbeda yang jauh lebih mudah.

MichaelHouse
sumber
3

Tergantung.

Ada beberapa aspek yang bisa terbawa, seperti kemampuan mendesain game yang koheren. Tapi itu berasal dari belajar menggunakan mesin permainan / SDK.

Tapi itu semua tergantung pada:

-Tingkat penggunaan Anda Jika Anda meminjam skrip dan hanya mengetahui sebagian besar hal-hal yang bersifat visual, kemungkinan satu-satunya hal yang akan terbawa adalah keakraban dengan beberapa alat.

-Perangkat lunak yang telah Anda bangun semacam latar belakang vs perangkat lunak baru Mulai dari sesuatu seperti GameMaker ke sesuatu seperti CryEngine, UDK, Unity tidak benar-benar berjalan dengan baik kecuali:

-Anda memiliki latar belakang dalam berbagai bahasa pemrograman Unity menggunakan Unityscript yang merupakan bastardisasi C # dan java mereka sendiri

Jika Anda baru, seperti yang Anda tunjukkan, maka saya akan mulai dengan dasar dengan GameMaker. Kenali antarmuka seret dan lepas dan pemrograman gameplay yang sangat mendasar, lalu pelajari cara menulis skrip Anda sendiri dengan Bahasa GameMaker mereka. Sementara itu, mulailah belajar bahasa pemrograman (java, C, C ++, C #, ... dll), konsep-konsep yang akan sangat berguna ketika Anda mulai belajar bahasa mesin pihak pertama.

Jika AI adalah apa yang benar-benar Anda minati, maka tidak dapat cukup menekankan betapa pentingnya mempelajari bahasa pemrograman, dan logika di baliknya. AI itu tangguh, sangat tangguh, dan ada banyak yang terlibat dalam penulisan skrip untuk mereka. Yang sedang berkata, konsep-konsep di balik penulisan AI yang baik harus melanjutkan, tetapi tidak harus metode yang tepat untuk melakukannya, karena setiap mesin permainan / SDK berbeda.

Saya tahu Anda mungkin tidak ingin mendengar ini, dan saya sama sekali tidak mencoba untuk membuat Anda kecil hati. Tetapi Anda memiliki jalan panjang di depan Anda. Di luar melihat ke dalam, mempelajari desain game terdengar seperti itu akan sangat menyenangkan, dan kadang-kadang begitu, tetapi ada banyak yang harus diketahui, dan bahkan lebih banyak pekerjaan yang harus dilakukan.

Saya harap ini membantu mengarahkan Anda ke arah yang benar.

Sumber: Desain / Pemrograman Video Game Siswa dengan pengalaman di Unity, UDK, dan GameMaker. Juga pengalaman yang berguna: C, C ++, Java, Struktur Data OOP, Autodesk Maya, ProTools, Reaper, Audition, Photoshop, GIMP ... Anda mendapatkan ide.

Jika pengetahuan Anda sangat terbatas, mulailah dengan sesuatu seperti GameMaker atau Project Spark. Ini akan sangat membantu Anda memahami dasar-dasar.

UberPwnd
sumber
Saya harap saya tidak menemukan seperti brengsek sombong. Saya jelas tidak bermaksud seperti itu. Either way, semoga sukses dalam perjalanan Anda!
UberPwnd
Dia tidak benar-benar menunjukkannya dalam pertanyaan di sini, tetapi melihat profilnya membuatnya cukup jelas bahwa dia jelas tidak perlu memulai dengan GameMaker (mis. Gamedev.stackexchange.com/questions/75627/… ) Maksudku, bahkan jika dia benar-benar hijau dengan pemrograman saya akan skeptis dengan saran itu, tetapi dia bahkan tidak di daerah abu-abu.
jhocking
@UberPwnd Tidak sama sekali! Terima kasih banyak
Starkers