Q. Why isn't this FAQ in the traditional question-with-response format?
A. Well Stan, that's because that format is hard to write extemporaneously. Instead, it is much easier to write in the essay format, and then let the page wallow in self pity until it cleans itself up. On we go!


3dPE (a.k.a. 3dpe, threedeep, 3dPƐ) is a 3-Dimensional Plugin Engine. (Although it is also capable of running 2D games*.) At its core, it runs on Python, swapping between pyOpenGL and Pygame for display where required, and using wxPython for native UI.

The general idea is that anybody can use 3dPE to make a game, and that we can provide project hosting and management tools, such as forums, wikis, and syncing files between team members.

We haven't worked out the legals for selling a game you make with 3dPE, so please don't do that yet. The engine is currently closed-source and you are not permitted to sell games using it, but you can distribute them for free, and we will help you with that. At the moment, it's the ideal setup for fangames.

We're intending to release the engine as open source after some general cleanup, as the repository currently contains copyrighted material and swears.


Along with making games, more advanced coders should be able to make engine plugins for other people to use. These can be very expansive, for example, the 2.5D Map Editor currently being made by bonzairob for Creation Version creates 3D OpenGL overworld terrain, allows placement of 3D props on there, and 2d billboarded sprites, complete with a wxPython editor, all within the scope of 3dPE.

Plugins can be anything from RPG-style battles, full 3D overworlds, 2D tile-based MMOs, and so on. 3dPE provides the input controls and windowing, and you can do the rest.

Soo... is this a Pokemon Factory thing?

No, not quite. While we share a lot of staff with PF, we are separate projects. However, the PF game, Creation Version, will most likely be the engine's flagship game. Unless someone else feels like taking that mantle!


3dPE Overview

As you have probably come to learn, 3dPE is a community project that consists of many various components. At the base of it all, there is the 3dpe engine, along with multiple GUI frontends which include plugins for a 3d version and mapmaker (under the leadership of bonzairob), and a battle engine and 2d variant (under the guidance of jac). If we were living in a perfect world, people wishing simply to use the engine would not need to touch this level.

Directly above that, are plugins of various kinds and alterations to the engine. This allows a wide variety of game types to be built with 3dpe. Work on this layer is often (and so far, only) done in conjunction with work on the lower layer.

Now, we get to the layer that game makers are interested in: creating the assets that 3dpe uses to run a game. This includes art assets, sounds, player models, maps, and scripting and events for things like 'legendary encounters', 'early game tutorials', etc. This is the layer where the game maker takes 3dpe from just an engine, to a living breathing game. These projects can be tracked and coordinated using the projects section of the site.

Where do I fit in?

I want to make games

Currently, if you want to make games and aren't interested in learning how to code, rolling back your sleeves, and diving into the engine, then your best option is to join the forum and hang out until things develop far enough for you to start your journey into game creation. Start a project under the projects section, and stop by the IRC channel to talk with us. We are always excited to hear about other peoples' ideas and are interested in seeing what everyone else is up to!

If in particular, you want to make art assets, like pixel sprites or animations, odds are that you can get to work right now! Currently the map maker is in early beta so it may not be possible to make maps. However, if you want to make tile sprites or design your maps out ahead of time, you can plug them into the mapmaker later!

I want to help the engine

If you want to get into the nitty gritty, and perhaps add a new feature to the engine, say Final Fantasy Tactics style grid movement and battles, then please hop on IRC and get in contact with us! The source code is not currently generally available, but we are eager to meet others interested in developing the engine and help move things along.

If the core engine is exciting to you, and you have a hankering for writing general purpose utility code, pull up a seat! Currently we have just three devs (bonzairob, jac, and occasionally Solshine) but are always looking for more. As you probably know from your own projects, projects can become sort of children, that you want to protect and nurture. We don't currently feel comfortable having the source generally available, but get to know us and odds are we'll welcome you into the fold.