Env3D is an innovative 3D engine that makes it fun and easy to create 3D video games while learning Object Oriented Programming.
Join the env3d google group to keep up to date with the latest development.
What can Env3D do in real life? Check out the following applications:
- Monster hit list - a facebook app using Env3D running as an applet - based on the "loading models and animation" lesson.
- WhaleChat - an online 3D programming plaform developed using Env3D. Uses Java WebStart technology.
- WhaleChatZombies - a zombie game running on facebook using the WhaleChat platform.
- WhaleChatRandom - chat with a random stranger in the WhaleChat environment, running on facebook.
Some of the unique features of Env3D includes...
- Tight integration with the BlueJ IDE - visualize 3D objects within minutes of learning Java.
- Easy to use - users only need to import one class to create 3D video games. No need to deal with complicated data structures.
- Powerful - While the interface is simple, the Env3D environment is highly customizable. Users can import 3D objects and animations using the obj format.
- Proven to work - students prefer to learn programming with video games.
- Easy applet creation - Using the BlueJ IDE, students can package up their projects into a web ready applet with a click of a button.
Like Env3D? Drop me a line and let me know.
For a complete API reference, check out the JavaDoc.
Below are some lessons on env3d that you can use as exercises to re-enforce OO concepts. Each of these lesson is best used as supplementary material to the corresponding chapter of Objects First with Java book by Barnes & Kolling.
Part I
Lesson 1: Creating objects
Lesson 2: Creating a single
class
Lesson 3: Creating a complete game with
multiple clasess
Exercise: Doty feeding game
Lesson 4: Using ArrayLists
Loading models and animation
Exercise: Monster VS Doty
Projects
World of Zuul 3D Version 1World of Zuul 3D Version 2
Part II
Lesson 1: Basic inheritance
Lesson 2: More inheritance
Lesson 3: Polymorphism
Lesson 4: Towards a better design
Lesson 5: Improving performance
Lesson 6: Using threads
Appendices
Appendix 1: Decorating your roomAppendix 2: Playing sounds
Appendix 3: Creating java applets for online distribution
Appendix 4: Incorporating Env3D into Swing/AWT
Appendix 5: Camera Control
These lessons are licensed under a Creative
Commons Attribution-Noncommercial-Share Alike 2.5
Canada License.
To get started, download the blank template project. Then visit the "Learn" section of this website.
Visit the env3d sourceforge page to access the subversion repository.
Env3D wishes to thank the following open source projects.
- Lightweight Java Gaming Library - The grand daddy project for Java gaming. Provides the opengl interface, as well as input processing and applet creation. Without this project, 3D gaming on Java would not be possible.
- jMonkey Engine - The 3D engine that Env3D uses for many of its advanced 3D features. Wonderful implementation of a scene graph based 3D engine and has features that can rival commerical engines.
- http://www.paulscode.com - Env3D uses the SoundSystem from paulscode. Great library, easy to work with and has lots of options.