jMonkeyEngine 3.0 : Beginner's Guide

Whether you want to design 3D games with Java for love or for money, this is the primer you need to start using the free libraries of jMonkeyEngine 3.0. All hands on, all fun – it makes light work of learning.

jMonkeyEngine 3.0 : Beginner's Guide

Beginner's Guide
Ruth Kusterer

Whether you want to design 3D games with Java for love or for money, this is the primer you need to start using the free libraries of jMonkeyEngine 3.0. All hands on, all fun – it makes light work of learning.
$29.99
$49.99
RRP $29.99
RRP $49.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free sample

Book Details

ISBN 139781849516464
Paperback352 pages

About This Book

  • Create 3D games that run on Android devices, Windows, Mac OS, Linux desktop PCs and in web browsers – for commercial, hobbyists, or educational purposes.
  • Follow end-to-end examples that teach essential concepts and processes of game development, from the basic layout of a scene to interactive game characters.
  • Make your artwork come alive and publish your game to multiple platforms, all from one unified development environment.

Who This Book Is For

If you have an inventive mind, are experienced in Java, enjoy looking through the smoke and mirrors of VFX and the world of game mechanics then this book is for you.

Table of Contents

Chapter 1: Installing jMonkeyEngine
Installation requirements for game developers
Time for action – installing the jMonkeyEngine SDK
jMonkeyEngine SDK at your service
Can I work in other Java IDEs?
Time for action – running a demo
Time for action – creating a project
Assets and the art pipeline
Time for action – distributing a game
Can I sell my jMonkeyEngine game?
Summary
Chapter 2: Creating Your First 3D Scene
A basic template to initialize scenes
Time for action – initializing a scene step by step
Starting and stopping the application
Time for action – starting the application
Orient yourself in 3D space
Time for action – finding the spot
And how do I say that in Java?
Time for action – position it!
Time for action – scale it!
Time for action – rotate it!
Time for action – rotate it again, Sam
Where am I?
Time for action – navigating the scene
Populating the scene
Time for action – node versus geometry
Extending SimpleApplication
Make a big scene
Time for action – configuring display settings
Keeping an eye on your FPS
Time for action – checking vital stats
Navigating the scene with a mouse and a keyboard
Time for action – move it!
Summary
Chapter 3: Interacting with the User
The digital Dungeon Master
Time for action – from input to output in slow motion
Time for action – pushing the right buttons
Time for action – trigger meets mapping
Time for action – mapping meets listeners
Time for action – listeners meet actions
Click me if you can
Time for action – pick a brick (using crosshairs)
Time for action – pick a brick (crosshairs with ray casting)
Time for action – pick a brick (using the mouse pointer)
Time for action – pick a brick (pointer with ray casting)
How to steer spatials
Time for action – you are the CubeChaser
Time for action – chase all the cubes!
Time for action – get these cubes under control
Time for action – get into the right AppState of mind
Time for action – call me maybe?
Coordinating global game mechanics
The beauty of AppStates and controls
Summary
Chapter 4: Adding Character to Your Game
Making a Mesh
Time for action – meshing around with cubes
Time for action – meshing around with spheres
From mesh to geometry
Beg, steal, or borrow
The right wrench to pound in the screw
Time for action – installing the Blender-to-Ogre3D plugin
Time for action – sculpting the mesh
Time for action – coloring the mesh
Time for action – a model for to go, please
Time for action – loading a model (just testing)
Time for action – loading a model (for real)
Managing assets – best practices
Time for action – sorting your stuff out
Time for action – saving and loading .j3o files
Animating a model
Time for action – rig, skin, and animate
Time for action – loading an animated model
Time for action – playing an animated model
Time for action – responding to animation events
Loading a simple user interface
Time for action – displaying text
Time for action – loading AngelCode fonts
Time for action – loading icons into the GUI
Time for action – display interactive status icons
Time for action – 3D objects in the 2D GUI?
The art pipeline
Summary
Chapter 5: Creating Materials
What is a material?
Time for action – unshaded materials
Material definitions and shaders
Good-bye unshaded, hello lighting!
Time for action – no frills, just color
Time for action – oooh, shiny!
Time for action – illuminated opaque textures
Time for action – semitransparent texture
Time for action – transparent textures
Multimapping
Time for action – meet the hover tank
Time for action – let the hover tank be groovy
Time for action – give your hover tank a shine
Time for action – make your hover tank glow
Time for action – deep-freeze your materials
Different types of textures
Time for action – scaling and tiling textures
Time for action – lights on!
Summary
Chapter 6: Having Fun with Physics
Solid floors and walls
Time for action – fortify the town
Time for action – first-person navigation
Fun with rigid bodies
Time for action – falling bricks
Time for action – flying cannon balls
Time for action – predict the explosion
Dynamic, static, and kinematic
Time for action – an elevator platform
Time for action – react to collisions
Time for action – timing forces correctly
My whole world is falling apart
LEET skillz – learn from the pros
Summary
Chapter 7: Adding Spark to Your Game
Particle effects
Time for action – stir up some dust
Time for action – sparks
Time for action – fit to burst?
Time for action – fire!
Time for action – design effects in the SDK
Time for action – finding stuff in the scene graph
Time for action – welcome to Dark Town
Time for action – welcome to Dark City
Time for action – this city needs more gloom
Time for action – stay focused
Time for action – this city needs more glow
Time for action — toons and artistic effects
Summary
Chapter 8: Creating Landscapes
Welcome to Earth
Time for action – climbing a hill
Time for action – let there be grass
Time for action – splat goes the texture
But wait, there's more
Time for action – up hill and down dale
Time for action – go fast and vast
Time for action – plant a tree
Not even the sky is the limit
Time for action – nothing but blue sky
Time for action – sky factory
Time for action – fog of war
Catch the sun
Time for action – let the sun shine in
Still waters run deep
Time for action – simple water
Time for action – take a swim
Summary
Chapter 9: Making Yourself Heard
Please roar into the microphone now
Ambient sounds! They are everywhere!
Time for action – add ambient sound
Time for action – to pre-buffer or to stream?
Time for action – push a button to receive *BAM*
Basic sound APIs
Something's coming from behind!
Time for action – positional audio
Time for action – I spy with my little ear
Sound environments
Time for action – using default sound environments
Time for action – underwater
Summary
Chapter 10: Showing Your Game to the World
Customizing display settings
Time for action – the name of the game
Time for action – make a big splash (screen)
Time for action – window seat or full screen?
Time for action – fine-tuning video settings
Time for action – window, canvas, or headless?
Time for action – reload settings
SimpleApplication options
Time for action – time for a pause
Time for action – hide statistics and FPS
Save, load, and be merry
Time for action – save and load game data
Time for action – save and load display settings
Pre-release checklist
Release checklist
Time for action – build the final release
Summary

What You Will Learn

  • Create your own worlds and populate them with mobile characters, cities, physical objects, natural landscapes or beautiful under-water scenes.
  • Add cool sounds and awesome visual effects to draw the player into your interactive world.
  • Design textured materials and use light and shadow to bring out your game’s unique atmosphere.
  • Make players shoot, select items, walk or look round by registering and handling user input.
  • Keep track of the game state and determine how each character makes decisions and responds to attacks.
  • Make the most of the integrated physics engine and create fast-paced car races, bowling, sports, pool and billiards games.
  • Understand client-server messaging and create multi-player online games that communicate over a network.

In Detail

jMonkeyEngine 3.0 is a powerful set of free Java libraries that allows you to unlock your imagination, create 3D games and stunning graphics. Using jMonkeyEngine’s library of time-tested methods, this book will allow you to unlock its potential and make the creation of beautiful interactive 3D environments a breeze.

"jMonkeyEngine 3.0 Beginner’s Guide" teaches aspiring game developers how to build modern 3D games with Java. This primer on 3D programming is packed with best practices, tips and tricks and loads of example code. Progressing from elementary concepts to advanced effects, budding game developers will have their first game up and running by the end of this book.

From basic concepts and project creation to building a complex 3D Game, you will learn to layout 3D scenes, make them interactive and add various multi-media effects.

You will find answers to common questions including best practices and approaches, how game characters can act and interact, how to simulate solid walls and physical forces, how to take it online to play over a network and much more.

From Zero to Hero, start your journey to make your game idea a reality.

Authors

Table of Contents

Chapter 1: Installing jMonkeyEngine
Installation requirements for game developers
Time for action – installing the jMonkeyEngine SDK
jMonkeyEngine SDK at your service
Can I work in other Java IDEs?
Time for action – running a demo
Time for action – creating a project
Assets and the art pipeline
Time for action – distributing a game
Can I sell my jMonkeyEngine game?
Summary
Chapter 2: Creating Your First 3D Scene
A basic template to initialize scenes
Time for action – initializing a scene step by step
Starting and stopping the application
Time for action – starting the application
Orient yourself in 3D space
Time for action – finding the spot
And how do I say that in Java?
Time for action – position it!
Time for action – scale it!
Time for action – rotate it!
Time for action – rotate it again, Sam
Where am I?
Time for action – navigating the scene
Populating the scene
Time for action – node versus geometry
Extending SimpleApplication
Make a big scene
Time for action – configuring display settings
Keeping an eye on your FPS
Time for action – checking vital stats
Navigating the scene with a mouse and a keyboard
Time for action – move it!
Summary
Chapter 3: Interacting with the User
The digital Dungeon Master
Time for action – from input to output in slow motion
Time for action – pushing the right buttons
Time for action – trigger meets mapping
Time for action – mapping meets listeners
Time for action – listeners meet actions
Click me if you can
Time for action – pick a brick (using crosshairs)
Time for action – pick a brick (crosshairs with ray casting)
Time for action – pick a brick (using the mouse pointer)
Time for action – pick a brick (pointer with ray casting)
How to steer spatials
Time for action – you are the CubeChaser
Time for action – chase all the cubes!
Time for action – get these cubes under control
Time for action – get into the right AppState of mind
Time for action – call me maybe?
Coordinating global game mechanics
The beauty of AppStates and controls
Summary
Chapter 4: Adding Character to Your Game
Making a Mesh
Time for action – meshing around with cubes
Time for action – meshing around with spheres
From mesh to geometry
Beg, steal, or borrow
The right wrench to pound in the screw
Time for action – installing the Blender-to-Ogre3D plugin
Time for action – sculpting the mesh
Time for action – coloring the mesh
Time for action – a model for to go, please
Time for action – loading a model (just testing)
Time for action – loading a model (for real)
Managing assets – best practices
Time for action – sorting your stuff out
Time for action – saving and loading .j3o files
Animating a model
Time for action – rig, skin, and animate
Time for action – loading an animated model
Time for action – playing an animated model
Time for action – responding to animation events
Loading a simple user interface
Time for action – displaying text
Time for action – loading AngelCode fonts
Time for action – loading icons into the GUI
Time for action – display interactive status icons
Time for action – 3D objects in the 2D GUI?
The art pipeline
Summary
Chapter 5: Creating Materials
What is a material?
Time for action – unshaded materials
Material definitions and shaders
Good-bye unshaded, hello lighting!
Time for action – no frills, just color
Time for action – oooh, shiny!
Time for action – illuminated opaque textures
Time for action – semitransparent texture
Time for action – transparent textures
Multimapping
Time for action – meet the hover tank
Time for action – let the hover tank be groovy
Time for action – give your hover tank a shine
Time for action – make your hover tank glow
Time for action – deep-freeze your materials
Different types of textures
Time for action – scaling and tiling textures
Time for action – lights on!
Summary
Chapter 6: Having Fun with Physics
Solid floors and walls
Time for action – fortify the town
Time for action – first-person navigation
Fun with rigid bodies
Time for action – falling bricks
Time for action – flying cannon balls
Time for action – predict the explosion
Dynamic, static, and kinematic
Time for action – an elevator platform
Time for action – react to collisions
Time for action – timing forces correctly
My whole world is falling apart
LEET skillz – learn from the pros
Summary
Chapter 7: Adding Spark to Your Game
Particle effects
Time for action – stir up some dust
Time for action – sparks
Time for action – fit to burst?
Time for action – fire!
Time for action – design effects in the SDK
Time for action – finding stuff in the scene graph
Time for action – welcome to Dark Town
Time for action – welcome to Dark City
Time for action – this city needs more gloom
Time for action – stay focused
Time for action – this city needs more glow
Time for action — toons and artistic effects
Summary
Chapter 8: Creating Landscapes
Welcome to Earth
Time for action – climbing a hill
Time for action – let there be grass
Time for action – splat goes the texture
But wait, there's more
Time for action – up hill and down dale
Time for action – go fast and vast
Time for action – plant a tree
Not even the sky is the limit
Time for action – nothing but blue sky
Time for action – sky factory
Time for action – fog of war
Catch the sun
Time for action – let the sun shine in
Still waters run deep
Time for action – simple water
Time for action – take a swim
Summary
Chapter 9: Making Yourself Heard
Please roar into the microphone now
Ambient sounds! They are everywhere!
Time for action – add ambient sound
Time for action – to pre-buffer or to stream?
Time for action – push a button to receive *BAM*
Basic sound APIs
Something's coming from behind!
Time for action – positional audio
Time for action – I spy with my little ear
Sound environments
Time for action – using default sound environments
Time for action – underwater
Summary
Chapter 10: Showing Your Game to the World
Customizing display settings
Time for action – the name of the game
Time for action – make a big splash (screen)
Time for action – window seat or full screen?
Time for action – fine-tuning video settings
Time for action – window, canvas, or headless?
Time for action – reload settings
SimpleApplication options
Time for action – time for a pause
Time for action – hide statistics and FPS
Save, load, and be merry
Time for action – save and load game data
Time for action – save and load display settings
Pre-release checklist
Release checklist
Time for action – build the final release
Summary

Book Details

ISBN 139781849516464
Paperback352 pages
Read More