Programmer
sebagai team development
Programmer Game adalah
insinyur perangkat lunak yang terutama mengembangkan permainan video atau
perangkat lunak terkait (seperti alat pengembangan game). Pengembangan basis
kode permainan ditangani oleh programer. Biasanya ada satu sampai beberapa
pemrogram utama, yang menerapkan basis kode awal permainan dan pengembangan
masa depan dan alokasi pemrogram di modul individual.
Spesialisasi
Video game kontemporer mungkin
mencakup fisika tingkat lanjut, kecerdasan buatan, grafis 3D, suara digital,
skor musikal orisinil, strategi kompleks dan mungkin menggunakan beberapa
perangkat input (seperti mouse, keyboard, gamepads dan joysticks) dan dapat
dimainkan melawan orang lain melalui Internet atau melalui LAN. Setiap aspek
permainan dapat menghabiskan semua waktu pemrogram dan, dalam banyak kasus,
beberapa pemrogram. Beberapa programmer mungkin mengkhususkan diri pada satu
area pemrograman game, namun banyak yang mengenal beberapa aspek. Jumlah
pemrogram yang dibutuhkan untuk setiap fitur bergantung pada keahlian
programmer, namun sebagian besar didikte oleh jenis permainan yang sedang
dikembangkan.
- Physic - pemrograman mesin permainan, termasuk simulasi fisika, tabrakan, pergerakan benda, dll;
- AI - Agen komputer berenergi AI menggunakan teknik AI game, seperti scripting, planning, rule-based decision, dll.
- Grafik - pengelolaan pemanfaatan konten grafis dan pertimbangan memori; produksi mesin grafis, integrasi model, tekstur untuk bekerja bersama mesin fisika.
- Suara - integrasi musik, ucapan, suara efek ke lokasi dan waktu yang tepat.
- Gameplay - implementasi berbagai peraturan permainan dan fitur (kadang disebut generalis);
- Scripting - pengembangan dan pemeliharaan sistem komando tingkat tinggi untuk berbagai tugas dalam game, seperti AI, level editor trigger, dll.
- UI - produksi elemen antarmuka pengguna, seperti menu pilihan, HUD, bantuan dan sistem umpan balik, dll.
- Pengolahan input - pengolahan dan kompatibilitas korelasi berbagai perangkat input, seperti keyboard, mouse, gamepad, dll.
- Komunikasi jaringan - pengelolaan input data dan keluaran untuk gameplay lokal dan internet.
- Game Tools - produksi alat untuk menemani pengembangan game, terutama bagi desainer dan scripter.
Bahasa Pemrograman dan aplikasi yang digunakan
Sebagian besar komputer
komersial dan permainan video ditulis terutama di C ++, C, dan beberapa bahasa
assembly. Banyak permainan, terutama yang memiliki mekanika gameplay kompleks
yang kompleks, perangkat keras pajak sampai batasnya. Dengan demikian, kode yang
sangat optimal diperlukan agar game ini berjalan pada frame rate yang dapat
diterima. Karena itu, kode yang dikompilasi biasanya digunakan untuk komponen
kinerja penting, seperti rendering visual dan perhitungan fisika. Hampir semua
game PC juga menggunakan DirectX, OpenGL APIs atau beberapa wrapper library
untuk berinteraksi dengan perangkat keras.
Berbagai bahasa script,
seperti Ruby, Lua dan Python, juga digunakan untuk generasi konten seperti
gameplay dan terutama AI. Skrip umumnya diurai pada waktu muat (saat permainan
atau level dimuat ke memori utama) dan kemudian dieksekusi saat runtime
(melalui cabang logika atau mekanisme lainnya). Mereka umumnya tidak dieksekusi
oleh seorang penerjemah, yang akan menghasilkan eksekusi yang jauh lebih
lambat. Skrip cenderung digunakan secara selektif, sering untuk AI dan logika
permainan tingkat tinggi. Beberapa permainan dirancang dengan ketergantungan
tinggi pada skrip dan beberapa skrip dikompilasi ke format biner sebelum
eksekusi game. Dalam tahap optimasi pengembangan, beberapa fungsi skrip sering
akan ditulis ulang dalam bahasa yang dikompilasi.
Java digunakan untuk banyak
game berbasis web browser karena bersifat cross-platform, biasanya tidak
memerlukan instalasi oleh pengguna, dan menimbulkan risiko keamanan yang lebih
sedikit, dibandingkan dengan program eksekusi yang dapat didownload. Java juga
merupakan bahasa yang populer untuk game berbasis ponsel. Adobe Flash, yang
menggunakan bahasa ActionScript, dan JavaScript adalah alat pengembangan yang
populer untuk game berbasis browser.
Seiring permainan tumbuh dalam
ukuran dan kompleksitas, middleware menjadi semakin populer di industri ini.
Middleware menyediakan fungsionalitas tingkat lebih tinggi dan lebih tinggi dan
rangkaian fitur yang lebih besar daripada API tingkat standar yang lebih rendah
seperti DirectX dan OpenGL, seperti animasi skelet. Selain menyediakan
teknologi yang lebih kompleks, beberapa middleware juga membuat usaha yang
masuk akal untuk menjadi platform independen, membuat konversi umum dari,
misalnya, Microsoft Windows ke PS4 menjadi lebih mudah. Intinya, middleware
ditujukan untuk mengurangi sebanyak mungkin redundansi dalam siklus
pengembangan (misalnya, menulis sistem animasi baru untuk setiap permainan yang
dihasilkan sebuah studio), yang memungkinkan pemrogram untuk fokus pada konten
baru.
Alat lainnya juga penting bagi
pengembang game: Paket 2D dan 3D (misalnya Blender, GIMP, Photoshop, Maya atau
3D Studio Max) memungkinkan pemrogram untuk melihat dan memodifikasi aset yang
dihasilkan oleh seniman atau personil produksi lainnya. Sistem kontrol sumber
menjaga kode sumber tetap aman, aman dan mengoptimalkan penggabungan. IDE
dengan debugger (seperti Visual Studio) membuat kode tulis dan melacak bug
menjadi pengalaman yang kurang menyakitkan.
Sumber:
https://en.wikipedia.org/wiki/Video_game_programmer
https://en.wikipedia.org/wiki/Video_game_development
0 Comments