| Home Page | Recent Changes | Preferences

# Seppuku

Seppuku is intended to be an IDE for developing code and content for Unreal-Technology-based games. The principal differences between Seppuku and UnrealEd are intended to be as follows:

1. Seppuku will be available for platforms other than Win32.
2. Seppuku will 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 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.

- http://seppuku.editthispage.com

## Comments

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

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++?

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!

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."

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In