oh hey it's not just games.
uDraw Studio: Instant Artist, 2009, Wii:
"Pipeworks bundle v1.30 (big endian)"
interestingly, PRINCE OF PERSIA RIVAL SWORDS (2007), wii, seems to be no. Completely different internal structure.
oh, probably because they just handled porting it. Ubisoft made the PSP version.
I grabbed the wrong Zumba game for Wii (there's FIVE), but if anyone wants to try hacking Zumba Fitness Core by 2012, it shouldn't be hard: the game is scripted in unencrypted Lua files.
Wreck-It Ralph (2012, Wii) seems to be a new engine. Not Pipeworks

Godzilla: Save the Earth (2004), for PS2, uses "Pipeworks Bundle File version 1.3".

1.3! This is the earliest game I've seen using Pipeworks, and it's got a surprisingly late version number. Weird!

okay now I've got the right Zumba game. Zumba Fitness, 2010, Wii:
"Pipeworks bundle v1.20 (big endian)"
I found a reference on their 2003 homepage that their Destroy All Monsters game uses the "Spigot Engine".
I don't think that's the same engine as what I've been calling "Pipeworks".
I'm going through assorted linkedins. Looking for someone saying "I used to work at Pipeworks on the Foobar engine".
The closest I've seen is Terry Fernham, who says they were "[r]esponsible for tools and technology included in the core custom game engine on multiple platforms."
I guess I'm gonna call it Pipeworks Core for now.
oh huh! According to the 2011 version of their website, they helped develop part of the Xbox and Xbox 360 boot roms. Neato.
yeah. Nothing. Just "internal" and "custom" and "core".
Spigot. I think it's still called Spigot.
Ian Sabine's linked-in said he "Maintained and updated Spigot engine".
He's credited on Charm Girls Club: Pajama Party, Jeopardy, and Wheel of Fortune, all of which use the same engine.
for what it's worth, there's no references to Spigot in the executable that I can find, and this thing is positively lousy with debugging metadata and strings.
WHAT ANIMATIONS!?
there is a reference to something called the RockNRoll engine, but I'm pretty sure that's just the collision engine.

interesting find: the "Colossal Kaiju Combat" games licensed the Spigot engine from Pipeworks. So if they are showing some of the same files, then it's gotta be Spigot.

Time to find out. 5$ to find out

"Pipeworks bundle v1.30 (little endian)"

It's got the .pvd/.pvm files and everything.

This is 100% the same engine.

THIS IS FUCKING SPIGOT
wait
this giant monster fighting game...
uses MYSQL!?
anyway they remembered to strip the debugging info for the Kaiju game, so that's not as useful to reverse. Still, it's a nice comparison to have: it's an example of the x86 version of the same engine. Maybe I can still make use of this.
also, side note, the list of games on their wikipedia page is missing a few on their games lists, like if you hit it at 2013, you also get "Gremlins Gizmo" and "Plantsville", alongside the other ones we know about and the typo'd GeoStorm (not Geo-Storm)
they're also credited with uDraw Studio, but their own list says they made uDraw Studio AND uDraw Instant Artist.

Started building a wiki page listing all the versions and such.

https://wiki.foone.org/w/Pipeworks_Spigot_Engine

Pipeworks Spigot Engine - Foone Wiki

hey found another game missing from wikipedia!
Plantville, which they made for Siemens, is an edutainment game about factory management from 2011.
I could also go through all these games and make sure their build info is on TCRF but that's maybe too much work

here's the really fun part:
they clearly were fine with licensing out their spigot engine, given that they licensed it to that kaiju game.

How many other games did they license it to, and it just never was mentioned anywhere?

brb downloading all Wii, PS2, PS3, PSP, Xbox, Xbox 360, and Windows games.
I'm gonna need more floppy disks

So they made a few demos (for the xbox) with Microsoft prior to announcing their "first" Spigot game. I don't think those demos were ever released, they were just shown as promos for the Xbox.

It's possible that's where Spigot came from. Maybe they built the engine for that, then reused it for their Godzilla game.

if I see one more place where this code is like "(if x!=0 && x!=0xFFFFFFFF)"...

LEARN TO USE ONE SENTINEL AND STOP PRETENDING -1 IS A POINTER

interestingly their Wii game "Gremlins: Gizmo" calls itself "GForce" internally, not to be confused with G-Force for the Wii, which they didn't make and doesn't use the Spigot engine.
(yes, I had to check)
okay so you know how I said there was some debug symbols left in, in one of their games?
as far as I can tell, it's not just one of their games.
it's all of their games (at least the wii ones)
(there's a possibility this is required for how their scripting engine works, but I'm not sure yet)
oh goody.
if a for loop only does like 8 iterations, the compiler unrolls it into something that decompiles as a do-while loop with a bunch of breaks. I hate it
why does their implementation of strlwr check every character for being smaller than 256?
that... what?
this is ascii. like, actual 8-bit chars.
so I've got a TON of VTables and in theory I could convince Ghidra how they work and then use the RTTI info to fully extract the class tree, but in reality Ghidra has no idea what the types are and it's going to take longer to assign them than it would to write my own code that just spelunks the running RAM of the program, probably.
and I need to figure out some way to document this class tree that's a step below "starting a full decompilation project".
maybe I need to look into scripting, instead of pressing the "y" button over a thousand times

@foone save your sanity and use one of the plugins that lets you use Python 3 instead of 2!

https://github.com/justfoxing/ghidra_bridge
https://github.com/mandiant/Ghidrathon
https://github.com/jpleasu/ghidraal

GitHub - justfoxing/ghidra_bridge: Python 3 bridge to Ghidra's Python scripting

Python 3 bridge to Ghidra's Python scripting. Contribute to justfoxing/ghidra_bridge development by creating an account on GitHub.

GitHub
@jevinskie I'm from the past, you're lucky I'm using python and not writing this in BASIC