From Unreal Wiki, The Unreal Engine Documentation Site
Jump to navigation Jump to search

Seppuku was intended to be an IDE for developing code and content for Unreal-Technology-based games. The term 'Was' is used, mainly because it apprently no longer exists. The website is dead and Paul hasn't mentioned it anywhere for months and seemes to be carrying on with other things. Still, for the archival purposes, this is what Seppuku was all about. The principal differences between Seppuku and UnrealEd were intended to be as follows:

  1. Seppuku would be available for platforms other than Win32.
  2. Seppuku wouldd target multiple titles (Unreal, Unreal Tournament, Unreal 2, Unreal Tournament 2003, Deus Ex, Deus Ex: The Invisible War, America's Army, Raven Shield...) through a plug-in architecture.
  3. Seppuku doesn't exist; UnrealEd does. :-)

The Seppuku project had settled on the Whisper application framework for Win32 and Mac OS/Carbon, largely due to its extremely good architecture and wrapper classes for Quesa, an open-source reimplementation of the Wikipedia:QuickDraw 3D API. As of this writing, however, that decision seems questionable: Whisper remains incomplete even after (because of?) adoption by the Seppuku team and a raft of other interested developers; Quesa remains incomplete, particularly with respect to its general polygon mesh type, which had been identified as crucial to Seppuku. Finally, the Quickdraw 3D API in general is beginning to seem dated and relatively inflexible, e.g. it's not clear how it would be extended to support something as straightforward as procedural textures. By contrast, Coin3D is complete and cross-platform, including bindings for Qt, which might not be the best framework in the world, but is complete and cross-platform. Coin3D is also essentially Open Inventor, a scene-graph API with tons of documentation, example code, and extensions available for it.

Regardless of that, Seppuku still expects to build its project-file format around e4Graph, which is a very nice API for persisting directed-graph-structured data such as you deal with in a scene-graph API. It's also extremely flexible, and coupled with the plug-in architecture, should serve well in terms of customizing entities that the project will have to store and manipulate.

Of course, other critical components of the project revolve around dealing with Unreal Technology package files and compiling UnrealScript-compatible code. Much of my actual development effort to date has revolved around getting the Unreal Tournament v432 Public Headers to compile in Codewarrior Pro 8.3, and in the early stages of exploring compiling something strongly resembling UnrealScript using the aforementioned Spirit parser-generator framework. The former should be considered in the late stages of development, and the latter in the nascent stages.

Finally, the project is looking for more developers→especially any with current experience in any of the areas discussed, although general C++ and cross-platform talent would certainly be sufficient.


Foxpaw: Don't you think the name Seppuku might give people the wrong impression about your program's ease of use? :P

RegularX: Isn't a cross-platform IDE fairly prohibited by UCC being a Win32 compiler?

GRAF1K: Isn't Codewarrior a PDA implementaion of something similar to C++? :confused:

Tarquin: It's an IDE for Mac. :)

GRAF1K: There's also a PDA version, apparently. It works with the Sony CliĆ©, at least. One codes in Windows and then transfers to the PDA. Who needs a Mac? ;-) I've never actually used it, but I heard it's similar to C++.

Psnively: Codewarrior is actually a family of C/C++ IDEs; "Codewarrior Pro" for Mac and Windows run on those respective platforms but allow you to compile for both. They're professional tools that are quite popular with folks who want to develop for multiple platforms. Generally speaking, if an app from a company other than Microsoft exists for both Mac and Windows (e.g. Adobe Photoshop), it was built with Codewarrior.

Ultimately, of course, we'd want to be able to build Seppuku with any of the popular C++ development environments: Codewarrior or XCode on the Mac; Visual C++ or Bloodshed Dev C++ on Windows...

RegularX: if we intended to just call out to UCC, UCC being a Win32 compiler would indeed be a problem. So we won't do that. :-) We'll write our own compiler for a language that looks an awful lot like UnrealScript. That process has actually already begun, with some assistance from Tim Sweeney in the form of the source code to the UnrealScript compiler, for use as a reference work only. It's a huge help, obviously!

Foxpaw: the project's name reflects its level of difficulty in being done at all, not being used... well, except for the fact that there's nothing to use yet, so it's impossible to use! :-D

Tarquin: WHy do you say "a language that looks an awful lot like UnrealScript"? Is there a problem with you using the name?

Psnively: Exactly. Darned trademarks... ;-)

Tarquin: It's trademarked to the extent that you can't use the name to describe what a compiler does? Ouch!

PSnively: I know it sounds bad. But I can say that it "attempts to be 100% compatible with UnrealScript," which is honest, since it won't be based on Epic's code and therefore I can't make guarantees. Tim didn't even ask me not to tell anyone that he'd given me his source code, so the fact that I can refer to that should give people some confidence that my compiler will do the right thing. I just can't say "It's an UnrealScript compiler" because there's only one of those, and it's owned by Epic. Epic needs to be able to maintain that the UnrealScript compiler does the right thing by definition. The only way to do that is to tell folks like me that we can't call our compilers "UnrealScript compilers."

_Lynx: Foxpaw, "Seppuku" only remindes me a cool DOM map for UT2k3 - SepukkuGorge... But, though I'm not a native speaker, I think I understand your idea. =D

WheatPuppet: I know I'd want to kill myself if I tried a project nearly that ambitious. Best of luck, though. If it's a good IDE, I'd go so far as to pay to use it because... well... UnrealEd sucks and editing flat text files is pretty underwhelming.

El Muerte: Why do we need another UnrealScript compiler, I rather have a well designed language with a compile that creates UnrealScript byte code. Some parts of UnrealScript are real ugly hacks (like the function declarations).

Slim: The site's dead. Has been for a while now... That's not good, seeing as it was just an account at userland. The editthispage.com URL doesn't work directly but other sites that are subdomains of it still work... So I'm presuming Seppuku is, axed?

Slim:: Whenever I read this page I feel inclined to mention somewhere the apprent lack of updates Seppuku has had on the website. But the fact the website is now apprently dead I see no reason why i shouldn't mention this right at the top, just in case some poor sod looking for an answer to his Mac UT editing woes comes across this, reads it and get's his hopes up only to have them dashed because he can't load the website or find any more information by Paul using Google. Correct me if I'm wrong but Seppuku seems to have commited suicide.