Jenis – Jenis Game Engine:
1. Freeware
-Blender
-Golden T Game Engine (GTGE)
-DXFramework
-Ogre
-Aleph One
-Axiom Engine
-Allegro Library
-Box2D
-Build Engine
-Cube
-Cube 2
-DarkPlaces
-j-MonkeyEngine (jME)
-Panda3D
-Pipmak Game
-Unity
2. Berbayar/ Commercial:
-Alamo
-A.L.I.V.E
-BigWorld
-DXStudio
-Dunia Engine
-Euphoria
-GameStudio
-Jade Engine
-Jedi
-Medusa
-RPG Maker VX
-RPG Maker XP
-RPG Maker 2003
-RPG Maker 95
-Vision Engine
-Visual3d
Unity adalah alat authoring terpadu untuk membuat video game 3D atau konten interaktif lainnya, seperti visualisasi arsitektur atau real-time 3D animasi. Unity serupa dengan Direktur, game engine Blender, Virtools atau Torque Game Builder dalam arti bahwa lingkungan grafis terintegrasi dengan metode utama pembangunan. Editor berjalan pada Windows dan Mac OS X dan dapat menghasilkan permainan untuk Windows, Mac, Wii , atau iPhone platform,
Kelebihannya:
Otomatis mengimpor aset – aset load ke Unity dan secara otomatis diimpor, dan impor kembali jika aset diperbarui. Meskipun banyak aplikasi 3D modeling populer didukung oleh Unity, dengan integrasi 3ds Max, Maya, Blender, Cinema 4D, dan Cheetah3D yang paling lengkap mendukung untuk masuk ke format lain bervariasi.
Mesin grafis menggunakan Direct3D (Windows), OpenGL (Mac, Windows) dan berpemilik API (Wii).
Mendukung Bump mapping, Reflection mapping, Parallax mapping, Screen Space Ambient Occlusion bayangan dinamis menggunakan shadow maps, merender teksturenya dan membuat layar penuh efek pengolahan.
Game Scripting melalui Mono . Scripting dibangun di atas Mono, implementasi open source dari. NET Framework. Karena itu, pemrogram dapat menggunakan JavaScript, C # atau Boo (yang memiliki sintaks Python).
sudah mendukung pembuatan dari Nvidia’s (khususnya Ageia’s) PhysX physics engine.
Pemutaran video menggunakan codec Theora
JMonkey (JME) adalah game engine 3D berbasis java dan bersifat open source. JME dapat digunakan untuk membuat game 2D atau 3D interaktif dengan performa yang sangat baik. JME juga menyediakan rendering real time berbasis opengl. Secara kesluruhan JME diperuntukkan sebagai solusi pembangunan game yang lengkap.JME dibangun oleh Mark Powel pada juni 2003
Dalam pembahasan mengenai jmonkey ini, kita akan mencoba untuk mengenalkan mulai dari cara instalasinya sampai dengan membuat program sederhana.
Pertama kita mulai dari cara menginstall, buka web jmonkey di:
http://hub.jmonkeyengine.org/downloads/
Download versi jmonkey sesuai dengan operating system yang anda gunakan. Lalu install jmonkey tersebut. Cara installnya standard tinggal next-next saja beres.
Setelah selesai maka akan tampil IDE dari jmonkey seperti dibawah ini:
Dari gambar diatas maka bisa dilihat ada tiga bagian utama, yaitu:
1. Project Asset, digunakan untuk menyimpan model, gambar, suara, dan semua kelengkapan game lainnya
2. Source Package untuk menyimpan kode program kita
3. Library, yang berisi pustaka yang bisa kita gunakan dalam game kita.
Lalu ditengahnya ada bagian dimana kita bisa mengetikkan program dan melihat hasil running program. Secara sederhananya IDE Jmonkey sangat identik dengan netbeans java.
Sekarang kita akan mencoba untuk memainkan game sederhana, yaitu ninja yang sedang bersembunyi di sebuah kota.
Sebelum dimulai, agar programnya berjalan anda membutuhkan jME3-testdata.jar. Cara untuk menambahkannya adalah klik kanan project anda --> properties --> Libraries --> add Library lalu tambahkan library jme3-test-data
Berikut ini adalah kodingnya:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package mygame;
import com.jme3.app.*;
import com.jme3.asset.plugins.ZipLocator;
import com.jme3.light.*;
import com.jme3.material.*;
import com.jme3.scene.*;
import com.jme3.scene.shape.*;
import com.jme3.font.*;
import com.jme3.math.Vector3f;
/**
*
* @author penshabi
*/
public class HelloAsset2 extends SimpleApplication{
public static void main(String[] args) {
HelloAsset2 app = new HelloAsset2();
app.start();
}
@Override
public void simpleInitApp(){
Spatial teapot = assetManager.loadModel("Models/Teapot/Teapot.obj");
Material mat_default = new Material(assetManager, "Common/MatDefs/Misc/ShowNormals.j3md");
teapot.setMaterial(mat_default);
rootNode.attachChild(teapot);
//create a wall with a simple texture from test data
Box box = new Box(2.5f, 2.5f, 1f);
Spatial wall = new Geometry("Box", box);
Material mat_brick = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat_brick.setTexture("ColorMap", assetManager.loadTexture("Textures/Terrain/BrickWall/BrickWall.jpg"));
wall.setMaterial(mat_brick);
wall.setLocalTranslation(2.0f, -2.5f, 0f);
rootNode.attachChild(wall);
//Display a line of text with default font
/*
* guiNode is the special node for flat (orthogonal)
* display element. You display text to show the game
* score, player health, etc.
*/
guiNode.detachAllChildren();
guiFont = assetManager.loadFont("Interface/Fonts/Default.fnt");
BitmapText text = new BitmapText(guiFont, false);
text.setSize(guiFont.getCharSet().getRenderedSize());
text.setText("Game Ninja Handoko");
text.setLocalTranslation(300, text.getLineHeight(), 0);
guiNode.attachChild(text);
/*
* Load a model from test_data (OgreXML + material + texture)
*/
Spatial ninja = assetManager.loadModel("Models/Ninja/Ninja.mesh.xml");
ninja.scale(0.05f, 0.05f, 0.05f);
ninja.rotate(0f, -3.0f, 0.0f);
ninja.setLocalTranslation(0f, -5.0f, -2.0f);
rootNode.attachChild(ninja);
assetManager.registerLocator("wildhouse.zip", ZipLocator.class);
Spatial gameLevel = assetManager.loadModel("main.scene");
gameLevel.setLocalTranslation(0, -5.2f, 0);
gameLevel.setLocalScale(2);
rootNode.attachChild(gameLevel);
//you must add a light to make the model visible
DirectionalLight sun = new DirectionalLight();
sun.setDirection(new Vector3f(-1.0f, -0.7f, -1.0f));
rootNode.addLight(sun);
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package mygame;
import com.jme3.app.*;
import com.jme3.asset.plugins.ZipLocator;
import com.jme3.light.*;
import com.jme3.material.*;
import com.jme3.scene.*;
import com.jme3.scene.shape.*;
import com.jme3.font.*;
import com.jme3.math.Vector3f;
/**
*
* @author penshabi
*/
public class HelloAsset2 extends SimpleApplication{
public static void main(String[] args) {
HelloAsset2 app = new HelloAsset2();
app.start();
}
@Override
public void simpleInitApp(){
Spatial teapot = assetManager.loadModel("Models/Teapot/Teapot.obj");
Material mat_default = new Material(assetManager, "Common/MatDefs/Misc/ShowNormals.j3md");
teapot.setMaterial(mat_default);
rootNode.attachChild(teapot);
//create a wall with a simple texture from test data
Box box = new Box(2.5f, 2.5f, 1f);
Spatial wall = new Geometry("Box", box);
Material mat_brick = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat_brick.setTexture("ColorMap", assetManager.loadTexture("Textures/Terrain/BrickWall/BrickWall.jpg"));
wall.setMaterial(mat_brick);
wall.setLocalTranslation(2.0f, -2.5f, 0f);
rootNode.attachChild(wall);
//Display a line of text with default font
/*
* guiNode is the special node for flat (orthogonal)
* display element. You display text to show the game
* score, player health, etc.
*/
guiNode.detachAllChildren();
guiFont = assetManager.loadFont("Interface/Fonts/Default.fnt");
BitmapText text = new BitmapText(guiFont, false);
text.setSize(guiFont.getCharSet().getRenderedSize());
text.setText("Game Ninja Handoko");
text.setLocalTranslation(300, text.getLineHeight(), 0);
guiNode.attachChild(text);
/*
* Load a model from test_data (OgreXML + material + texture)
*/
Spatial ninja = assetManager.loadModel("Models/Ninja/Ninja.mesh.xml");
ninja.scale(0.05f, 0.05f, 0.05f);
ninja.rotate(0f, -3.0f, 0.0f);
ninja.setLocalTranslation(0f, -5.0f, -2.0f);
rootNode.attachChild(ninja);
assetManager.registerLocator("wildhouse.zip", ZipLocator.class);
Spatial gameLevel = assetManager.loadModel("main.scene");
gameLevel.setLocalTranslation(0, -5.2f, 0);
gameLevel.setLocalScale(2);
rootNode.attachChild(gameLevel);
//you must add a light to make the model visible
DirectionalLight sun = new DirectionalLight();
sun.setDirection(new Vector3f(-1.0f, -0.7f, -1.0f));
rootNode.addLight(sun);
}
}
Berikut adalah hasil tampilannya
Sumber Referensi:
- http://en.wikipedia.org/wiki/Game_engine
- http://en.wikipedia.org/wiki/List_of_game_engines
- http://en.wikipedia.org/wiki/Unity_(game_engine)
- http://tiindonesia.blogspot.co.id/2014/06/pengenalan-jmonkey.html