The Engine

3dPE is a collaborative project made by a bunch of nerds in their spare time. Updates can be sporadic.

We keep everything together using git - so handily, that lets us show non-coders how lazy we're being.

Interested in joining in? 3dPE is made with Python and OpenGL, along with Pygame and wxPython. If you know any of these, or you'd like to learn, come and talk to us!

Likewise, we're interested in anyone with knowledge of extracting ROM data from DS games, and of course, anyone interested in making a game with our unholy abomination copyright infringement baby.

plugin-architecture bonzairob @ 15:58 on 20 Oct 17
Wrote the updated 3dPE General spec document found in docs/spec. Merged in overworld25 branch's core changes, and brought ui2d up to speed.
M plugin-architecture bonzairob @ 15:40 on 20 Oct 17
Merge branch 'plugin/ui2d' into plugin-architecture
plugin-architecture Overworld2.5 bonzairob @ 20:31 on 19 Oct 17
Hooked up the add terrain button, terrain UI done for now
plugin-architecture Overworld2.5 bonzairob @ 16:23 on 19 Oct 17
Core: added a G().s(int) function that returns 's' if the integer is not 1. overworld25: Altered moving terrain so that all terrains with the Move button toggled will be moved by the same amount.
plugin-architecture Overworld2.5 bonzairob @ 20:10 on 15 Oct 17
Core: Added Alert class with a Confirm method for quick access to modals. overworld25: added Terrain.getSaveData(), used for undoing terrain deletion; added terrain loading from getSaveData() save data; added terrain deletion and undoing thereof
plugin-architecture Overworld2.5 bonzairob @ 17:29 on 15 Oct 17
Changed terrain positions to be stored pix/vox instead of cells (*16); hooked up movement controls including undo
plugin-architecture Overworld2.5 bonzairob @ 13:24 on 15 Oct 17
Hooked up terrain name changing, and added to undo; aligned round terrain so that the 0-spoke-line starts at 0 degrees to make it easier to join to square terrains
plugin-architecture Overworld2.5 bonzairob @ 22:01 on 12 Oct 17
Added the UI for viewing and selecting terrains in a map; added image assets; hooked up visibility buttons
plugin-architecture Overworld2.5 bonzairob @ 22:13 on 07 Oct 17
Merged water pool and fall into one tool - pool in y, either brush or box, and fall in box only in x or z
plugin-architecture Overworld2.5 bonzairob @ 20:39 on 07 Oct 17
Fixed drawing boxes across the zero degrees line on round terrain; more print cleanup
plugin-architecture Overworld2.5 bonzairob @ 19:09 on 07 Oct 17
Removed aborted ramp-method code; changed terrain.grid to use position hash keys instead of 3d dict; fixed some dimensional weirdness from camera look direction when creating rocks; print cleanup
plugin-architecture Overworld2.5 bonzairob @ 15:35 on 06 Oct 17
Changes to make rocks work consistently in all three planes; made gridpos shader more consistent; added listsIntersect(list_a, list_b) to globals; camera tracks if it's more horizontal or vertical
plugin-architecture Overworld2.5 bonzairob @ 15:13 on 21 Sep 17
Vertical rocks work; hodling shift when adding cells will allow you to start inside the clicked cell rather than picking the right face/side
plugin-architecture Overworld2.5 bonzairob @ 19:30 on 09 Sep 17
Fixed some mistakes that stopped undo working on the rock/ramp swap
plugin-architecture Overworld2.5 bonzairob @ 19:17 on 09 Sep 17
Added a button to covnert rocks to ramps and back again; fixed odlder bug where the tool options had to be changed before they would work
plugin-architecture Overworld2.5 bonzairob @ 20:16 on 08 Sep 17
Waterfalls join up smoothly to water pools and other placement bugs fixed
plugin-architecture Overworld2.5 bonzairob @ 16:58 on 07 Sep 17
Fixed translucent terrain cells not finalising their updates on the gfx card; added t and o shortcuts to toggle showing translucent and opaque cells
plugin-architecture Overworld2.5 bonzairob @ 17:56 on 06 Sep 17
Fixed problems with terrain translucent surfaces (e.g. nothing I did last commit worked)
plugin-architecture Overworld2.5 bonzairob @ 22:36 on 05 Sep 17
Split out the terrain shader so that translucent surfaces are drawn after opaque ones
plugin-architecture Overworld2.5 bonzairob @ 16:14 on 05 Sep 17
Additions for waterfalls, automatically picks the right model to a certain extent
plugin-architecture Overworld2.5 bonzairob @ 22:37 on 03 Sep 17
Fixed some depth buffer artefacts where terrain pieces overlapped
plugin-architecture Overworld2.5 bonzairob @ 21:57 on 03 Sep 17
Added a simple water pool terrain model
plugin-architecture Overworld2.5 bonzairob @ 19:59 on 03 Sep 17
Added ramps as another terrain thing that works very similar to rocks
plugin-architecture Overworld2.5 bonzairob @ 13:51 on 03 Sep 17
Committing work on ramps then cancelling in favour of simpler slope model types; added project/plugin list to 3dpe.py
plugin-architecture Overworld2.5 bonzairob @ 20:27 on 02 Sep 17
working on ramps and failing miserably fixed a bug with drawing vertical boxes added lirp(a, b, amount) to G() got bored and fixed some UI bugs - including casting types for shader uniforms, and the particle tester re-running on click
plugin-architecture Overworld2.5 bonzairob @ 13:55 on 04 Aug 17
Fix an undo bug with restoring cell>model>face data; hold shift to add rocks inside other rocks; started adding ramp method
plugin-architecture Overworld2.5 bonzairob @ 22:58 on 02 Aug 17
Added rock underside/overhang, more bugfixes with adding terrain
plugin-architecture Overworld2.5 bonzairob @ 17:57 on 02 Aug 17
Some code cleanup and better comments; fixed rock layering and edge model UVs; streamlined VBO management to make editing more responsive
plugin-architecture Overworld2.5 bonzairob @ 11:02 on 30 Jul 17
Change to square terrain, change Rock Layers to Rocks, try to make rock addition fix the cell below, remove some prints
plugin-architecture Overworld2.5 bonzairob @ 23:26 on 26 Jul 17
Updates and cleanup on basic terrain controls - basic terrain done for now
plugin-architecture Overworld2.5 bonzairob @ 18:51 on 22 Jul 17
Fix some bugs with/simplify adding models to cells; add an optional reporting mode to UndoStorage; removed prints from some Globals functions
plugin-architecture Overworld2.5 bonzairob @ 12:19 on 22 Jul 17
Added q/e to move the camera down/up; fixd rock layer generation; various bugfixes
plugin-architecture Overworld2.5 bonzairob @ 17:01 on 15 Jul 17
Transition complete - addition works with marking in a more voxelly way
plugin-architecture Overworld2.5 bonzairob @ 16:36 on 15 Jul 17
Transitioning terrain additions to a new system usng marking
plugin-architecture Overworld2.5 bonzairob @ 22:31 on 14 Jun 17
Editor work revamping terrain interaction - added a new cell-marking intermediate system between box/brush method and select/addremove tool
plugin/ui2d bonzairob @ 22:27 on 14 Jun 17
Update battle25 for new system, tried to get it to work with ui2d
plugin/ui2d bonzairob @ 22:27 on 14 Jun 17
Started work on TitanAnimator
Overworld2.5 plugin/ui2d bonzairob @ 19:07 on 29 Apr 17
Some changes to make tempterrain cells more efficient, breaking everything
Overworld2.5 plugin/ui2d bonzairob @ 22:13 on 20 Jan 17
Fixed box add blocks on round terrain not working in the y
Overworld2.5 plugin/ui2d bonzairob @ 22:21 on 16 Jan 17
Organised the terrain editing files a bit better; added the gridplanes on circular terrain
Overworld2.5 plugin/ui2d bonzairob @ 19:02 on 07 Jan 17
Fixed issues with where terrain was created (depends on camera position!)
Overworld2.5 plugin/ui2d bonzairob @ 21:34 on 05 Jan 17
Added a feature to InputHandler to buffer mousedown and fake a mouseup first if there were two mousedowns in a row; started on wx ui system with terrain options; added box drawing. Cell add/remove is still a bit janky
Overworld2.5 plugin/ui2d bonzairob @ 17:50 on 28 Dec 16
Added undo/redo system to the engine for editors; added undo/redo cell changes to overworld25:MapEditor; moved wx's input check to actionLastFrame, but it now seems to miss mouse-up sometimes.
Overworld2.5 plugin/ui2d bonzairob @ 19:59 on 18 Dec 16
Added the temporary shader to preview adding/removing batches of tiles. Left click add, right remove, click the other button to cancel (will be on esc soon).
Overworld2.5 plugin/ui2d bonzairob @ 20:12 on 10 Dec 16
Merge branch 'plugin-architecture' into plugin/overworld25
Overworld2.5 plugin/ui2d bonzairob @ 20:11 on 10 Dec 16
Changes from overworld25 work
Overworld2.5 plugin/ui2d bonzairob @ 20:08 on 10 Dec 16
Fixed some problems with adding and removing terrain
Overworld2.5 plugin/ui2d bonzairob @ 23:11 on 07 Dec 16
Did some documentation, updated and changed how the terrain cells are managed
Overworld2.5 plugin/ui2d bonzairob @ 16:46 on 29 Oct 16
Updated Shader.py to allow vector uniforms, and applied to Terrain.
Overworld2.5 plugin/ui2d bonzairob @ 21:16 on 25 Oct 16
Fixed a bug with terrain vert updates (forgot to sort them!); simplified some rock vert code