Open Source Data Access

Yahoo! News reported about Adobe Open-Sourcing Data Access Technology. Though interesting, the technology is not immediately useful, because it has many other components (Adobe’s, of course) tied to it, including the new AIR, Flex, and Flash. It should be immediately pretty, and feels more like an application, so it will be really sassy to marketeers and sales people. Perhaps we will consider if it can be useful to the project when it comes to the reporting section. However, it will means we will need a Flash/Adobe developer. Hmm…

Developers can connect to back-end distributed data and push data to Adobe Flex and Adobe AIR (Adobe Integrated Runtime) applications. The Adobe Flash Player is used on the client side.”We’ve seen more and more of our customers who are using Flex technologies are building more sophisticated applications,” said Phil Costa, Adobe director of product management for Flex and ColdFusion.

“To support the growth of that developer community, we’re releasing these low-level technologies as an open-source project so a larger community of developers can get access to them.”

BlazeDS, which stands for data services, allows developers to add connectivity to rich Internet applications for collaboration and data-push functionality. Developers also can connect rich clients to server applications, including Java and Adobe ColdFusion components, Adobe said…

BlazeDS will be offered under the Lesser GPL version 3 license in early-2008. BlazeDS and AMF are available as public betas on Adobe Labs. Using
BlazeDS requires client libraries, which are included in the Flex SDK and Flex Builder.

Adobe may in the future provide a native AJAX (Asynchronous JavaScript and XML) client to work with its newly open sourced technologies.

Adobe also plans to offer Adobe LiveCycle Data Services Community Edition, a subscription service featuring builds of BlazeDS and access to Adobe support services.

What? Even more Adobe products? Why am I not surprised?

NWN eXtender 4 (beta) for NWN2

After 6 months of waiting, NWNX4 has finally reached beta! The NWN eXtender has been an essential add-on program (plug-in) to those of us who intend to make persistent world out of NWN. Acting as a game state viewer, it allowed a peek into the game engine, and extraction of certain variables from the game engines to be stored into an external database (such as SQLlite, or MySQL). The data storage is the most basic feature of a persistent world.

Having seen NWNX in action, it helped us tremendously in implementing the logistic for Information Trails. Hopefully NWNX4 is equally helpful (if not better) in extending the functionality of NWN2.

Although I do wish the naming convention can be better than what it is right now (i.e. NWNX2 for NWN1, and NWNX4 for NWN2). This is a work of love by Papillon; and to top it all, it is free. I can’t complain, can I? :-)

NWNX4 Prototype 1.07

State: beta | Version: 4.0.0.7 (This is version 7 of the prototype.)

Now includes a GUI, demo modules, new logging option, important bugfixes, upgrade to current SQLite library, and changes to how locations are stored.

NWNX prototype 7 is now officially considered BETA.

Peter Gorniak (MIT)

Peter Gorniak, of the Massachusetts Institute of Technology (MIT), is probably the first person who used NWN as a research platform. He originally conceived it as Situated Speech Understanding (you can read his thesis proposal here) but eventually turned it into Affordance-Based Concept [ABC] (you can read his thesis here). Some of his other writing (involving NWN) can be found here (this one was about speech AI in NWN), and here. More information about “Understanding Situated Speech in Computer Games” can be found here, which has a video on how he converted NWN into a speech parserĀ - where he instructed NPC to perform certain actions by speech.

The Bioware Wednesday newsletter profiled Peter Gorniak back in 2005:

Peter: I realized that the game [Neverwinter Nights] provided a great environment in which to study some aspects of human behaviour and a large base of already active players happy to provide data. By that time, I had already poked around with NeverEdit, so I knew that at least reading all the file formats would be possible. I proposed it, and proceeded to start decoding the client-server protocol byte by byte because I need to record everything that goes on in the game. That took some time and it’s still not always perfect, but I get a pretty good transcript of the whole session.

For the next iteration of Bioware games, I really hope you build in some remote logging functionality. I asked BioWare for cooperation so that I wouldn’t have to spend all this time decoding their protocol, but sadly didn’t get a response back then. Otherwise, I use the game pretty much as is, with some restrictions enforced by in-game scripting (for example, in the study I’m currently running one player is not allowed to speak normally).

One other thing that I’ve done is implemented a way to externally drive NPCs within the game. It’s a real hack, but it works surprisingly well (and again, I’m not using this functionality in the study I’m running.) Essentially, I remotely write a database file to the NWN database directory that can be read via the DB commands in NWScript.

The to-be-controlled character has an immense script attached to its heartbeat – so big that the official toolset fails to compile it, but Torlack’s compiler running within NeverEdit on Mac OS X does just fine. It reads a set of NWScript commands from the database as text, converts their arguments into the correct types, and calls the function as specified. It can even do nested function calls and such. In combination with decoding the client/server protocol, this allows me to have a character that can see everything in the game and can be told to do anything in the game, but has its brain outside of the game.

Database-Driven Persistent World

The Database-Driven Persistent World (DDPW) Project was conceived as a response to the difficulties that were being encountered by Dungeons and Dragons (D&D) fans who either lacked the required technical knowledge or simply did not have the massive amonts of time required to create a decent Neverwinter Nights (NWN) module which would take a short 2 – 3 hours to play through. A means of creating adventures and even entire campaigns in a fraction of the time it normally takes to build them would be an ideal tool to complement NWN experience.

Although the Aurora Toolset (NWN1) is an excellent tool for module makers and allows for nearly limitless possibilities, the amount of time required to both learn and use the toolset often proves to be prohibitively taxing in both time and effort for most Dungeon Masters (DMs).

This project is intended to answer these needs and has done so in a way that does not severely compromise creativity and flexibility.