Now that we are full tilt into 2009 I’ve managed to find some spare time to work on the still badly named rQuest project.
I’m developing the map editor, which will over time evolve into the game’s complete authoring kit – With tools for dialog trees, weapon/monster database editing, import/export tools, all that fancy stuff.
I’ve started writing the application in C# with .net 3.5 and the GDI – If anyone has experience with the GDI you will know that it’s dog slow. I coded my own blit routine using unsafe pointers, and its about 10x faster than the .drawImage() routine, but its still pretty slow. Thankfully I’m only making the editor not the game with the GDI.
But its funny just how long a process it takes to get the software to ‘feel’ right. Simply creating software that works is easy by comparison – when I was testing out the map editor, it quickly occured to me that I really needed an undo. Which is a pretty non-trivial feature to add (especially for unlimited undo) Other things that we’ve come to expect in modern software also need to be implemented such as copy and paste. (Both in and out of the application.)
Another change I’m going to add is that instead of thinking in layers, which in some other RPG map editing programs cause me to get confused as to which layer I’m currently trying to edit. Each tile is going to be a stack – Left click adds a tile to the stack and Right click removes the tile from the top of the stack. Where the stack is capped at some height n. This should give appropriate visual feedback to the user as to what part of the map they can edit at any given time.
So work on rQuest continues, but at a slow and steady pace.
#1 by Erik Hogan on January 21, 2009 - 5:06 am
Sounds really cool, I’m not that familiar with C# but I’d be interested in having a nosey look at what you make regardless (Especially the dialogue trees)
#2 by Mario Donick on January 21, 2009 - 10:36 am
” it quickly occured to me that I really needed xyz”
Yeah, I know this feeling. Unfortunately, in our perpetual beta generation, it’s often the user of software who feels such needs, and this is esp. true for roguelikes. Depending on the feature, it may need a lot of time for a single developer to come to this point. Between the 1.3 and 1.4 releases of LambdaRogue, I played the game a lot, and had several variants of the feeling: “I need a key to quickly drink a potion without opening the inventory” or “I want to cast spells by pressing a single key, without selecting it first” etc. The second point led to the implementation of the MMORPG-like quickbar for spells …
#3 by Matthew on January 21, 2009 - 11:29 am
I’d add an “e” to rQuest if you are struggling with a name for now, rolls off the tongue easier “reQuest”.
Are you using Visual Studio (Express?) for c# development? I’m surprised there isn’t some well-documented way of adding copy-paste and undo in such an application, maybe there is?
#4 by Joshua Smyth (Admin) on January 21, 2009 - 2:49 pm
I think Mario has a good point – It’s good to be a consumer of your own product, that way you can add features that you feel you need as you are using it. I see why large game companies have decicated tools programmers.
I’m using the VS 2008 Professional for my C# application.
I know a couple of ways to add copy-past and undo, but they’re still alot of butt-in-seat kind of work.
The Command Pattern is often used to implement an undo in applications.