Dec 11, 2008 4
Senior Project(s) Win! Graduation Saturday.
We had our final presentation yesterday and ended up impressing the professor. He awarded us extra credit (rare) for our effort and the success of the project. I’m incredibly happy and proud of the other guys for their commitment. It has to be one of the best team-work experiences that I’ve dealt with while I’ve been here at Kansas State. Each of us averaged 70 hours of work, ranging from design, implementation, and testing and close to 400 LOC delivered from each of us. I came in at 75 hours and 487 LOC.
Good stuff.
I still have more time to work on my next project, so this none of this is final. But I thought I’d share.
I have one more presentation on Monday which is for my game programming class. I’ll be presenting my map toolset that is based on the relatively new .NET 3.5. This project has been very interesting. While I’m not where I thought I would be (bzzt. shock), I’ve got the pipeline in and functioning on an event-driven basis. I wanted to implement a plug-in that actually adds something to the toolset, but I just don’t have the time to do something extensive. So I have plug-ins that actually show off the architecture.
A user can open a window which loads all of the discovered plug-ins into a list. From there, the user can click on the plug-in to find out a little more detail. The user can choose to activate the plug-in, which will give the user a visual indication that it’s good to go.

So, for now, this activates a plug-in for the tileset domain. You can divide your application up into different domains, so you can focus your plug-ins, and sandboxing. An event handler is set for this plug-in, and simply gets what tile was selected, and returns it. I could be doing work on the other side, and returning the work.
Another feature that I implemented is an XML validator. I’ve created an XSD (schema), and when an XML map is loaded, I check it against the schema. If it fails, I produce an error for the user so they can fix it.

And some other functionality that I have working is zooming, moving around the map (wasd, arrows), drawing tiles.

Inspiration for this editor came from several places (Thanks a lot!): XnaFantasy, XNA RPG Development, RPG Maker
Clearly, my core belief is extensibility (and to learn: xna, xsd, plug-in architecture), not just to make “another” editor. Software needs to adapt, and it shouldn’t be solely on the main developers shoulders. If I can provide a toolset that other developers can expand, that is much more powerful. It’s a challenge that I’m willing to at least try to accommodate.
But for now, I’d say I’m definitely testing the waters. A lot of this is still confusing due to the complexity of how to handle all of the elements.





