Sabtu, 14 Juni 2014
Hgamer 3D game engine berbahasa Haskell
Kita akan masuk dalam pembahasan tentang Game engine yang akan dianalisa yaitu Hgamer3D. HGamer3D adalah membangun game dengan struktur modular dengan Jumlah yang lebih besar dari komponen mungkin membingungkan di awal tapi struktur tidak rumit melainkan lurus ke depan. Di tingkat atas terluar HGamer3D dilengkapi dengan sejumlah paket Haskell, masing-masing melayani tujuan sendiri. Sebelumnya kita akan mengenal terlebih dahulu tentang bahasa Haskell untuk membangun sebuah game menggunakan Hgamer3d.
Pengertian Bahasa Haskell :
Haskell merupakan bahasa pemrograman yang fungsional, malas dan murni. Ia disebut ‘malas’ karena tidak mengevaluasi ekspresi-ekspresi yang digunakannya yang sebenarnya memang tidak diperlukan untuk menentukan jawaban bagi suatu masalah. Kebalikan dari ‘malas’ adalah ‘teliti’ yang merupakan strategi pengevaluasian bagi kebanyakan bahasa pemrograman (C, C++, Java, bahkan ML). Salah satu ciri dari bahasa yang teliti adalah setiap ekspresi diteliti apakah hasil dari perhitungan tersebut penting atau tidak.(Hal ini mungkin tidak mutlak benar seluruhnya karena adanya pengoptimalan compiler yang sering disebut dengan“eleminasi kode mati”yang akan menghilangkan ekspresi yang tidak digunakan di program yang sering dilakukan oleh bahasa-bahasa tersebut). Haskell disebut ‘murni’ karena bahasa ini tidak memperbolehkan adanya efek samping (Efek samping adalah sesuatu yang mempengaruhi “bagian” di program. Misalnya suatu fungsi yang mencetak sesuatu ke layar yang mempengaruhi nilai dari variabel global. Tentu saja, suatu bahasa pemrograman yang tanpa efek samping akan menjadi sangat tidak berguna; Haskell menggunakan sebuah system monads untuk mengisolasi semua komputasi kotor dari program dan menampilkannya dengan cara yang aman. Haskell disebut bahasa ‘fungsional’ karena evaluasi dari programnya sama dengan mengevaluasi sebuah fungsi dalam bahasa matematika murni. Hal ini juga yang membedakannya dari bahasa standard (seperti C dan Java) yang mengevaluasi sederetan pernyataan secara urut (inilah pola dari bahasa terstruktur ).
Sejarah bahasa Haskell
Pada bulan September tahun 1987 diadakan pertemuan dalam konferensi Bahasa Pemrograman Fungsional dan Arsitektur Komputer atau Functional Programming Languages and Computer Architecture (FPCA ’87) di Portland, Oregon, untuk membicarakan keadaan yang kurang menguntungkan di komunitas pemrograman fungsional yaitu adanya selusin bahasa pemrograman fungsional yang murni, kesemuanya mirip dalam hal bentuk ekspresi dan sintaknya.
Kelemahan dan kekurangan bahasa Haskell
Menulis system software yang besar sangatlah sulit dan mahal. Dan bahkan untuk mengelola system itu bisa lebih sulit dan lebih mahal. Bahasa pemrograman fungsional semacam Haskell dapat membuatnya lebih mudah dan lebih murah. Haskell sebagai bahasa pemrograman fungsional murni dapat :
1.Meningkatkan produktifitas programmer (Ericsson banyak memanfaatkan hasil percobaan Haskell dalam software telephony)
2.Lebih singkat, lebih jelas dan kode-kodenya mudah dibaca
3.Errornya semakin sedikit dan reabilitynya lebih tinggi
4.Membuat jarak antara programmer dengan bahasa itu lebih pendek
5.Waktu untuk membuat program menjadi lebih singkat
Banyak alasan untuk menggunakan Haskell diantaranya adalah kita bisa menulis kode bebas atau bugs-free code dalam waktu yang lebih singkat dibanding bahasa lainnya. Bahasa ini terus-menerus berkembang dan kian hari makin banyak kelebihannya. Selain itu, Haskell cocok untuk berbagai macam aplikasi.
HGamer3D diterbitkan di bawah lisensi open source Apache 2.0. HBind bawah GPL.
Perpustakaan digunakan oleh HGamer3D yang datang dengan skema lisensi mereka sendiri: raksasa, SDL2 ,SFML ,enet ,CEGUI
(Paket telah terpilih sesuai dengan lisensi open mereka, kebanyakan dari mereka adalah MIT atau lisensi zlib sama, rincian dapat ditemukan di folder IZIN di Github.)
Cara Install Hgamer3D
Paket-paket Haskell dapat diinstal sebagai biasanya dilakukan dengan installer komplotan rahasia. Tapi sebelum Anda dapat melakukannya, Anda memerlukan perpustakaan, yang menyediakan binding untuk C / C + + komponen. Mereka perpustakaan dapat diinstal dalam dua cara yang berbeda.
Gunakan Pra-Disusun Binary Pada Windows Anda dapat menggunakan biner yang sudah dikompilasi, cukup download dari bagian Downloads. Rincian lebih lanjut di bawah ini. Untuk beberapa sistem Linux ada juga biner yang sudah dikompilasi tersedia.
Kompilasi Binari Diri Dalam hal tidak ada pre-compiled binary yang tersedia, Anda perlu untuk mengkompilasi sendiri.
Dalam berikut langkah-demi-langkah instruksi untuk mengkompilasi binari yang diberikan dan setelah itu akan ditampilkan di mana urutan paket Haskell harus diinstal.
Gunakan Pra-Disusun Binary
Unduh biner dan ekstrak file. Sederhananya semua perpustakaan langsung di folder ~ / .HGamer3D/lib. Jika Anda tidak dapat menemukan download biner yang sesuai, Anda perlu untuk mengkompilasi binding sendiri, lihat bagian berikutnya.
Kompilasi Bindings
32 bit Linux, jika Anda berada di Linux, bukan Windows, Anda memiliki 32 bit Linux, benar? Saya telah diuji prosedur di bawah ini pada sejumlah sistem Linux, tapi semua 32 bit. 64 bit Linux saat ini tidak bekerja, aku takut.
Periksa Dependensi
Sebelum Anda dapat mulai membangun binding, Anda perlu memastikan bahwa Anda memiliki semua prasyarat diinstal (di Linux). Hal ini penting untuk dilakukan sebelum, karena perintah konfigurasi dari alat yang memeriksa keberadaan perpustakaan prasyarat dan jika Anda tidak memiliki mereka diinstal, membangun mungkin selesai tapi dengan fungsi yang hilang.
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar