Mengapa studio game membutuhkan programmer grafis jika mereka menggunakan mesin game?


55

Di bagian kredit game yang saya mainkan, ada nama-nama programmer grafis . Jika mereka menggunakan mesin game, mengapa mereka membutuhkan programmer grafis ? Bukankah mesin game melakukan tugasnya?


15
Jika Anda ingin gim Anda persis sama dengan orang lain, gunakan saja mesin. Jika Anda menginginkannya dengan cara apa pun yang berbeda Anda menggunakan mesin sebagai titik awal kemudian memodifikasinya. Saya menggunakan mesin gim (mesin jmonkey) tetapi saya juga menulis shader untuk menimpa beberapa perilaku default untuk hal-hal yang sangat saya pedulikan)
Richard Tingle

29
Ini seperti bertanya mengapa Anda membutuhkan insinyur sipil jika pekerja konstruksi akan membangun jembatan. Jembatan itu lebih dari sekadar menampar beton dan logam. Ada banyak analisis fisika dan material terperinci yang tidak akan diketahui oleh pekerja konstruksi. Untuk jembatan dengan kompleksitas dan / atau beban serius apa pun, mencoba membangun tanpa pengetahuan itu kemungkinan tidak akan berhasil. Dengan cara yang sama, pengetahuan pengembang perangkat lunak tentang bagaimana komputasi dan kerja mesin akan sangat berharga dalam membangun game. (Dalam kasus yang ekstrim, Anda akan membutuhkan pengetahuan perangkat keras tingkat rendah.)
jpmc26

2
@RichardTingle Secara teknis menulis shader sebenarnya tidak memodifikasi mesin, itu menyediakan konten baru untuk mesin.
Pharap

11
Terkait: Mengapa perusahaan membutuhkan ahli matematika dan insinyur jika mereka memiliki kalkulator dan komputer?
xDaizu

1
cukup, menulis shader bukan menjadi insinyur grafis. @ShuvoSarker - "Atau setiap mesin game memiliki caranya sendiri untuk melakukannya" tentu saja, "rekayasa tingkat rendah" untuk game dapat mencakup sejumlah keterampilan. (judul "programmer grafis" tidak berarti apa-apa. bisa saja * seseorang yang melakukan 'hal-hal terkait grafis' di Unity "atau itu bisa berarti pada dasarnya ketika Anda berpikir" barang rumit tingkat rendah 'di luar mesin' ").
Fattie

Jawaban:


94

Bahkan dengan mesin, mendapatkan sesuatu untuk ditampilkan di layar seperti yang Anda inginkan tidak selalu sepele. Akan ada banyak contoh di mana seseorang dengan pengetahuan pemrograman diperlukan untuk membuat tampilan grafik dengan benar. Orang-orang ini dapat disebut pemrogram grafik dalam kredit (pemrogram grafis bukan judul bersertifikat atau dilindungi, dan perbedaan antara judul berbeda dapat sangat bervariasi menurut perusahaan).

Mari kita berikan contoh nyata. Kami membutuhkan lingkaran putar animasi, sebagai berikut:

masukkan deskripsi gambar di sini

Beberapa opsi kami adalah:

1 Letakkan lingkaran di papan iklan, tulis skrip untuk memutar papan iklan.

2 Gunakan gif animasi sebagai sumber.

3 Lakukan semuanya dalam shader, yang memungkinkan 2 opsi berbeda:

  • Putar papan iklan di shader vertex
  • Gambarlah lingkaran yang diputar di shader fragmen.

Pada 1. seseorang perlu menulis skrip itu, yang merupakan semacam tugas pemrograman yang berkaitan dengan grafik. Untuk 2. kita tidak perlu programmer, kecuali mesin - seperti kebanyakan - tidak mendukung impor gif animasi, dalam hal ini seseorang perlu memprogram bagian itu. Di 3. seseorang harus memprogram shader, yang bisa menjadi artis atau programmer.

EDIT untuk mengatasi downvotes:

Downvotes tampaknya karena efeknya terlalu sederhana dan karenanya tidak akan diterapkan oleh seorang programmer grafis "nyata". Saya tidak benar-benar tahu siapa lagi yang akan diterapkan jika ada programmer grafis khusus di tim, dan saya kadang-kadang menerapkan efek rotasi seperti itu di shader - walaupun biasanya rotasi hanyalah bagian dari keseluruhan yang lebih besar, seperti pada contoh ini .


Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Josh

65

Mesin game seperti dapur, dan pengembang (yaitu programmer) seperti koki.

Mesin permainan menawarkan kemungkinan, sementara programmer mengeksploitasi kemungkinan ini untuk kebutuhan permainan.

Dengan demikian, perusahaan game membutuhkan pemrogram grafis untuk menyesuaikan kemungkinan grafis engine dengan kebutuhan game.

Jika mesin permainan mengatur segalanya, tanpa mengutak-atik, semua game yang dihasilkan oleh mesin itu akan terlihat seperti keluar dari cetakan yang sama: para seniman dapat menghasilkan model 3D dan seni 2D yang berbeda yang disesuaikan dengan visi para desainer, tetapi kustomisasi dalam gim untuk grafis ini akan terbatas pada apa yang ditawarkan mesin di luar kotak.


Perhatikan bahwa sementara mereka membiarkan Anda mengubah seni yang digunakan, beberapa mesin gim tidak menawarkan kemungkinan untuk menyesuaikan aspek grafis lainnya dengan kebutuhan gim. Saya pikir RPG Maker seperti itu: itu memungkinkan Anda mengubah seni tetapi Anda terbatas dalam hal bagaimana Anda bisa mengubah permainan Anda untuk memberikan sentuhan yang sangat khas. Ini mungkin telah berubah dalam beberapa tahun terakhir karena saya belum menyentuh perangkat lunak itu untuk sementara waktu.


Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Josh

20

Arti spesifik dari sebagian besar judul di industri game sangat bervariasi dari studio ke studio, jadi ingatlah itu. Apa yang dimaksud dengan "pemrograman grafis" di satu studio mungkin benar-benar berarti hanya membuat shader atau bahan tweak, di mana di studio lain mungkin berarti melakukan pekerjaan optimasi tingkat yang relatif rendah di dekat API grafik yang mendasarinya, dan lain-lain.

Yang mengatakan, di studio yang lebih besar itu relatif jarang untuk mengambil middleware mesin dan menggunakannya tanpa membuat modifikasi apa pun. Sebagian besar waktu, aspek-aspek spesifik dari mesin perlu diubah karena tidak cukup memenuhi persyaratan, atau karena ada bug dalam versi itu dan perusahaan belum dapat memutakhirkan ke versi yang lebih baru yang dapat memperbaiki bug, dan sebagainya.

Grafik adalah salah satu area di mana orang cenderung melakukan sedikit tweaking. Ini mungkin tidak melibatkan penulisan ulang penggunaan Direct3D atau yang serupa di dalam mesin, tetapi masih bisa melibatkan pekerjaan menyesuaikan atau mengoptimalkan shader, meningkatkan manajemen sumber daya grafis untuk akun yang lebih baik untuk profil penggunaan permainan tertentu, menambahkan fitur atau opsi render baru, merampingkan pipa aset grafis agar lebih sesuai dengan alur kerja studio, dan sebagainya.

Selain itu, ada banyak kasus di mana sebuah studio ingin mengambil integrasi middleware terkait grafis tambahan. Ada paket middleware seperti Granit, Enlighten, dan TrueSky yang menawarkan berbagai fitur yang berhubungan dengan grafis (streaming tekstur, pencahayaan global, simulasi dan rendering langit, dan lain-lain). Semua paket middleware ini terintegrasi dengan Unreal, tetapi pekerjaan diperlukan untuk mengintegrasikannya. Beberapa dari mereka mungkin bertentangan satu sama lain atau perlu beberapa penyesuaian untuk bekerja sama dengan baik, karena semuanya dikembangkan oleh perusahaan yang berbeda. Pemrogram grafik kemungkinan akan terlibat dalam pekerjaan semacam itu juga.


7

Anda dapat mengirim game tanpa programmer grafis dengan mudah sekarang-a-hari karena semua mesin. Apa yang biasanya Anda butuhkan seorang programmer grafis adalah hal-hal seperti

  1. optimasi

    Seorang programmer grafis akan tahu dan / atau belajar bagaimana mesin tertentu bekerja dan dapat mengarahkan para seniman atau memodifikasi bahan-bahan atau menggabungkan model-model atau menggunakan teknik-teknik lain dll untuk mendapatkan kinerja yang lebih baik dari mesin.

  2. pemahaman dan instruksi

    Seorang seniman ingin mencapai efek tertentu. Programmer grafis yang memahami cara kerja mesin dapat menjelaskan cara mencapai efek itu.

  3. kustomisasi dan efek

    Efek tertentu mungkin memerlukan pemrograman. Sebagian besar rendering Bound adalah kebiasaan.

Ini tidak berbeda dengan film. Dengan 100-programmer, anggaran besar dan tulisan buruk Anda mungkin mendapatkan Star Wars: The Phantom Menace. Tanpa programmer dan tulisan yang bagus, Anda mungkin mendapatkan Primer. Pemrogram (atau orang teknis lainnya) dapat mengizinkan hal-hal baru. Programmer membawa lumpur CG ke Shrek, rambut CG ke Monsters Inc, Bullet Time to The Matrix, dll. Tapi, film bertingkat bukan tentang efeknya dan sangat mungkin untuk membuat film yang luar biasa tanpa efek atau teknologi kustom baru.

Hal yang sama kurang lebih berlaku untuk game sekarang. Pemrogram grafis mungkin mengizinkan cairan dalam Pixel Junk Shooter atau semua geometri dinamis dari Bound tetapi banyak game dapat dibuat dengan teknologi engine standar dan tanpa pemrogram grafik.


Apakah itu membuat pekerjaan mereka sepele?
Shuvo Sarker

2
Setelah membuat game selama lebih dari 30 tahun sekarang saya bisa melihat ada banyak pekerjaan trival dalam pengembangan game. Tapi, saya tidak akan mengatakan pekerjaan programmer grafis adalah trival. Bahkan jika Anda benar-benar membutuhkannya, kemungkinan besar itu bukan trival.
gman

1
@immibis Kedengarannya seperti menyeimbangkan permainan Anda adalah sepele, yang saya tidak setuju, karena harus dilakukan, kalau tidak bisa merusak permainan. Sepele artinya tidak terlalu penting.
Grumpy berkata Reinstate Monica

2
@ GrumpyCrouton tugas sepele tidak ada hubungannya dengan pentingnya. tugas sepele berarti hampir terlalu sederhana untuk disebut tugas. juga, desain keseimbangan itu sulit, menerapkan beberapa di antaranya sebenarnya sepele.
Brian H.

1
@ GrumpyCrouton kuncinya adalah dalam nilai kecil seperti yang Anda sebutkan, kita tidak berbicara tentang apa tugas yang dicapai, kita berbicara tentang tugas itu sendiri, yang memiliki sedikit atau tidak ada nilainya. Anda benar-benar mengubah nilai konstanta dan Anda selesai.
Brian H.

4

Banyak kali, mesin permainan tidak akan memenuhi 100% dari persyaratan dan spesifikasi proyek permainan. Ini terutama berlaku untuk judul triple-A yang selalu mendorong batas-batas teknologi game. Jika beberapa bagian grafis dari mesin permainan tidak sesuai dengan apa yang ingin dicapai oleh para seniman dan desainer, mereka mungkin menyewa seorang programmer / spesialis grafis yang dapat membantu mereka mengetahui apakah harapan mereka layak, dan jika ya, bagaimana mencapainya. Ini mungkin melibatkan penyesuaian aset shader / seni, atau pengerjaan ulang bagian rendering, atau bahkan menggunakan middleware. Atau kombinasi keduanya.


3

Sebagian besar teknik standar akan diimplementasikan dalam mesin komersial yang layak, seperti FXAA, pencahayaan, cel shading, pemetaan normal dll, tetapi tidak semua.

Dalam kasus di mana perancang gim telah menetapkan bahwa efek tertentu harus terjadi, Anda bisa membuatnya dari apa yang sudah ada, atau Anda membuat kode shader baru, atau memodifikasi mesin grafis untuk memungkinkannya. Dalam kedua skenario, seorang programmer grafis diperlukan.


-8

Tentukan mesin, lalu tentukan mesin grafis. Jika Anda menggunakan mesin yang ada untuk membuat game maka itu tidak sama dengan menulis game dari awal dalam kode. Jika melalui kode satu dapat menentukan apa itu grafis atau mesin, tidak masalah apa yang Anda sebut jika kode Anda kuat. Membuat game di engine tersebut, batasnya dan atau poin kuatnya semata-mata didasarkan pada kemampuan programmer. Menggunakan sesuatu seperti Unity atau bahkan Unreal atau mesin pro lainnya tidak mendefinisikan kemampuan Anda, mesin game hanyalah abstraksi yang mengkode katakanlah murni C ++ tidak. Misalnya Anda dapat merekrut seniman neraka bahkan seniman tetapi Anda akan terbatas pada visi atau batas mesin. Jadi lebih baik kode dari awal lalu menggunakan sesuatu yang sudah ada. Masalahnya adalah Anda menang ' t menemukan jawaban online seperti Stackexchange Saya ragu banyak orang bahkan repot-repot untuk kode permainan apalagi menyelesaikan proyek 2d. Saya hanya menunda-nunda sedikit, artinya tidak banyak jawaban yang melayani diri sendiri mengejanya. Cara terbaik adalah belajar dan berlatih!


Ini sepenuhnya mengabaikan pertanyaan, itulah sebabnya orang membutuhkan programmer grafis untuk proyek-proyek di mesin seperti pembuat game.
The Great Duck
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.