Programmer sebagai team development

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


Post a Comment

0 Comments