You just need to install wxpython.
If wxpython doesnt want to install itself in panda’s python, you will need to set pythonpath for panda python, and then install wxpython.
I think that last snapshot of panda is built with panda2.6, so thats version of wxpython that you need to download.
I installed wxpython and pointed it to the panda3d dir. I still get an error:
C:\Panda3D-1.7.0\direct\leveleditor>python LevelEditorStart.py
Known pipe types:
wglGraphicsPipe
(all display modules loaded.)
Traceback (most recent call last):
File “LevelEditorStart.py”, line 1, in
import LevelEditor
File “C:\Panda3D-1.7.0\direct\leveleditor\LevelEditor.py”, line 8, in
from LevelEditorBase import *
File “C:\Panda3D-1.7.0\direct\leveleditor\LevelEditorBase.py”, line 15, in
from ObjectMgr import *
File “C:\Panda3D-1.7.0\direct\leveleditor\ObjectMgr.py”, line 5, in
import os, time, wx
File “C:\Panda3D-1.7.0\python\lib\site-packages\wx-2.8-msw-unicode\wx_init_
.py”, line 45, in
from wx._core import *
File "C:\Panda3D-1.7.0\python\lib\site-packages\wx-2.8-msw-unicode\wx_core.py
", line 4, in
import core
ImportError: DLL load failed: %1 is not a valid Win32 application.
I’m still not seeing a download anywhere. Even if it’s a work in progress, I’m sure a lot of us would like to take a look at the code and start using it for our own projects.
Looks like nothing was added in the cvs for the last 6 weeks. I would like to know too, even if you have nothing new to showcase, if you are still working on this.
I decided to try it out, but had problems starting it. It couldn’t find the WxPandaShell module. I installed WxPython to Panda’s python copy, and it does install it’s files in there. It just seems to have no effect.
I’ve always disliked the idea of engine-generic type-specific stand-alone level editors (like the one at hand). They constrain you to a particular data model so unless you are doing a very specific genre they are useless to you. If you have a very specific terrain format or a solution for terrain paging, or you can’t have scenes in monolithic files cause you stream them seamlessly, or if a part of your scene is generated procedurally, etc, etc… then the editor is useless to you.
What I would like to see instead of an editor is a series of facilities inside panda to ease the construction of an editor tailored to your needs. Like for example:
A 3D gizmo/manipulator thingie with arrows or w/e you call that for scaling/moving/rotating. Complete with mouse collision detection on the arrows, you’d just need to attach one to a node and start manipulating away.
A way to convert a node and all the nodes below it to JSON or XML or something standard and to recreate the tree from this data later. We’ll probably be able to use COLLADA for this anyway.
A way to attach information in the form key:value to nodes.
Classes to generate light maps and stuff like that.
Maybe some specific UI widgets to show the properties (key:value) of a node, only text, nothing fancy.
And a couple of things like these, plus the incoming rocket gui integration for the UI widgets if you don’t feel like embedding. Then you could easily roll out your own useful editor, maybe even inside your game like Doom 3 does.
Yeah I think that is the way to go, having specific features inside the engine and then having a tutorial on the manual on how to roll your own editor.
It’s impossible to have a plug-in system in an editor that fix those problems, and if you really wanted achieve one you’d have to put more thought into it than into Panda itself. If you didn’t then no two plug-ins would be compatible.
There’s a reason every game has its own editor, really. Every RTS game comes with it’s own editor for example. Can you imagine an universal editor that would work for more than two RTS games? Impossible. Take a look at the software applications industry, we have professional applications for everything, modeling, drawing, ides, we even have applications for the most specific and silly tasks like texture wrapping or asset management, but where are the universal scene editors being used by big studios for any game? There are none. I know there are some scene editors suited to particular engines like ogre3d but they could only be used for incredibly boring concepts.
So that only leaves us with load-per-level 3d scenario games. But it still doesn’t work for most of them unless they are very small. For example if your game is multiplayer you are gonna want to have a BSP and visibility zones because you don’t want maphacks to be possible. This would need to be integral part of the editor and suited to your needs. Just an example, there are a million reasons you need your own formats when you have a complex game. The most important being that the loadable levels model is obsolete and now you want things to be seamless, doing a generic editor at this point is like embracing the 90’s. You now want to design game experiences around your networking infrastructure. Also scenarios need to be dynamic which means procedural content, which is incompatible with a generic editor, plug-ins or not because in order to have an editor you need to have some assumptions about some things that you may want to generate procedurally. This would be a piece of cake if instead of an editor you’d have a series of facilities to roll your own. But the other way around, generic editor with plug-ins it’s impossible, or it would have been done by now.
The only way I see it as viable would be to develop an editor hand-in-hand with basic gameplay classes, since a game’s editor and the “things” it manipulates are tied so closely together. For example create a controllable character class, a collectible item class, and so on. These classes could act as a base for people to modify to suit their own needs, or to add their own game-specific classes.
Saving out Python scripts from a level editor is not the best idea, but if it saved plain text or some other generic format (XML, YAML, etc.) it would be quite easy to use that data in either a level-load or stream-loading context.
If a functional framework of an editor was created this could allow it to be expanded to work with multiple game types. It’s pretty much like what you suggest but plus a working example of how to use it.
Of course I am only considering the object placement side of the task. Most games consist of a static “world”, and on top of that the “stuff” placed therein. Some games combine these two things into one editor, and some have separate editors for each task.