It Moved

Lightning being animated and rendered within Noesis. A lot of things have happened since I updated the actual web site here. I moved, got a new job, got married, and worked on a lot of things. I've worked on a couple of titles on the 3DS and Vita now too.

I've been wanting to work on a lot of projects in my personal time lately, but I can't seem to pull myself away from Noesis for more than a few weeks at a time. So that's what I've spent most of my spare time and energy on over the last year and a half. I've really been wanting to move over to working on a Jedi Knight 2/Jedi Academy codebase, though, and am hoping to finally get started on that soon.

On that note, yeah, the JK2/JA source was finally released under GPL after the effective death of LucasArts. Briefly. I couldn't believe it. There are still cool people lurking at Raven that haven't had their souls carved out. But it would seem as though some asshole(s) at some company (who knows which, given how many have their fingers in some part of the pie there) got their panties in a bundle, because the code was mysteriously pulled shortly after being put up on SourceForge. I don't know what actually transpired, but it's typical for someone in that structure of corporate suffocation to try to do something good only to have a finger or two chopped off for their effort. At least the code is out in the wild now, though, and I'm going to do something with it at some point.

Back on the topic of Noesis, it's had a lot of updates. I finally got around to making a workable material rendering system on the NoeGL side of things, which led to more material rendering features with stuff like environment maps, specialized skin and hair shaders, and a lot more random junk. It still leaves a lot to be desired, and ultimately I'd like to have a Noesis shading language that's supplied as part of the format/tool/etc. script/plugin and interpreted as needed in the native rendering module/content exporter. The amount of work for that to happen hasn't been justified yet, though, since the people writing Noesis scripts out there have barely begun to use the full functionality of the material system. chrrox finally had an excuse to use material expressions the other day, I'm pretty sure he was the first person to do it. Myself included. (although I did use it once in a native plugin)

A character from Vanquish making use of new Noesis material features.
A character from Vanquish making use of new Noesis material features.

I also added a whole set of functions and data types for various types of splines and keyframed animation. The spline stuff hasn't gotten a lot of use that I know of, although there's a tool script up on the official repository that generates giant cubic environment mapped mesh letters by evaluating a built-in spline font.

Fang, also making use of new Noesis material features.
Fang, also making use of new Noesis material features.

I've really added too much crap to Noesis to go into real detail here without spending 5 hours writing a giant badly-organized wall of text, so here's a bullet list of some of my favorite features that have been added since I last updated.
  • FF12 model and animation support. The animation ended up happening in two parts, and was finally completed very recently when I went back and figured out the rest of the channel format.
  • Keyframed animation support, as mentioned above. You can feed keyframed animations to Noesis directly, or feed them to a variety of processing/combiner functions.
  • Dozens of new material properties.
  • A new semi-maintainable fragment/vertex program pipeline. The thing that generates programs is actually a Noesis plugin itself.
  • Completely overhauled the NJCM loader, making it much more stable and capable of handling pretty much any NJCM out there. Also added support for NMDM animations.
  • Redid large parts of the GMO loader to make it suck a lot less, and moved it over to the newer RPGeo interface.
  • Added a pixel picker, enabled in the data viewer under Persistent settings->View. This is a bit of a hidden feature that no one really knows about, but it's extremely useful for looking at DXT data because it shows you the raw block data and the interpreted pixel color concurrently.
  • Exposed Python API functions for unpacking PS2 VIFcode, and decoding PSP vertex flags. Much faster than trying to do either of these commonly-necessary (for those platforms) things in actual Python, and makes scripts much more readable.
  • Support for pretty much every 3D format (models, animations, levels) used in Jedi Knight and Mysteries of the Sith.
  • As usual, support for dozens of other new game model/texture/animation/etc. formats.
The official Noesis repository also recently exceeded 150 scripts, after finale00 finally committed his rather large body of work.

I'd also really like to start a Noesis documentation project at some point. It's very desperately needed. I've spent many hours helping chrrox figure out how to do stuff in private conversations, and it would probably be a good idea to translate my many braindumps into some sort of workable documentation with example usages. Noesis has gotten large enough that fully documenting it would probably end up being something like a solid 1-2 weeks worth of man hours.

Well, I guess that covers everything I feel like talking about. I'll continue to update my Twitter account whenever I do something that I feel is worth mentioning.


38 comments in total.
Post a comment

Comment Pages:
Previous ... 1 2 3 4 [5] 6 ... Next

Post a comment


Enter the following (refresh if you can't read it):
Read image


2872716 page hits since February 11, 2009.

Site design and contents (c) 2009 Rich Whitehouse. Except those contents which happen to be images or screenshots containing shit that is (c) someone/something else entirely. That shit isn't really mine. Fair use though! FAIR USE!
All works on this web site are the result of my own personal efforts, and are not in any way supported by any given company. You alone are responsible for any damages which you may incur as a result of this web site or files related to this web site.