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


Rich Whitehouse

February 2, 2014 at 1:00 pm (CST)
There could be any number of things happening here, so first make sure you're working with a clean install of Noesis downloaded from the Projects section of this site.

Next, you didn't mention which plugin you're attempting to install, so it should be noted that native plugins (.dll files) go in the plugins directory, while Python scripts (.py files) go in the plugins\python directory.

If you're trying to use a native plugin and Noesis isn't recognizing it, then there's probably a dependency issue. Most of the native plugins floating around do not statically link the runtime library (while Noesis itself does), so if you have a dependency issue it's likely to be due to the fact that you don't have the correct runtimes installed. You can attempt to verify this by running Dependency Walker ( and loading up the plugin DLL you're trying to use. If Dependency Walker shows any errors loading required modules, Google said modules and you'll most likely come upon the runtime/distribution package you need to install. Just don't download the DLL files directly from some random site, it's unwise and you're likely to end up just creating more dependency issues that way.


Johnny Jenk3ns

February 2, 2014 at 12:23 am (CST)
Hello there, sir.

Sorry to comment this on a wrong post, but I would like to ask about your Noesis program. When I try to install my new plugins into the Plugins folder, it seems Noesis can't detect them.

Here's the funny thing as well; I deleted the Plugins folder and... the program is somewhat reads the default plugins within the program and NOT from the Plugins folder. Can you please tell me how to fix this? I really need it.




February 1, 2014 at 8:44 pm (CST)
If I can come up with some interesting things, I'll certainly share it.

This should make things a lot better for me, since the version of Avalanche I've been using wasn't too compatible with my system. (Lots of graphical glitches).

But the recent release, v0.8, worked near perfect, so this will help a LOT.

Again, thanks, Rich.


Rich Whitehouse

February 1, 2014 at 4:40 pm (CST)
Here's a new SDK with the latest game code:

There's probably a lot of stuff that's different from the last public release. There's also some touch control nonsense, I had AVALANCHE running on my iPhone 3g as a precursor to developing Corporate Fury.

Have fun, and feel free to share whatever you come up with.



January 30, 2014 at 8:18 pm (CST)
That's understandable. I've kept quiet about toying around with the code, because honestly I'm not a professional and I've got nothing worthy to show. In fact, I'm still learning a good many things.

The game code has been a great way to learn some new tricks and understanding reading and writing code a little better. And Avalanche is a lot of fun to mod. :)


Rich Whitehouse

January 30, 2014 at 8:04 pm (CST)
I haven't updated the game source, but it's not because I wanted to close-source it, I just didn't think anyone cared. :) I'll try to find time to package the newer game code up sometime this weekend. Thanks for actually doing something with it!



January 30, 2014 at 7:29 pm (CST)
Hey, Rich.
I've dabbled in modding the Avalanche engine for little over a year, adding my own enemy types and such. I'm hoping to make my own fan game sometime.

I noticed you put up a new build this year and I was wondering if the updated source code will be released with it, sometime. Or were you planning to keep future builds closed-source?


Rich Whitehouse

January 28, 2014 at 8:05 pm (CST)
RiEvEr! It's been years! Thanks for finding me here. Do feel free to send an e-mail (iamthedick at gmail) so we can keep in touch, I think I probably lost your e-mail some accounts ago.

I left Raven quite a long time ago. Then I went to Human Head where I worked on Prey, then some time later went contract-only for a few years and worked solo on an original game for iOS. Now I'm working at Armature, we recently pushed out Batman: Arkham Origins Blackgate for 3DS and Vita. As well as a Vita port of Injustice, which I'm uncredited in, because they only brought me on at the last minute to track down and fix some outstanding issues for the day 1 patch. :) (the big one turned out to be some nasty memory corruption going on in the core Unreal Engine package loader thanks to some bad threading logic) And the thing I'm working on now hasn't been announced yet. Other than that, I've just been plugging away and working on my free stuff over the years.

Where are you and what have you been up to since last we spoke? It's really nice to hear from you again!



January 28, 2014 at 11:44 am (CST)
Hey, Rich.

What you up to for work these days? When I saw the CoD Ghosts bots I wondered if you were still at Raven and had done something for them. Can't find you on the credits though.

First decent bots I've seen in a game since Quake Wars to be honest :)

Hope you're still chasing the dream, mate.



December 10, 2013 at 12:18 am (CST)
I ended up not being lazy and making a conversion tool that suited my limited needs. Looking forward to seeing what you get up to with the JK source, I love those games.

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


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