permainan buatan sendiri. Membuat mesin game 3D berdasarkan GLScene

Langganan
Bergabunglah dengan komunitas “koon.ru”!
Berhubungan dengan:

Ini adalah artikel kelima dari serangkaian materi untuk calon pengembang game: Mesin permainan - tulis sendiri atau ambil yang sudah jadi?

Salah satu kesalahan paling umum yang dilakukan pengembang pemula adalah keinginan untuk menulis mesin permainan mereka sendiri dengan segala cara dan membuat game di dalamnya. Tak jarang mereka mencoba menjalankan kedua hal tersebut secara paralel, dan pada akhirnya tentu saja berhasil menggagalkan keduanya.

Mengapa Anda tidak harus menulis mesin permainan Anda sendiri

Pertama-tama, Anda perlu menjawab sendiri satu pertanyaan sederhana - apa sebenarnya yang ingin Anda lakukan, permainan atau mesin? Jika itu sebuah mesin, lupakan permainannya dan fokuslah padanya saja. Jika itu sebuah game, ambillah mesin atau desainer yang sudah jadi dan buatlah game tersebut tanpa terganggu oleh pengembangan bagian perangkat lunaknya.

Dibutuhkan pembuatan mesin game yang lengkap pengetahuan khusus, pemahaman tentang cara kerja game, banyak waktu luang, dan keinginan untuk menulis kode sumber. Dan percayalah, ini sama sekali bukan aktivitas yang menyenangkan. Bahkan solusi siap pakai gratis yang tersedia untuk digunakan memerlukan ribuan jam kerja pemrograman, belum lagi mesin komersial, yang selain waktu, juga banyak investasi keuangan. Menciptakan roda ketika setiap orang mengendarai mobil adalah tugas tanpa pamrih dan sama sekali tidak perlu.

Di samping itu bebas sistem pengembangan game, banyak mesin game komersial, yang sepenuhnya siap untuk segera digunakan dalam proyek game, menawarkan beberapa skema perizinan yang sangat menarik: sepenuhnya gratis ( Persatuan 3D dalam edisi Indie sebelumnya), skema campuran dengan pembayaran Royalti ( Kit Pengembangan Tidak Nyata) - Biaya lisensi $99 dan pembayaran 25% keuntungan setelah $5.000 pertama diperoleh, atau biaya terjangkau dari lisensi komersial penuh (Unity Pro seharga $1.500).

Selain itu, tidak ada yang bisa melarang penggunaan mesin apa pun edisi gratis sampai tahap kesiapan permainan tertentu, sehingga nantinya, dengan hasil nyata dan, yang paling penting, hasil visual dari upaya seseorang, seseorang dapat mulai mencari pihak ketiga. pendanaan untuk mentransfer proyek ke izin komersial.

Untuk 95% proyek game dari genre dan fokus apa pun, dimungkinkan untuk menemukan solusi siap pakai yang memenuhi kebutuhan mereka. Saat-saat ketika mesin game menjadi keingintahuan bagi pasar dan biaya pengembangan game dalam negeri uang besar, lulus - dan bersama mereka argumen yang mendukung penulisan mesin permainan Anda sendiri berakhir.

Selain itu, keinginan untuk menulis semuanya sendiri, ditambah dengan ilusi bahwa solusi seperti itu akan menjadi produk yang lebih baik daripada analog yang ada, dapat memainkan lelucon yang sangat kejam pada pengembang pemula, ketika sumber daya yang sudah sangat terbatas diinvestasikan dalam tugas yang sama sekali tidak perlu (pribadi pengalaman), yang pada akhirnya menyebabkan kematian dini proyek tersebut.

Mari kita simpulkan: menulis mesin permainan mereka sendiri dapat dilakukan oleh mereka yang memahami dengan jelas apa sebenarnya yang mereka butuhkan dan mengapa, melihat keuntungan yang memadai dari pendekatan ini dan mampu mengimplementasikan rencana mereka dalam jangka waktu yang wajar. Semua orang harus mencari solusi yang sudah jadi, untungnya cukup banyak solusi yang muncul baru-baru ini - setidaknya ambil Unity 3D dan UDK yang sama.

Apakah Anda ingin membuat game 3D Anda sendiri dengan dunia terbuka dan alur cerita yang menarik? Di abad ini teknologi digital semuanya mungkin! Mesin permainan khusus akan memungkinkan Anda mewujudkan fantasi apa pun, bahkan tanpa pengetahuan pemrograman.

Terimakasih untuk teknologi modern, saat ini hampir semua orang dapat membuat game 3D mereka sendiri. Yang Anda perlukan untuk bekerja hanyalah komputer, program khusus, dan ketekunan. Cobalah diri Anda sebagai pencipta dunia maya. Asah keterampilan Anda dalam membuat game 3D, dan mungkin dalam beberapa tahun perusahaan Anda akan menyenangkan kami dengan hiburan digital yang luar biasa.

Bangkitkan keinginan Anda akan seni, dan kami akan membantu Anda memilih alat yang berguna untuk kreativitas.

Di mesin apa saya harus membuat game 3D?

Berkat semakin populernya permainan komputer, semakin banyak program untuk membuatnya yang bermunculan. Dengan begitu beragamnya penawaran, mudah untuk menjadi bingung dan salah memilih alat. Untuk memastikan bahwa pekerjaan Anda pada awalnya berjalan pada jalur yang benar, kami akan membantu Anda memilih mesin yang ideal untuk membuat game 3D.

Untuk tamu kami, kami telah mengumpulkan program terbaik Dalam satu tempat. Di sini Anda dapat mempelajari properti mesin secara detail, menonton tangkapan layar, dan tutorial video. Baca ulasan, bandingkan peringkat, dan unduh mesin 3D yang sesuai melalui torrent atau layanan berbagi file (MEGA atau Yandex.Disk).

Sebelumnya, kami telah menyentuh topik mesin permainan gratis - . Benar, judul artikelnya diberikan lebih sederhana agar bisa menarik lebih banyak orang yang ingin membuat game 2D/3D sendiri.

Dalam ulasan ini, saya memutuskan untuk melihat mesin game CryENGINE 3 yang lebih serius, Unreal Engine. Mari kita lihat juga versi baru Unity3D.

CryENGINE 3 SDK Gratis

CryENGINE 3 adalah mesin permainan gratis yang dibuat oleh Crytek, yang merilis versi pertama mesin tersebut pada tahun 2002. Versi ketiga lahir pada tahun 2009. Popularitas mesin ini di seluruh dunia dibenarkan oleh kinerja grafis produk yang menakjubkan, beberapa di antaranya terlihat sangat fotorealistik.


Kemungkinan:

  • Saya menganggap game siap pakai sebagai demonstrasi kemampuan terbaik, dan di sini CryENGINE 3 memiliki sesuatu untuk dibanggakan. Selama bertahun-tahun, mesin ini telah digunakan oleh para pengembang game seperti Far Cry, Crysis dan AION. Tentu saja, daftar game yang dibuat jauh lebih banyak, tetapi saya telah membuat daftar game yang paling terkenal.
  • CryEngine 3 adalah mesin lintas platform dan mendukung PC, PlayStation ® 3 dan Xbox 360 ™.
  • Anda dapat mengimpor tekstur dari 3ds max, maya, dan juga dari versi mesin sebelumnya.
  • Saya akan mengutip kata-kata pendiri perusahaan, Tsevat Yerli: “Mesinnya sudah siap untuk generasi berikutnya 3 tahun lalu. Kami telah lama memiliki sistem partikel canggih, rendering GPU, Deferred shading, tessellation, dukungan DX11, dan sebagainya” - Memang benar, contoh nyata game yang dibuat berbicara banyak.

Contoh permainan: Website resmi menyajikan game terpopuler di CryENGINE http://mycryengine.com/index.php?conid=68

Di mana memulainya?

SDK diunduh sebagai arsip, tanpa penginstal. Arsip tersebut berisi beberapa folder yang masing-masing memiliki tujuannya masing-masing. Misalnya, untuk meluncurkan editor, gunakan folder bin32 atau bin64 (tergantung bitness sistem Anda). berkas penyunting editor.exe, tetapi untuk melihat hasilnya - peluncur.ex e.

Sebenarnya, ini adalah penjelasan kecil; banyak video tutorial akan memberi tahu Anda segala hal tentang apa yang akan Anda unduh. Untungnya, mesin ini ternyata sangat populer dan terdapat komunitas berbahasa Rusia (tautan di bawah), di sini Anda akan menemukan materi pelatihan dan dapat mengajukan pertanyaan. Hal ini tidak diragukan lagi menguntungkan mesin untuk pengembang berbahasa Rusia, karena proses pengembangan game tidak sesederhana itu, dan tidak dapat dilakukan tanpa membaca dokumentasi teknis.

Keterbatasan versi gratis adalah Anda tidak akan bisa mendapatkan lisensi dan mendistribusikan (menjual) game yang Anda kembangkan.

Bahasa antarmuka: Bahasa inggris

Kit Pengembangan Tidak Nyata (UDK)

Unreal - ini adalah kata yang diputuskan oleh pengembang Unreal Engine untuk digunakan tidak hanya pada nama mesinnya, tetapi juga pada nama beberapa game - "Unreal", Unreal Tournament, Unreal Championship. Di antara produk yang dirilis juga ada Efek massal, XCOM, Borderlands 2 dan lebih dari seratus permainan yang tidak biasa yang telah mendapat pengakuan dunia.


Kemungkinan:

  • Unreal Engine adalah mesin lintas platform dan mendukung komputer yang kompatibel dengan IBM PC, Xbox 360, PlayStation 3, Wii, Android. Lebih tepatnya, Anda dapat mengembangkan game di Windows, dan menjalankan produk yang dihasilkan di konsol game yang dijelaskan di atas dan, tentu saja, di Windows itu sendiri.
  • Awalnya, mesin ini cocok untuk membuat penembak, tetapi juga cocok untuk genre lain, misalnya game MMO.
  • Grafiknya berada pada level yang sangat tinggi. Detail bayangan dan cahaya yang tinggi. Terdapat sistem perhitungan pencahayaan Unreal Lightmass.
  • Editor bawaan memiliki seperangkat besar alat bawaan, termasuk FaceFX Studio (animasi wajah), editor mesh, Unreal Facade (pengembangan arsitektur dan bangunan), Unreal PhAT (bekerja dengan fisika) serta editor untuk animasi, tekstur, suara, level, lanskap, dan lainnya.
  • Scripting dilakukan dalam bahasa Unreal Script, yang mencakup banyak fungsi yang menyederhanakan pengembangan game 3D. Meskipun ada beberapa kesulitan seperti pewarisan kelas, tampilan kode Unreal Script mirip dengan C/C++.

Contoh permainan: inilah nilai tambah dari apa yang saya tulis di atas - http://www.unrealengine.com/en/showcase/

Bahasa antarmuka: Bahasa inggris

Persatuan3D

Mesin yang dengan cepat mendapatkan popularitas di kalangan pemula. Alasannya cukup wajar - kemudahan dan intuisi antarmuka dan sistem desain game secara keseluruhan. Banyak video tutorial dan dokumentasi berkualitas tinggi memberikan keuntungan tambahan pada mesin ini. Dalam pengoperasiannya, Unity3D cukup produktif dan stabil.



Kemungkinan:

  • Game multiplatform dan mesinnya sendiri. Android, iOS, Blackberry, Windows XP/Vista/7, OSX, Wii, Playstation 3, Xbox, Flash, Web Player didukung. Saya terutama ingin menyoroti plugin web, karena sekarang Anda dapat memainkan game 3D yang dibuat langsung di browser; Saya telah menyediakan tautan di bawah dengan contoh permainan.
  • Hampir semua genre tercakup permainan modern, sungguh mengesankan (http://unity3d.com/gallery/made-with-unity/profiles/)!
  • Impor tekstur, suara, font yang disederhanakan. Untuk mengimpor, cukup drag dan drop elemen ke dalam folder tekstur pada panel mesin. Format yang didukung: JPEG, PNG, GIF, BMP, TGA, IFF, PICT, PSD, TIFF (gambar); FBX, COLLADA, 3DS, DXF (model 3D); MP3, OGG, AIFF, WAV, MOD, IT, S3M, XM (audio).
  • skrip. Skrip dapat ditulis dalam JavaScript, C# dan dialek Python yang disebut Boo. Paling sering, kode ditulis dalam JavaScript; selain itu, hampir semua bantuan Unity berisi contoh dalam JavaScript. Anda dapat langsung memeriksa pengoperasian skrip di dalam game, tanpa meninggalkan jendela Unity.
  • Sistem grafisnya dioptimalkan dengan baik dan berjalan pada DirectX (termasuk dukungan untuk DirectX 11) dan OpenGL. Ada dukungan untuk Deferred Shading dan bayangan real-time. Ada juga generator lanskap bawaan dan editor shader bawaan.
  • Jika Anda ingin mengembangkan permainan dalam tim, mesin menyediakan sistem pengembangan kolaboratif untuk Anda - Asset Server.

Contoh permainan: Bad Piggies, Wasteland 2. Beberapa game bisa langsung dimainkan Situs web kesatuan(memerlukan instalasi plugin UnityWebPlayer khusus)

Bahasa antarmuka: Bahasa inggris

Di mana memulainya?

Ada topik di forum kami yang didedikasikan untuk mesin ini (tautan dibawah). Di sini Anda akan menemukan video tutorial dan materi lainnya tentang mempelajari Unity3D.

Mari kita rangkum. Apa yang harus dipilih?

Tentunya untuk memilih mesin Anda harus mengetahui dengan jelas platform mana Anda akan mengembangkan game tersebut. Untuk platform seluler, pilih antara Unity3D dan Unreal Development Kit (UDK). Unity3D memiliki pilihan platform terluas: Android, iOS, Blackberry, Windows XP/Vista/7, OSX, Wii, Playstation 3, Xbox, Flash, Web Player (sebagian besar platform tidak termasuk dalam versi gratis).

Genre permainan:

Ketiga engine ini bisa digunakan untuk membuat game bergenre apapun, namun CryENGINE 3 dan UDK akan lebih fokus pada FPS (shooter). Simulator balap - UDK, karena bekerja lebih baik dengan fisika, tetapi Unity juga cocok.

Pelatihan/Antarmuka:

Scripting adalah bagian integral dari pengembangan game dan Unity adalah yang terbaik. Beberapa pemula dapat mengetahui cara menulis skrip sederhana bahkan tanpa dokumentasi. Mengenai materi pelatihan, di Runet tersedia cukup untuk semua mesin yang dijelaskan di atas, tetapi Unity3D juga merupakan pemimpin di sini.

Seni grafis:

Review memberikan contoh produk jadi, sudah cukup untuk menarik kesimpulan. CryENGINE 3 lebih unggul dari pesaingnya, tetapi kita tidak dapat berbicara tentang keunggulan yang jelas. Unity dalam versi gratis telah kehilangan banyak teknologi, daftar lengkap lihat kemungkinannya di sini - https://store.unity3d.com/ (tombol “baca selengkapnya” > “Perbandingan Lisensi”)

Pilih mesin berdasarkan kebutuhan dan pengetahuan Anda. Masih ada baiknya untuk mencoba masing-masing dan memilih mana yang lebih dekat dan lebih mudah bagi Anda.

Beberapa waktu lalu kami menyinggung topik pembuatan game komputer dan membicarakan tentang mesin 3D gratis unik yang tertulis di dalamnya Delfi - Adegan GLS(ambil mesinnya dari CD/DVD kami ). Topik pembuatan game komputer tiga dimensi yang lengkap sangat menarik bagi Anda, hal ini dapat dinilai dari jumlah surat yang diterima. Namun, kemudian kami memutuskan bahwa membicarakan pemrograman mesin itu terlalu sulit. Sejak itu, level Anda meningkat secara nyata (ini juga dapat dinilai dari surat dan aktivitas di forum majalah), Anda menjadi lebih paham dalam masalah pemrograman. Apalagi setelah terbitnya seri “ Dapur Pemrogram”.
Dari terbitan ini kami mulai menerbitkan serangkaian artikel yang akan kami pertimbangkan secara mendetail berbagai tahapan membuat permainan 3D. Anda akan meningkatkan keterampilan pemrograman Anda dan, seperti yang mereka katakan, melihat di balik tabir kerahasiaan yang memisahkan pengembang game yang serius dari manusia biasa.
Mesin game apa pun terdiri dari banyak blok bangunan yang independen: kontrol tabrakan, model fisika, antarmuka game, menu utama, level pemuatan, dan banyak lagi. Ada batu bata tertentu
yang diperlukan hanya untuk satu genre. Misalnya, modul cuaca penting dan diperlukan dalam simulator penerbangan atau maritim, tetapi dalam strategi real-time modul ini bersifat sekunder atau tidak diperlukan sama sekali, dan dalam simulator sepak bola tidak diperlukan modul tembakan. Tapi beberapa lusin batu bata hadir di game apa pun. Dalam serangkaian artikel kita akan membahas masing-masing komponen penyusun ini, menunjukkan bagaimana penerapannya dan bagaimana menghubungkannya dengan komponen lainnya. Pada akhir siklus, Anda akan dapat menggunakan batu bata ini untuk membuat game komputer Anda sendiri dengan tingkat yang cukup tinggi.

Apa yang kamu lakukan di sini?
Bagi mereka yang melewatkan beberapa artikel saya sebelumnya (atau bahkan semuanya), saya akan menjawab pertanyaan apa pun yang Anda miliki. Jadi, sedikit pengenalan teknis.
Mengapa Delphi? Lingkungan pengembangan dan bahasa pemrograman ini Objek Pascal cukup fleksibel untuk membuat game 3D lengkap dari hampir semua genre dengan grafis modern. Banyak yang berpendapat bahwa standar de facto untuk pengembangan game komputer adalah MSVC++ atau berbasis media lainnya C++. Namun standar seperti itu, seperti yang sering terjadi, berkembang secara spontan. Jangan bingung antara dua konsep - bahasa dan lingkungan pengembangan.
C++ jelas lebih kuat dari Object Pascal. Tetapi tingkatannya juga tidak terlalu tinggi, yaitu berkali-kali lipat lebih sulit. C++ tidak cocok untuk pemula. Object Pascal tidak hanya sederhana, tetapi juga cukup fleksibel sehingga dapat digunakan untuk mengembangkan permainan komputer modern yang lengkap. Sekarang tentang hari Rabu. Anda tidak bisa mengatakannya secara pasti di sini. Pengembangan lingkungan- masalah selera dan kebiasaan masing-masing programmer. Saya akan membagikan pendapat saya tentang masalah ini. MSVC++ menghasilkan kode sedikit lebih cepat dari Delphi. Sebenarnya disinilah kelebihannya berakhir (saya ulangi, menurut pendapat saya yang subjektif dan tidak mengikat). Kartu andalan Delphi adalah kecepatan kompilasi yang tinggi (puluhan bahkan ratusan kali lebih cepat dari MSVC++), kualitas tinggi alat debugging (dalam banyak kasus, Delphi menunjukkan dengan tepat baris kode yang berisi kesalahan, sementara MSVC++ dapat menunjukkan baris yang berjarak beberapa halaman dari yang Anda cari) dan antarmuka yang nyaman.
Mengapa GLScene? Saya telah melihat dan mencoba banyak mesin 3D gratis, tapi saya memilih yang ini. Keuntungan terpentingnya adalah GLScene terus ditingkatkan. Pengembang belum mengakhirinya dan, kemungkinan besar, tidak akan pernah melakukannya. Mesinnya terus berkembang dan menyerap semua kemajuan teknis terkini. Ini adalah satu-satunya mesin gratis yang saya tahu yang tidak akan pernah mereka katakan "ketinggalan jaman". Beberapa ratus peminat yang terus-menerus mengerjakan "mesin" tidak akan membiarkan hal ini terjadi. Sebagai contoh: dukungan untuk shader pertama muncul di mesin hanya beberapa bulan setelahnya NVidia mengeluarkan yang bersangkutan peralatan.
Keunggulan lainnya: GLScene hadir dengan sumber lengkapnya. Bagi pemula, fakta ini mungkin tidak berguna. Meskipun sangat bermanfaat untuk mengetahui kode sumber yang ditulis oleh seorang profesional. Namun programmer berpengalaman merasakan arti utama dari kata-kata ini: bagaimanapun juga, mereka akan dapat mendesain ulang mesin sesuka mereka.
sesuka hati. Satu-satunya syarat sesuai dengan lisensi MPL adalah setiap perubahan pada kode sumber harus tersedia bagi koordinator proyek (saat ini koordinatornya adalah Eric Grange). Bagaimana jika kode Anda berguna bagi orang lain?!
Meskipun semua contoh kode yang akan diberikan dalam rangkaian artikel ini akan ditulis dalam Delphi menggunakan GLScene, contoh tersebut juga akan berguna bagi mereka yang memprogram dalam bahasa lain dan dengan perpustakaan grafis lainnya. Bagaimanapun, prinsip umum pembuatan mesin grafis tidak bergantung pada salah satunya. Jadi... kita mulai.

Mengapa Anda membutuhkan mesin 3D?
Rekan pemula, berkonsentrasilah! Mungkin apa yang saya katakan sekarang tidak akan begitu jelas pada kali pertama. Pastikan untuk membaca kembali dan memahami: ini adalah salah satu prinsip dasar pemrograman secara umum dan pengembangan sistem yang kompleks (dan permainan adalah sebuah sistem yang kompleks) secara khusus. Bayangkan sebuah permainan sederhana. Pingpong misalnya. Pemrogram menulisnya secara murni OpenGL, kode sumbernya muat dalam sekitar 200 baris. Apa mesinnya, dan apa kode utama permainannya? Anda tidak bisa langsung mengatakannya... Tetapi jika dipikir-pikir, pembagian seperti itu ke dalam mesin dan kode utama tidak diperlukan sama sekali.
Sekarang bayangkan kita ingin membuat tindakan 3D yang kurang lebih serius (puluhan ribu baris kode). Dan kami akan memprogram dengan cara yang sama seperti kami melakukan ping-pong yang sama. Dan sebentar lagi kita akan menjadi bingung! Ya, kode ini akan melakukannyacepat, tidak akan ada yang berlebihan, tapi... tidak semua programmer bisa menyelesaikannya sampai akhir. Dan kesalahan dalam kode padat tersebutpencarian adalah neraka murni. Ini berarti bahwa itu perlu disortir. Cara termudah untuk melakukannya adalah dengan menyoroti tingkat abstraksi.
Tingkat abstraksi adalah salah satu konsep terpenting dalam pemrograman modular. Bayangkan Anda adalah seorang pembangun dan Anda perlu membangun sebuah rumah. Anda beroperasi dengan batu bata: ambil batu bata, letakkan di dinding yang sedang dibangun, sebarkan dengan mortar, ambil batu bata berikutnya... Batu bata adalah tingkat abstraksi Anda. Sekarang bayangkan Anda adalah seorang pengembang. Dan Anda perlu membangun mikrodistrik. Anda memberi tahu pembangun di mana harus membangun rumah, rumah mana yang akan dibongkar. Rumah adalah tingkat abstraksi Anda. Akan aneh jika Anda memberi tahu seorang pembangun batu bata mana yang harus dipasang. Anda berkata: di sinilah rumah itu akan berada. Pembangun menangani semua masalah lainnya. Nah, sekarang bayangkan Anda adalah walikota sebuah kota. Dan Anda perlu memberikan tugas kepada kerumunan pengembang untuk menyediakan begitu banyak perumahan baru bagi kota ini pada tahun ini dan itu. Kecil kemungkinan Anda akan merencanakan secara pribadi di mana seharusnya setiap rumah berada. Ini adalah tugas pengembang. Tingkat abstraksi walikota adalah volume persediaan perumahan, yang dapat ditambah atau dikurangi, namun bagaimana hal ini dapat dicapai adalah soal lain. Pada umumnya, pada tingkat abstraksi ini, tidak menjadi masalah dari mana rumah itu dibangun: apakah itu batu bata atau gading mamut. Dan walikota tidak bisa memiliki “ meletakkan batu bata”, meskipun setiap perintahnya akan mengarah pada hal ini melalui beberapa tingkat abstraksi.
Secara lebih atau kurang kompleks program komputer atau permainan - hal yang sama. Setiap tingkat abstraksi bertanggung jawab atas bagian pekerjaannya, dengan mengandalkan kemampuan yang lebih besar level rendah. Setiap tingkat abstraksi menyediakanantarmuka nyaman tingkat yang lebih tinggi untuk bekerja dengan objek. Dalam permainan komputer, tingkat abstraksi paling rendah adalah bahasa pemrograman (meskipun, pada kenyataannya, Anda dapat menggali lebih dalam - ke perangkat keras). Berikutnya adalah perintahnya API OpenGL(jika kita memprogram dengannya). Pada level ini kita bisa mengeluarkan perintah seperti “ menggambar poligon" Dan " tukar bagian yang terlihat dan bayangan dari buffer video" Lalu - tim Adegan GLS. Pada level ini kita dapat memberikan perintah seperti “ membangun sebuah kubus”, “unduh model dalam format 3ds" Dan " menerapkan tekstur ini dan itu pada model" Lalu ada mesin gamenya. Dan terakhir, kode game yang dapat memberikan perintah mesin game seperti “ tingkat beban”, “menembak karakter ini dan itu dengan senjata ini dan itu" Dan " tampilkan video intro" Idealnya, setiap level abstraksi hanya menggunakan perintah dari level sebelumnya. Hal ini tidak selalu memungkinkan. Namun kita harus mengupayakannya, karena dalam hal ini kodenya akan cepat, nyaman, dan mudah dibaca.

Penciptaan objek yang dinamis
Kami melihat organisasi vertikal permainan komputer. Tetapi setiap tingkat abstraksi dapat dibagi menjadi blok semantik - modul. Pembagian ini bersifat opsional dan akan selalu murni bersyarat, hanya saja lebih mudah untuk memprogram dengan cara ini. Hari ini kita akan melihat modul blok penyusun yang kecil namun sangat penting - pembuatan objek dinamis, yang ada di semua game tanpa kecuali.
Katakanlah Anda sedang membuat modul senjata dan ingin memprogram ledakannyasenapan mesin. Semuanya akan baik-baik saja, tapi bagaimana Anda tahu berapa banyak peluru yang bisa ditembakkan pemain di seluruh permainan? Anda dapat membuat objek apa pun menggunakan editor objek di GLScene IDE, tetapi hanya jika Anda mengetahui dengan jelas berapa banyak dan objek apa yang Anda perlukan. Dalam kebanyakan kasus, hal ini tidak dapat diterima. Misalnya, Anda memiliki 20 level dalam game Anda, setiap level memiliki kumpulan objeknya sendiri. Jadi, haruskah kita membuat semua objek di semua level sebelum memulai permainan? Ini akan memakan waktu lama dan memakan banyak memori. Satu-satunya jalan keluar- membuat objek secara langsung selama permainan, secara dinamis. Di GLScene, pembuatan dinamis objek apa pun terdiri dari dua tahap - membuat instance kelas objek ini dan menetapkan properti yang diperlukan padanya. Mari kita ambil contoh semburan senapan mesin yang telah disebutkan dan membuat peluru secara dinamis. Mari kita asumsikan bahwa tujuan kita adalah bidang industri. Kelas yang bertanggung jawab atas bidang di GLScene adalah TGLSphere. Tampaknya seseorang dapat menulisnya seperti ini:
Sphere:=TGLSphere.Buat
Namun, perintah tersebut tidak akan berfungsi, karena setiap objek di GLScene harus didaftarkan dalam antrian objek. Selain itu, suatu objek tidak dapat diciptakan dalam “kekosongan”; ia harus terikat pada objek yang tingkatnya lebih tinggi. Objek root level tertinggi adalah glscene1.Objects (jika objek komponen TGLScene Anda disebut glscene1). Pilihan yang benar:
Bola:=TGLSphere (glscene1.Objects.AddNewChild(TGLSphere))
Mari kita lihat baris ini sepotong demi sepotong. Di objek root glscene1.Objek kami menyebutnya metode TambahkanAnak Baru, yang menambahkan ke root objek kelas yang ditentukan dalam parameter (dalam hal ini adalah bola -
TGLSphere). Hal ini juga dimungkinkan: meneruskan bukan objek, tetapi seluruh kelas sebagai parameter ke prosedur. Mengapa Anda memerlukan konversi tipe sebelum penugasan? TGLSphere? Intinya adalah metodenya TambahkanAnak Baru, apa pun yang Anda berikan sebagai parameter, ia akan mengembalikan objek kelas TGLBaseSceneObject. Ini tidak cocok untuk kami, jadi kami mengonversi tipenya menjadi TGLSphere. Objek yang dihasilkan ditugaskan ke variabel Sphere. Sekarang, dengan menggunakan variabel ini, kita dapat mengatur parameter berbeda untuk kumpulan kita, misalnya, posisi di luar angkasa:
Bola.Posisi.X:=
Bola.Posisi.Y:=
Bola.Posisi.Z:=
Atau warna:
Bola.Bahan.Properti Depan.Diffuse=
Kita telah membahas penciptaan model secara dinamis, dan sekarang mari kita bicara tentang penghancuran dinamis model tersebut. Faktanya, sebuah peluru suatu hari nanti akan mengenai dinding, seseorang, atau terbang ke jarak biru. Mulai sekarang tidak diperlukan lagi. Jika kita membiarkannya seperti itu, itu akan menempati sebagian area memori. Mengingat berapa banyak tembakan yang rata-rata dilakukan oleh pekemah sebelum lubangnya ditemukan, kita tidak memiliki cukup memori komputer untuk menyimpan peluru sebanyak itu. Oleh karena itu, setiap objek permainan yang sudah tidak diperlukan lagi harus segera dimusnahkan. Satu satunya Jalan yang benar untuk melakukan ini adalah dengan memanggil metode tersebut Bebas, Misalnya:
Bola. Gratis
Seringkali diperlukan untuk memeriksa apakah suatu objek ada atau sudah dihancurkan. Untuk melakukan ini, kita membandingkan objek dengan konstanta universal nol - nol, Misalnya:
Jika Bola<>nihil kalau begitu
Mulai
(bola itu belum dihancurkan,
Jadi kami melakukan sesuatu yang berguna di sini)
Akhir
Atau kita memanggil fungsinya Ditugaskan, yang melakukan hal yang sama. Dan di sini satu jebakan besar menanti Anda, yang cepat atau lambat akan dihadapi oleh semua programmer. Jika Anda membebaskan suatu objek menggunakan metode ini Bebas, ini tidak menjamin bahwa variabel objek menjadi sama nol! Artinya, dalam keadaan tertentu pada contoh di atas, meskipun bola tersebut dihancurkan, kondisi tersebut akan terpenuhi. Jika Anda menangani area ini setelah memeriksa (dan ini hampir selalu terjadi), kesalahan kritis akan terjadi, yang dapat menyebabkan game mogok. Untuk memastikan objek yang dibebaskan menjadi nihil, gunakan prosedur khusus GratisDanNil, Misalnya:
GratisDanNil(Bola)
Sekarang Anda dapat yakin bahwa Anda tidak akan pernah mengakses objek yang sudah tidak ada lagi. Prosedur yang dijelaskan untuk membuat dan menghancurkan objek dapat diterapkan pada objek GLScene apa pun.

Mengapa game membutuhkan baterai?
Perhatikan contoh di atas dengan senapan mesin. Biasanya dalam game, peluru tidak hanya berupa bola saja, melainkan benda kompleks yang juga memiliki tekstur. Setiap kali Anda membuat bullet, sebagian memori dibebaskan, instalasi properti peluru ini, model peluru dimuat, tekstur dimuat (dari hard drive!). Semua ini membutuhkan waktu. Jika jumlah peluru yang dimuntahkan senapan mesin per detik sangat banyak, pengereman yang liar dapat dimulai, terutama pada komputer yang lemah. Ada masalah yang sama dengan menghancurkan peluru:Anda perlu membongkar objek, mengosongkan memori... Hal yang sama tidak hanya berlaku untuk peluru, tetapi juga untuk benda apa pun yang sering muncul dan menghilang, misalnya tetesan air hujan, percikan api dari kabel listrik... Pemborosan seperti itu sumber daya sistem V permainan komputer tidak dapat diterima. Anda tidak ingin game Anda hanya bisa berjalan di stasiun grafis yang super keren, bukan?
Solusinya sederhana. Mari kita perkirakan rata-rata berapa banyak objek semacam ini yang bisa ada pada waktu yang sama. Katakanlah sebuah senapan mesin dapat menembakkan beberapa ratus peluru dalam sepuluh detik, dan dalam sepuluh detik yang sama peluru tersebut pasti akan mencapai sasaran. Sebelum permainan dimulai, kami membuat seratus peluru. Waktu terbaik untuk melakukan ini adalah saat memuat level. Tidak ada yang akan menyadari sedikit penundaan. Selanjutnya, poin-poin tersebut ditempatkan dalam daftar atau array, yang kita sebut baterai. Kami membuat peluru tidak terlihat atau membawanya ke suatu tempat di luar ruang bermain. Setelah senapan mesin mulai menembak, alih-alih menghasilkan peluru, kami beralih ke Tempat yang benar sudah membuat peluru dari baterai dan membuatnya terlihat. Begitu peluru mencapai sasaran, kita tidak menghancurkannya, tapi membuatnya tidak terlihat lagi dan memasukkannya ke dalam baterai. Hasilnya, untuk setiap peluru kami menghemat waktu pembuatan dan waktu penghancuran. Dan ini sangat, sangat banyak! Bagaimana jika perkiraan kita salah sedikit, peluru di baterai habis, tapi senapan mesin terus menembak? Tidak ada yang dapat Anda lakukan - Anda harus membuat peluru baru secara dinamis hingga peluru lama kembali ke baterai. Dan kami juga tidak akan menghancurkan peluru baru, tetapi menyimpannya di baterai jika kami membutuhkannya lagi...

Serangan Klon
Mari kita memiliki hutan yang luas dimana terdapat banyak sekali pohon yang identik atau, katakanlah, banyak pohon dari beberapa spesies yang berbeda. Contohnya mirip dengan contoh sebelumnya, hanya saja kita tidak membuat atau menghancurkan apapun secara dinamis di sini - pada level ini selalu ada pepohonan. Akan ada masalah saat memuat level. Membuat begitu banyak pohon akan memakan waktu lama. Tapi semuanya sama! Artinya, kita memuat dari hard drive berulang kali dan membuat salinan dari hal yang sama di memori. Sarat. Mari main. Sebelum merender setiap pohon, prosedur persiapan dilakukan. Untuk setiap pohon jumlahnya akan sama, tetapi kita akan memanggilnya lagi beberapa kali, sesuai dengan jumlah pohonnya! Ternyata boros. Dan memori untuk setiap pohon harus dicadangkan, dan memproses masing-masing pohon memerlukan waktu.
Akan menyenangkan untuk memuat satu pohon, dan ketika Anda perlu menampilkan pohon-pohon lainnya di layar, cukup tunjukkan perpustakaan grafis dari mana Anda mendapatkan data yang diperlukan. Sungguh menghemat sumber daya, peningkatan FPS yang luar biasa! Pohon "palsu" seperti itu (dan bukan hanya pohon - apa saja), yang hanya informasi pribadinya yang disimpan dalam memori (posisi dalam ruang, sudut rotasi), dan informasi yang sama hanya disimpan sekali, disebut objek proksi.
Di GLScene ada kelas khusus untuk membuat objek proxy - TGLProxyObject. Ini sangat mudah digunakan. Pertama kita buat objek sumber yaitu satu pohon, contohnya seperti ini:
Pohon:=TGLFreeFrom(glscene1.objects.AddNewChild(TGLFreeFrom));
//Memuat
modelnya:
Pohon.LoadFromFile('Pohon.3ds');
//Muat teksturnya:
Pohon.Bahan.Tekstur.Dinonaktifkan:=false;
Pohon.Bahan.Tekstur.Gambar,LoadFromFile('pohon.jpg');
//Sekarang mari kita buat sepuluh pohon kloning di tempat acak:
untuk i:=1 sampai 10 dimulai
//Buat objek proksi lainnya
proksi:=TGLProxyObject(glscene1.objects.AddNewChild(TGLProxyObject));
dengan proxy dimulai
//Tulis pohon contoh kita ke properti MasterObject
Objek Utama:=Pohon;
//Tunjukkan bahwa hanya struktur objek yang harus diwarisi
Opsi Proxy:=;
//Orientasi pohon dalam ruang tidak boleh diubah
Arah:= Pohon.Arah;
Atas:= Pohon.Naik;
//Tapi kita mengatur posisinya secara acak
Posisi.X:=Acak(100);
Posisi.Y:=Acak(100);
//Dan putar pohon ke sudut acak agar terlihat lebih baik
Sudut Putar:=Acak(360);
akhir;
akhir;
Sekarang kami memiliki selusin pohon dengan harga satu pohon. Harap dicatat bahwa jika kita mengubah objek asli dengan cara apa pun, perubahan ini akan langsung mempengaruhi semua objek kloning.

* * *
Kami berbicara tentang batu bata pertama. Pada artikel berikut, kami akan memberi Anda satu truk penuh batu bata ini, yang darinya Anda dapat membangun mesin game 3D impian Anda. Nah, untuk memudahkan Anda, kami mengunggah versi terbaru yang telah diuji pada compact Adegan GLS.

Dengan rilis terbaru Unreal Engine versi gratis dan pengumuman Source 2 gratis, Anda memiliki lebih banyak peluang untuk membuat game sendiri. Namun memilih mesin yang sesuai dengan kebutuhan dan keahlian bukanlah hal yang paling mudah. Ayo pergi contoh terbaik perangkat lunak gratis (hampir, seperti dibahas di bawah) untuk pemula dan profesional.

Selain mesin-mesin dalam koleksi ini, masih banyak juga mesin-mesin lapis kedua yang tidak terlalu terkenal, namun secara halus, sangat keren. Biasanya, di situs web pengembang disebutkan kemungkinan pemberian lisensi, tetapi dalam bentuk yang sangat kasar, Anda harus menghubungi mereka secara langsung. Semua mesin memiliki kelebihan dan kekurangannya masing-masing. Misalnya, mesin Dying Light baru-baru ini, yang dikembangkan oleh Techland, bagus untuk game dunia terbuka, tetapi memiliki masalah jarak jauh.

Untuk serius menggunakan sebagian besar perangkat lunak ini, Anda memerlukan setidaknya keterampilan pemrograman dasar. Namun dalam beberapa kasus, adalah mungkin untuk melakukannya tanpa mereka dan segera mulai berbisnis.

Di garis depan teknologi – CryENGINE

CryENGINE adalah mesin permainan yang sangat kuat yang dibuat oleh pengembang Crytek, pertama kali diperkenalkan di permainan Far Cry. Ini ditujukan untuk pengembangan untuk PC dan konsol, termasuk PlayStation 4 dan Xbox One. Kemampuan grafisnya lebih unggul dari Unity dan UDK, dan terkadang selangkah lebih maju dari Unreal Engine 4: pencahayaan mutakhir, fisika realistis, sistem animasi canggih, dan banyak lagi. Permainan terakhir di CryENGINE ada Ryse: Son of Rome. Mirip dengan UDK dan UE4, CryENGINE memiliki fitur desain level yang kuat dan intuitif.

Menggunakan CryENGINE secara produktif memerlukan waktu untuk mempelajarinya, dan Anda mungkin mengalami kesulitan jika tidak memiliki pengalaman dengan mesin lain. Jika Anda tidak memerlukan grafis setingkat Crysis 3 atau Ryse: Son of Rome, Anda mungkin ingin melihat sesuatu yang lebih ramah pengguna.

Model penetapan harga CryENGINE agak berbeda dari pesaingnya. Untuk menggunakan mesin. Ini tidak sepenuhnya gratis seperti UE4 atau Unity 5, tetapi tidak memerlukan royalti, jadi Anda hanya perlu membayar $9,90 kepada Crytek. Bergantung pada ukuran studio dan tim Anda, tidak adanya royalti dapat memberikan keuntungan yang besar.

Untuk pemula – Stencyl atau GameMaker

Jika Anda baru mulai membuat game dan belum memiliki pengalaman pemrograman, sebaiknya mulai dengan alat yang paling sederhana. Dari jumlah tersebut, yang paling populer dan dikenal secara umum adalah Stencyl dan GameMaker. Keduanya mudah dipelajari oleh pemula dan sudah menghasilkan beberapa permainan berkualitas.

Stencyl memungkinkan Anda membuat game tanpa pemrograman. Antarmukanya sepenuhnya drag-and-drop, dan game dapat dirilis di Windows, Mac, Linux, iOS, Android, dan Flash. Jika Anda pernah bekerja dengan sesuatu seperti Scratch, Anda akan segera mengenali pendekatan mirip LEGO dalam membuat kode dengan menyusun balok. Stencyl dirancang untuk pembuatan yang mudah permainan sprite, sehingga sering kali menjadi dasar untuk teka-teki dan penggulung samping. Melakukan sesuatu yang rumit akan menjadi masalah, jadi jika Anda memutuskan untuk mengerjakan RPG atau strategi, lihat lebih dekat perangkat lunak lain. Stencyl telah mendukung beberapa game populer, termasuk Impossible Pixel dan Zuki's Quest. Ini juga memiliki pelatihan bawaan yang akan mengajarkan Anda semua yang perlu Anda ketahui.

GameMaker adalah utilitas gratis lainnya untuk pemula yang memungkinkan Anda membuat game untuk Windows, Mac, iOS, dan Android. Seperti Stencyl, hampir semuanya drag-and-drop, tetapi ada juga kaitan untuk game multipemain, tautan ke SDK eksternal, kemampuan untuk menggali kode, dan banyak lagi. Versi gratisnya memang menambahkan tanda air saat mengekspor, tetapi GameMaker masih bagus untuk penggunaan pertama kali dan memiliki tutorial bawaan untuk dasar-dasarnya. Tidak ada batasan genre seperti di Stencyl, dan Anda dapat menemukan panduan terpisah untuk berbagai jenis permainan. GameMaker membuat versi asli Spelunky dan Hotline Miami.

Tentu saja, semuanya tidak terbatas pada dua pilihan ini. Buildbox adalah utilitas yang relatif baru, tersedia untuk masa percobaan dan menawarkan program pelatihan untuk mempelajari cara kerjanya, dan GameSalad adalah platform populer yang sudah lama dikenal, meskipun menerima keluhan karena bug dan pekerjaan yang tidak stabil. Construct layak untuk dilihat jika Anda ingin membuat game dalam HTML5. Dalam setiap kasus masalah utama adalah kamu harus menahan diri ide desain. Ini adalah perangkat lunak untuk pemula, dan Anda hanya akan merusaknya saat mencoba melakukan sesuatu yang rumit. Artinya, game akan menjadi bermasalah dan tidak berfungsi jika Anda mencoba melampaui sistem yang dimaksudkan. Namun, ini tempat yang bagus untuk memulai dan pilihan yang cocok tanpa pengalaman pemrograman.

Untuk programmer tingkat menengah yang menargetkan game 2D – Cocos2D

Cocos2D adalah program open source untuk membuat game 2D. Game dapat dirilis di Windows, Mac, Android, iOS, Windows Phone atau di platform web.

Sebagian besar yang akan Anda lakukan di Cocos2D adalah C++ (ada juga dukungan untuk Lua dan JavaScript), jadi Anda harus menguasai bahasa pemrograman tersebut sebelum menggunakan Cocos2D. Namun, dengan pengetahuan bahasa-bahasa tersebut, program ini menjadi cukup mudah digunakan. Ini memiliki IDE lengkap dan sepenuhnya gratis, tanpa ikatan apa pun. Seperti namanya, utilitas ini dirancang untuk membuat game dua dimensi, sehingga bekerja lebih baik dengan game sprite sederhana yang tidak menggunakan 3D. Game 2D dapat dibuat di Unity (yang akan kita bahas nanti), namun Cocos2D lebih mudah untuk digunakan jika Anda baru memulai (dan tentu saja, Anda tahu C++).

Cocos2D telah menciptakan banyak game sukses dalam berbagai genre, termasuk Badland yang memenangkan penghargaan.

Pengembang yang menargetkan platform seluler - Unreal Engine atau Unity

Jika Anda tertarik dengan game 3D yang kompleks, dua alat paling populer untuk membuatnya adalah Unreal Engine dan Unity. Keduanya memiliki kekuatan dan sisi lemah dan berbagai poin dalam perjanjian lisensi yang harus Anda pahami sebelum mengambil keputusan akhir.

Unity memungkinkan Anda membuat game 3D dan 2D untuk hampir semua platform, termasuk Windows, Mac, Xbox, Playstation, Android, iOS, dan lainnya. Mendukung aset game yang dibuat dalam 3ds Max, Maya, Softimage, Cinema 4D, Blender dan perangkat lunak lainnya. Unity menggunakan C# beserta bahasa pemrogramannya sendiri, jadi tidak ada salahnya untuk mengenalnya dengan baik terlebih dahulu. Jika kita bandingkan Unity dan Unreal, yang pertama mungkin lebih mudah dipelajari. Ini memiliki serangkaian perilaku siap pakai dan perpustakaan sumber daya game bawaan yang cukup mudah untuk dilacak. Saat mengerjakan teks ini, saya berbicara dengan beberapa pengembang, dan mereka berpikir bahwa Unity adalah... mesin terbaik untuk proyek pertama karena lebih mudah dipahami dan dipelajari dibandingkan Unreal. Jika Anda sudah pernah membuat game, katakanlah di GameMaker, Anda akan langsung mengerti apa yang ada di Unity. Unity juga mendukung model pembayaran alternatif langsung di mesinnya, termasuk beberapa model monetisasi gratis untuk dimainkan.

Fungsionalitas versi pribadi gratis sudah cukup kaya untuk proyek pertama Anda. Dengan membuat game dalam versi gratis, Anda tidak perlu membayar biaya lisensi atau royalti, namun ada beberapa peringatan yaitu Anda tidak akan bisa mendapatkan sponsor/keuntungan lebih dari $100.000. Banyak artikel pendidikan telah ditulis untuk membantu pengembang Unity pemula. Game populer di mesin ini: Alto's Adventure, Gone Home dan yang sedang dalam pengembangan.

Unreal Engine 4 menggunakan C++, jadi jika Anda memiliki pengetahuan yang baik tentang bahasa ini, Anda dapat memilihnya, namun, game dapat dibuat tanpa mempelajari bahasa itu sendiri. Game yang dibuat dengan Unreal Engine dapat dirilis di PC, Mac, iOS, Android, Xbox One, dan Playstation 4. Unreal memiliki hampir semua yang Anda perlukan di dalam mesinnya, termasuk pemodelan 3D dan manipulasi medan. Karena kontennya yang kaya, Unreal Engine 4 lebih sulit untuk dikuasai dibandingkan alat pengembangan lainnya, dan meskipun Anda memiliki pengetahuan yang baik tentang C++, Anda harus bersiap untuk mempelajari banyak hal baru. Tapi Anda bisa membuat game yang benar-benar mengesankan. Anda dapat mempelajari lebih lanjut tentang seluk-beluk perangkat Unreal menggunakan rekayasa balik, namun tetap saja, tanpa pengalaman sebelumnya tidak akan mudah untuk memahaminya. Unreal Engine 4 adalah mesin yang relatif baru, tetapi game seperti Daylight dan Tekken 7 telah dirilis di dalamnya.

Untuk menggunakan Unreal Engine 4, Anda harus setuju untuk membayar royalti jika game Anda terjual. Setelah penjualan game atau aplikasi dimulai, Anda membayar per kuartal. Ini mungkin tampak seperti uang yang banyak, tetapi mengingat keuntungan yang didapat dari permainan ini, jumlahnya tidak terlalu banyak.

Ada baiknya juga untuk melihat lebih dekat mesin Source 2 Valve, yang juga akan gratis tahun ini.

Diperbarui 10/01/15: Pada bulan Agustus di GDC. Stingray berjalan pada inti teknologi Bitsquid dan didasarkan pada arsitektur 64-bit. Stingray dirancang agar sangat fleksibel dan bekerja dengan semua platform populer, mulai dari seluler hingga realitas maya. Teknologi modular dan berbasis data memudahkan pengembang untuk melakukan perubahan dan melihat hasilnya secara langsung di beberapa perangkat yang terhubung, tanpa perlu melakukan kompilasi ulang. Plus, Anda dapat dengan cepat mentransfer objek antar produk Autodesk. Belum ada terobosan dalam otomatisasi pembangunan. Jika Anda sudah menggunakan Unity atau Unreal, sebaiknya Anda tidak beralih; keuntungannya belum terlalu terlihat. Kami akan memberi tahu Anda lebih detail nanti.

Raja Pembangunan – Sumber 2

Di GDC 2015, Valve membuat beberapa pengumuman penting, dan yang paling penting bagi komunitas game mungkin adalah pengumuman Source 2. Ini adalah penerus mesin Source, yang digunakan dalam Counter-Strike: Source, Half-Life 2 dan banyak permainan lainnya. Para pengembang telah menantikan mesin generasi berikutnya di gudang senjata Valve selama beberapa tahun sekarang. Pada konferensi pers, Jay Stelly dari Valve mengatakan, "Untuk pengembang konten. Bersamaan dengan pengumuman Epic dan Unity, hal ini akan membantu PC tetap menjadi platform pembuatan konten yang dominan.” Jelas, Valve telah memutuskan untuk mengikuti perlombaan mesin dengan Epic dan Unity, memberikan lebih banyak opsi kepada pengembang untuk dipilih. Namun, masih belum sepenuhnya jelas apa yang dimaksud dengan “gratis untuk pengembang konten”: apakah kita berbicara tentang pengembang yang memiliki reputasi baik atau apakah ini kategori khusus?

Belum ada informasi spesifik mengenai tanggal rilisnya, yang kita tahu hanya Source 2 yang akan rilis dalam waktu dekat. Jay Stelly juga menyatakan, “Kami fokus untuk menjadikan pembuat konten lebih produktif. Mengingat betapa pentingnya konten buatan pengguna, Sumber 2 tidak hanya diperuntukkan bagi para profesional, tetapi juga memungkinkan para gamer untuk mengambil bagian dalam pengembangan game favorit mereka." Kata-kata ini menunjukkan bahwa Sumber 2 akan tersedia tidak hanya untuk studio profesional, tetapi juga untuk penghobi dan modder, yang membuat banyak game Valve begitu populer.

Kami beralih ke Valve untuk informasi tambahan, dan artikel ini akan diperbarui ketika lebih banyak diketahui tentang mesin baru. Namun kini bisa dipastikan bahwa Source 2 akan menjadi pesaing serius bagi kelas berat yang diwakili oleh Unity dan Unreal Engine 4, karena menurut Gelli juga akan gratis.

Penulis – Benang/Pembuat RPG/AXMA

Tidak semua dari kita ahli dalam pemrograman, dan bahkan Stencyl bisa jadi agak rumit bagi banyak orang. Jika Anda lebih melihat diri Anda sebagai pendongeng, Anda memiliki dua opsi bagus untuk dipilih: Twine dan RPG Maker.

Untuk membuat cerita non-linier interaktif. Sederhananya, Anda bisa membuat game petualangan pilihan Anda sendiri. Utilitas ini sangat mudah digunakan. Anda menghubungkan segmen cerita menggunakan berbagai transisi, seperti diagram pikiran. Setiap pilihan yang tersedia untuk pemain mengarah ke teks baru. Jika sudah selesai, Anda bisa langsung memposting hasilnya di website. Semuanya cukup jelas, tetapi jika Anda mengalami kebuntuan atau ingin menambahkan sesuatu yang lain, panduan pemula akan membantu Anda. Game populer yang dibuat oleh Twine: A Kiss dan Cry$tal Warrior Ke$ha.

Jika Twine tampak terlalu kuno bagi Anda, cobalah RPG Maker. Versi gratisnya memiliki lebih sedikit fitur dibandingkan alternatif berbayar, namun masih mampu melakukan banyak hal. Sistemnya mudah dipelajari: grafik dapat diseret dan dialog dapat ditambahkan dalam satu klik. Untuk membuat sesuatu yang lebih menarik daripada RPG biasa, Anda harus berpikir di luar kebiasaan, tetapi contoh seperti To the Moon dan LISA yang mendapat sambutan hangat memperjelas bahwa hal itu mungkin. Anda dapat menggunakan musik dan gambar gratis, jadi Anda bahkan tidak perlu tahu cara menggambar. Pelatihan bawaan, sekali lagi, akan membantu Anda membuat game pertama Anda. Game populer di RPGMaker: Clock of Atonement dan One Night. Twine memiliki analog domestik, AXMA Story Maker, yang juga patut untuk dilihat lebih dekat.

Perangkat lunak gratis untuk sumber daya game

Tentu saja, permainannya bukan hanya mesinnya saja. Anda memerlukan semua jenis aset game, termasuk gambar dan suara. Beberapa pengembang indie yang saya wawancarai membagikan tautan bermanfaat:

Tiled adalah editor peta sederhana untuk Cocos2D, Unity, dan alat lainnya.

OpenGamesArt - Gambar dan rintisan grafis gratis.

Arsip Musik Gratis – musik gratis dengan lisensi Creative Commons.

FreeSound adalah kumpulan efek suara gratis.

Semua ini akan membantu Anda membuat game tanpa biaya khusus. Tentu saja, Anda harus menginvestasikan waktu, darah, keringat, dan air mata Anda untuk itu, tetapi setidaknya dompet Anda tidak akan terkuras.

Kembali

×
Bergabunglah dengan komunitas “koon.ru”!
Berhubungan dengan:
Saya sudah berlangganan komunitas “koon.ru”