Search This Blog

To adblock users

Hello! If you see this, you are most likely using an ad blocker. (Or maybe you have JavaScript disabled. Or maybe my web server is down.) I have no problem with ad blockers; in fact I use one myself. If a site tries to deny me access unless I disable it, I just find a way to circumvent that. But if a site politely asks me to do so, but still allows access to the site, I disable it for the site. I am asking you to please do the same for this site. I can't make you, but I would appreciate it. Thank you! :-)

Tuesday, July 02, 2013

Perspective level editor (now released!)

Screenshot of Perspective editor
UPDATE: I have finally been given permission to share the editor! This is the same version I've been using, with all of its bugs, as unfortunately it is no longer in development. See my next post for the download link.

I recently found this game called Perspective, made by some students at DigiPen. Anyway, after completing the game, I went looking through its files to see what could be modded. I was excited to see that all the game's files (with the exception of sounds) were in standard, well-known formats (PNG for textures, OBJ for models, etc.) and all the menus were defined as HTML code. All the files were located inside a file called Default.bin, which is actually a ZIP file with a different extension. To my disappointment, however, when I went to extract the files, I saw that for some reason they had decided to put a password on the archive.

I was curious, so I sent them an email. A little under a week or so later, I got an email from Pohung Chen, the lead programmer for the game. He explained that he encrypted the files because he believed modifying the game as it is would be, in his words, "quite sloppy". He later sent me a copy of the game without the files encrypted (or even zipped), as well as an early version of the level editor. I thanked him, and asked him if it was okay to post it anywhere, and unfortunately he said no (outdated). He did, however, say that they plan on releasing it at some point in the near future. Sean Reilly, another programmer, also contacted me, and has been helping me out with the editor, which according to the About box, is still "pre-alpha".

"Pre-alpha" is a good way of describing the editor. It crashes quite often, and it's obvious it's not quite ready for release. It's still usable, however, with frequent saving. Anyway, I'll go over how the editor works, so you know what to expect once it's officially released. The screenshot above shows "The Machine", the final level in the game, opened in the editor. The left side shows a list of every level in the game, including many which were cut and are impossible to play without enabling the level select menu. (There are actually some pretty interesting levels in there. One of my favorites is called "Stairs", which took me a while to figure out.) Any level can be opened and edited by double-clicking it in the list, and once it's loaded, it expands to show every object in that level.

The panel on the right is referred to as the "editor window". The Properties tab (pictured) shows the properties of the currently-selected object. For most objects the properties do not need to be messed with, but they can be used to change the texture, for instance, and to make the object rotate. The Objects tab shows a list of every object that can be placed in a level. It is a simple tree view, similar to the one on the left, and shows all the objects in different categories. An object can be selected in the list, and then placed in the level by clicking. The Groups tab lets you save groups of objects in the level to be easily selected all at once later, and can even be used to save several objects into a single object which can be directly placed, similar to a prefab. The Rails tab lets you edit lists of fixed camera positions to be automatically moved to. This is really only used once in the game—in the third level of "Orthographic" when the camera moves to create a path to the exit. Last but not least, the Cameras tab lets you change what determines the point of view shown in the editor. The vast majority of the time you'll want this set to "Editor camera", which lets you move the camera independently of anything else. You would want to change it, however, if you're positioning something like the 3D player starting position.

Each level is built out of premade models. It's very much like building dungeons in Skyrim's Creation Kit. Of course, it's quite easy to import your own models, as it's only a matter of exporting the model to Wavefront format and creating an entry in the object list for it. Objects or groups of objects can be moved, rotated, and even scaled like in a 3D modeling program. They can also be duplicated when moving them by holding Shift. One of my favorite parts of the editor is the fact that you don't need to start the game and load the level manually to test it. There's a "play" button right there, which instantly opens that level in the game. It's even possible to test a level without saving it first (though again, it's a good idea to save frequently considering how often it crashes.) Moving objects (not just rotating) can be created by using keyframe animation in a timeline window at the bottom. Any numeric property can be animated this way; even the colors of lights.

Anyway, I'd very much like to release this editor right now, but unfortunately the developers have asked me not to. And while a buggy, crash-prone editor is better than none at all, it's not quite ready for release yet. Again, it crashes very often. I just posted this in case anyone was curious about how the editor will work once it's released. I certainly was before I found out. By the time it's released, hopefully all the bugs will be fixed!

No comments: