PacktLib: jMonkeyEngine 3.0 Beginner's Guide

jMonkeyEngine 3.0 Beginner's Guide

Credits

About the Author

About the Reviewers

www.PacktPub.com

Preface

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

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

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

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

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

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

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

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

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

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's Next?

What's Next?

What's Next?

What's Next?

What's Next?

What's Next?

What's Next?

Additional Resources for Fellow jMonkeys

Additional Resources for Fellow jMonkeys

Additional Resources for Fellow jMonkeys

Additional Resources for Fellow jMonkeys

Additional Resources for Fellow jMonkeys

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Index