Game Development on a New Frontier RSS 2.0
 Thursday, April 03, 2008
I had the opportunity to escape from work today and attend Microsoft's Heroes Happen Here conference in Las Vegas.  For those unaware, it is essentially a produce release conference that Microsoft is doing all over the country through the end of June.  They are giving away free copies of Windows Server 2008, SQL Server 2008, and Visual Studio 2008, well worth the attendance even without the speaking sessions.  However, I did attend both the Data Platform (database-oriented) and Developer sessions.

My thoughts:

Data Platform session:  There was really nothing that wowed me here.  Granted, I'm a coder, but I have enough background in database management that it's not all just noise to me.  However, I thought the presentation was poorly arranged and delivered.  There seemed to be a couple of neat things (Resource Management, for one), but I didn't see many demos.  Our speaker's delivery was fairly awful; he was rather weak-voiced, wasn't very exciting to listen to, and would basically stop talking when something didn't go right, which happened often.  He appeared to be trying to run too much on his machine at once, which meant that all his demo time was sucked up trying to get the various application windows to switch back and forth.  The first two hours had a lot of dead air time that was making me think I should like to go eat a real breakfast rather than listen to him saying things like "it worked last night".  Skip this one if you have a chance.

Developer session:  Blew me away.  The speaker, Rob Bagby, was an incredible speaker, keeping the audience riveted, cracking jokes, and flying through code samples so fast it was almost difficult to follow him (almost).  He pretty much skipped over the boring marketing-type presentation slides and would go straight to the meat.  Plus, he demonstrated many different cool elements of .NET 3.5, including WPF, LINQ, extending Office applications, and web service-driven solutions.  He actually tied all of his demos into one continuous demonstration, building upon the system throughout the entire four-hour talk.  It was amazing and I learned a lot of new things, plus good reference material for replicating his process (he mentioned a screencast of the talk would be on his blog).  Despite his fast talk and fast coding, he did run out of time, provoking a mystery organizer to grab a mic and announce "This is not God, but it is 4:30".  Rob wrapped up nicely and left me excited to get home and play with my new software.

I highly encourage everyone to attend the Heroes event nearest to them, for the software, and for the Developer talk if possible.

Cheers!

Devan

Thursday, April 03, 2008 8:00:38 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
.NET
 Sunday, March 09, 2008
I’ve made an extension to the Console component sample posted on Ziggyware. It provides access to a Lua virtual machine through the console. I believe many of you budding (or experienced) XNA developers out there may find of use.
Sunday, March 09, 2008 4:52:01 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
.NET | XNA
 Saturday, March 08, 2008

A few years ago, I came across this excellent article, written by Martin Echenique and hosted on GameDev.net.  It discusses integrating Lua scripting into .NET projects by assigning custom attributes.  Using reflection, these custom attributes can be examined at run-time, allowing Lua functions to be loaded into the virtual machine dynamically.

I have taken Matin's project and modified it somewhat.  First, I added the capability to sub-class Lua packages, allowing packages to contain other packages.

Second, I have made the Lua virtual machine (VM) non-static.  This was done for two reasons.

First, I was having issues with exceptions being thrown due to reloading objects multiple times into the VM.  This is caused by trying to register any functions/packages with a name that has already been registered.  This is still an outstanding issue to be corrected in a future version, but is avoidable if you only load the functions/packages when you create the VM, then destroy the VM when you are finished with it, so it gets re-built the next time you run it.  Not the most elegant solution, but it has served my needs so far and I haven't gotten around to fixing this yet.

The second reason is that by creating separate virtual machines, you can restrict different security access in your Lua functions.  For instance, you can have a public Lua VM that is available to end users of your game/application to modify interfaces or generate batch scripts.  In addition, you could have a separate administrator VM that allows an admin to make network-wide changes to everyone's application, or to provide game masters with the ability to change change events, spawn new creatures, and fix bugged characters at run-time in your MMORPG.

These libraries are required to build the revised LuaNetInterface (LNI) project and must be locally available to any projects that use LNI.  They do not need to be referenced by any libraries other than LNI itself, but they do need to be copied into your executable's local directory.

LuaLibraries_1.0.0.zip (652.09 KB)

These libraries come from the official Lua and LuaNet releases at http://luabinaries.luaforge.net/ and http://luaforge.net/projects/luainterface, respectively.

Here is the code for the revised LuaNetInterface project.  Reference luaXX.dll and LuaInterface.dll from the previous .zip into your build.

LuaNetInterface_0.1.0.zip (11.64 KB)


Cheers!

Devan Stormont

--

[UPDATE]  The files for this project have been added to Codeplex.  They can be accessed here:  http://www.codeplex.com/luanetinterface/.  Future revisions to the project can be found there.
Saturday, March 08, 2008 6:37:17 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
.NET | General
Categories
 
 
 
 
 
 
Archive
<January 2009>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2009
Devan Stormont
Sign In
Statistics
Total Posts: 10
This Year: 0
This Month: 0
This Week: 0
Comments: 0
Themes
Pick a theme:
All Content © 2009, Devan Stormont
DasBlog theme 'Business' created by Christoph De Baene (delarou)