Knights development plans

OK so Knights development has been a bit quiet recently, but today I went through Trac and planned out what I would like to do in the next few releases. The plan ended up looking something like this:

  • Version 20 (the next release):
    • Get rid of the separate “Team Duel to the Death” quest type, and instead make all games team games (as proposed in the forum a while back).
    • Add a “Quest Requirements” box on the right hand side of the screen, this will show you a “checklist” of what you have to do (e.g. “Find 4 gems” and “Return to entry point”) plus a little tick or cross next to each item. The idea being to make it a bit clearer exactly what you are supposed to be doing in each quest. (You can already get the quest requirements by pressing ESC, but it is a bit non-obvious, especially to new players.)
  • Version 21: improve “modding” support (see this thread)
    • Make mods easier to install, by simply creating a new directory in “knights_data” (instead of having to edit the existing “knights_data” files as you do at the moment).
    • Change the Knights client so that it downloads all graphics data from the server, instead of looking in the local “knights_data” directory. This means that mods could be installed on the server side only, and players would automatically see the changes without needing to update their Knights installation at all.
    • Tidy up ImpassIve_Rus’s mod for multiple wand types and support it as the first official Knights mod.
  • Version 22
    • I would like to improve the Tutorial. I think a game like Knights needs a strong tutorial, since there is a lot of stuff you can do in the game, and it can be a bit confusing for newbies. The current tutorial is OK but there is definitely room for improvement.
    • Some other minor improvements, e.g. fix some bugs when players get eliminated (which Moo has pointed out recently).

There is also the small matter of the Knights Map Editor which is currently in a somewhat neglected state. I was thinking of rewriting this in C#, as that would give me an excuse to learn C# (and therefore increase my employability) however it doesn’t look like I will be able to do that any time soon. I plan to concentrate on Knights itself for the time being.

Still not sure when I am going to get time to work on the above, but at least there is a plan in place now 🙂

Happy New Year!

Just wanted to say a big Thank You and Happy New Year to all Knights players.

Looking back, I am amazed at how far this little game has come. I first started working on the project back in 2002, although at that point, the plan was not to make an exact remake of Amiga Knights, but instead to make my own game which was “based on” the concepts of the original. However, I wasn’t having much success with that so in about 2004 I decided to change course and just do a remake of the original Knights; I figured I could always add my own new features later if I wanted.

Coding began in earnest in 2005 and the first actual release was right at the end of 2006. About two years after that, the game was complete enough that I decided to announce it on a couple of Amiga forums. At this point it was still fairly basic, with only 2 player support and no central Knights server yet, but it still generated some interest and I was soon getting emails like “why can’t I compile this game on Linux” and “why doesn’t the network support work properly” (LOL). By mid 2009 I had the central server up and running and at the end of 2009 the Multiplayer support (i.e. more than 2 knights in the dungeon) was in place. It was at this point that we discovered that Knights is actually a lot more fun in multiplayer than the original 2 player game, and we even got the original creator (Kalle Marjola) along for a few games 🙂

2010 saw somewhat slower progress — although a couple new features (including a tutorial) were added, along with lots of bug fixing. This year (2011) the most important development was the addition of the “Knights game listing” on the Server List page. With this, I feel that the final piece of the puzzle is now in place: it is now possible to actually meet other players online (something that was surprisingly difficult beforehand) and indeed we are now regularly having 4 or 5 player games every week. (Thanks to K9 for suggesting this feature!)

So, what will the new year bring? With the basic Knights gameplay now in place, and an active (albeit small) community of players, I suppose the next logical step would be to add new gameplay features: new quest types, new room designs, new monsters and items, and so on. At this point I could use some input from players: if you have any new gameplay ideas, please throw them my way 🙂

In the meantime, best wishes to everyone for the new year and may the games continue into 2012 and beyond.

Coming soon: Knights version 019

So this is just a quick update to let you all know what I’ve been working on recently.

Apart from general bug fixing I have so far added two new features to the next version of Knights. These are:

  1. Improvements to team games. I’ve fixed the glitches we found recently and disabled friendly fire for team games. I’ve also added a team chat feature (send chat messages only to your team mates) and allowed more than two teams in a game.
  2. I made a change to the dungeon generator to allow it to reflect and/or rotate the predefined dungeon rooms. This is a “cheap” way of adding a bit more variety into the generated dungeons. It effectively means there are now eight different versions of each room (for the mathematicians, this is the D8 symmetry group…) Here is an example:

A familiar gnome book room... or is it?
A familiar gnome book room... or is it?

In addition I will try to add the following if I get time:

  1. Deathmatch quest type. This has been suggested a couple of times now. Here’s my proposal for how it should work:
    • Knights will spawn at a random entry point (i.e. it’s a different point each time you respawn; knights don’t have a fixed “base” location in this game type).
    • You get one point for a kill, and lose one point for a suicide (e.g. falling down a hole or zombifying yourself).
    • There is a time limit and the player with the highest number of points when the time runs out is the winner.
  2. I also wanted to have a go at implementing Loki’s suggested ogre quest (see previous post). This means importing the ogre graphics into the game, defining how the ogre behaves and designing a room layout for the ogre’s lair.

The plan currently is to release this either later in December, or early January.

Ogre graphics

A gentleman named Loki Trickster has sent me some ogre graphics for use in Knights. I have reproduced some of them below with his permission.

walk

strike

The idea is that the ogre would be a slow-moving, but powerful, “boss” monster. He would have his own room (a bit like the guarded exit or Necronomicon rooms), probably with a lot of corpses in it, and he would attack any vampire bats or zombies that came near him. Perhaps there could be a special quest type to kill the ogre, or bring something back from his room.

Unfortunately I’m not able to add the ogre to the game right now (due to lack of time), but as I’ve said before, I’m planning to add a modding system to Knights, which will make it easy to add new monsters (and other things) to the game. I’m a bit busy at the moment but I should be able to make some progress on that in December.

Reminder: Knights game tomorrow

Also I just want to remind people that we are planning a Knights multiplayer game for tomorrow (13th November) at 7pm GMT. If you want to find out what Knights is all about, then why not log on to the server at that time, and join us for a few quests?

New Knights game listing, and regular Knights game on Sundays

Some of you may have noticed that it is difficult to find an online game of Knights, because there is often nobody online. To help solve this problem, I have set up a listing of pre-arranged games on the Server List page. The idea is that you can check the list, find a time that’s convenient to you, and then log on at that time and play. You can also vote for games (this gives an idea of how many players will show up to each game) and add your own games to the list, which other players will then be able to vote for.

We have also now set up a regular weekly game, taking place at 7pm GMT (2pm EST) on Sundays. Everybody is invited to join — just log on to the server at that time. Last week five players turned up, and we had a great time — Knights really is great fun (and quite hilarious) when there are four or five knights running around at the same time. This week I hope to get even more players, so why not join us this Sunday?

About Knights

Knights is a multiplayer dungeon bashing game. Players must explore randomly generated dungeons and compete to be the first to solve various quests. For more information please visit http://www.knightsgame.org.uk/.

Knights development plans

No doubt regular readers (if there are any left!) will have noticed that Knights development has all but stalled in the last few months. But there is some good news: I have a bit more free time now, and I should be able to spend around 1 day per week on Knights, at least, over the next few weeks.

So what are my plans for Knights?

Well, firstly I want to do a new release of Knights itself, which will fix a number of bugs and will also add a “Random Quest” button to the quest selection screen. This will completely randomize all of the quest settings, and is useful for those times when you just can’t decide what quest to play next.

Secondly, I want to release the source code for the map editor, and write up some documentation for it. (Currently there is a binary only release of the map editor, but there has never been a “proper” release with source code.)

After that, the big new feature is going to be a modding system, so that users can create their own content (dungeon layouts, new monsters, etc) for the game. The aims for the modding system are as follows:

  1. Content will be divided into “modules”. Content creators will create and upload modules. Players will download modules and install them in their Knights directory, where they will be automatically detected and loaded by the game.
  2. Modules will consist of Lua script files, plus (optionally) graphic and sound files.
  3. Modules will (ideally) be able to add any of the following to the game:
    1. New dungeon tiles.
    2. New room layouts. (Either “static” rooms previously designed in the Map Editor, or “dynamic” rooms generated by a Lua script at run time.)
    3. New items. (Either new effects for existing items — e.g. new potion/scroll effects — or completely new item types.)
    4. New monsters (possibly with new AI routines coded in Lua).
    5. New quest objectives.
    6. And so on.
  4. The module system should integrate with the Map Editor, so that (for example) you can create a module containing new tile types, and then load those tiles into the Map Editor for use in your room layouts.
  5. Modules should be able to add to the Quest Selection menu. For example you might want to add new book or wand types, or new dungeon types, or maybe even a whole new setting entirely.
  6. The Lua scripting should be kept as simple as possible, so that it is possible to create simple modules with little or no programming knowledge. (Obviously, more advanced modules might require greater programming knowledge.)

Note the above is mostly a “wish list” at the moment. I’m not promising to do all of the above. (But the nice thing is that it can be worked on incrementally; even if I only get some of the above items done, there will still be a useful product at the end of it.)

As for timings: I hope to do the new Knights release next week. After that, I can’t really say how long before the “module system” is up and running, because it is quite a big project… but I’ll keep you posted on how things are progressing 🙂

Knights moved to new server

Currently I’m paying about £12/month for VPS hosting. For this money, I get access to a Linux machine which is permanently connected to the Internet, and I can run basically whatever programs I want on it. I’ve been using this to run the Knights website and game server.

However, Knights uses relatively few resources so I thought I could save a bit of money by running the server myself, at home. So I bought one of these:

pogoplug

This is a Pogoplug. It’s marketed as a file sharing device, but can easily be modified to run Linux off of a USB stick. It’s cheap (mine was about £50 from Amazon), silent, and uses very little power (about 5W) so can be left on all the time at very little cost.

It does have only have 256 M of RAM, and a relatively slow processor (it’s an ARM chip, running at about 1 GHz I think), but this is plenty enough to run the Knights server.

The only other downside is the colour :), but since it’s shoved behind a desk in the spare room, nobody is going to notice.

Migrating everything over to the new server was a bit of a pain, but everything should be up and running again now. The Trac has moved to a new URL (http://www.knightsgame.org.uk/trac/), and you may notice a different address on the Server List page, but everything else should be the same as before.

As an aside, I have set up a Subversion repository, so you can now browse through the source code on the Trac site.

As for Knights itself: I am working on a new release (018), which should be done in about 2 weeks time (hopefully). This will mostly be a bug fix release, but will include one new feature which is a Random Quest button. I’ll post a bit more about that next week.

Working on release

Has it really been 6 months since the last release? I hadn’t realised it was that long. It seems that with real life, job, etc, getting in the way, I just don’t have as much time to work on Knights as I would like. Oh well… I do what I can…

Anyway this is just a quick note to say that I’m working on the next release. This is being slightly held up by documentation — I need to update the manual to describe the new controls, and the new settings on the options screen. (This means taking some new screenshots as well as updating the text.) This is a slightly boring job but hopefully should get it done fairly soon. Then it’s just building the code and packaging it up for release. I’m aiming to complete this by Saturday or Sunday if all goes well.

Controls finished. Yay!

Finally I’ve got the new “action bar” control system finished. I have spent quite a lot of time polishing things, fixing bugs etc., and I’ve even drawn a couple of new icons for things that didn’t have icons in the original Knights, as you can see in the screenshot below (click to enlarge).

actionbar2

Note the new skull-and-crossbones icon (for suicide; there is no separate suicide key in the new system) and also the “Throw Axe” icon. As you can see, when you mouse-over an icon, it highlights in red and a text description appears telling you what the icon does. (OK, well, you can’t actually see the mouse pointer in the screenshot, but never mind.)

One thing I haven’t done is got rid of the “approaching” system. I did do some experiments in this area but decided to leave approaching in for the moment. This is mostly for reasons of time — I want to get a release out soon and I haven’t had time to finish off the “approach-less” controls yet. I might have another go at this in a future release though.

So the next priority is to get a release out so that people can test the new controls. After that, the next major step is going to be Lua scripting — both documenting what has been done so far, and then pushing to make much more of the game scriptable, so that meaningful mods can be created.

Look out for a release soon 🙂