Knights update Oct 2015

I know things have been quiet around here lately. But recently there have been a few discussions about how to move forward with Knights development. So first of all I’d just like to make a list of some of the things that we’ve been discussing:

  1. There was talk of making a Steam version of Knights. My feeling with Steam is that you really just get one shot at it — at the initial launch, there is a lot of interest, but it dies down a lot afterwards. Therefore, it’s probably best to wait until we have a really polished version of the game (e.g. fix all the outstanding bugs) before contemplating a Steam release.
  2. There was also talk of porting to tablets (and also Mac) although I think similar comments apply.
  3. Some people complained that when a knight hits another knight from the side, the second knight is “stunned” (unable to move for a moment) which gives too big of an advantage to the first knight. To try to rectify this I made a mod that removes the stun effect, and put it on the forum. We tried this out a bit last weekend, the conclusion was that it works quite well but probably needs some more tweaking. So that one is “ongoing” πŸ™‚
  4. One of the biggest problems with the game is that certain quests just get into a “stalemate” situation at times. This can happen with Duel to the Death and sometimes with Destroy Book with Wand. Unfortunately it’s not obvious how to solve this — this is something we’ll have to think about at some point in the future.
  5. Someone emailed me to complain that the knights just “glide” along smoothly, so they look as though they are floating through the air instead of walking. This is a reasonable point… although speaking personally it doesn’t really bother me that much (I wonder if anyone else is annoyed by this?).
  6. There are a few minor bugs / improvements we could do, including:
    • Sometimes sounds are heard throughout the dungeon, instead of only in one room as they ought to be.
    • Sometimes daggers/axes fly right through people without hitting them.
    • On Windows 10 on “high DPI displays” the display is upscaled making the text look blurry. (Need to make the app “DPI aware”.)
    • The official server should appear as instead of (just to make it look slightly more official).
    • Apparently the “password protected” mode for the server doesn’t work.
    • There should be sounds played when someone connects, and perhaps when they type a chat message as well. (Of course there should be an option to disable this if people don’t want it.)
    • Skull graphics sometimes point the wrong way (because they don’t rotate correctly).
    • The “my sword broke and turned into a dagger” bug.
    • The wand of teleport mod needs to be fixed to use the proper Lua “get random square” function. (Also maybe it should be made so that it only teleports one in two, or one in three hits.)
  7. Tinari also made some suggestions:
    • Perhaps poison should kill you slowly over 10 seconds or so instead of instantly. This would give you time to look for a healing potion (or take out another knight before you go!).
    • “Permanent magic” options e.g. a game mode where you always have quickness, or are always invisible, etc.
  8. It was mentioned that players sometimes just turn up to the server, see there are no games at the moment, then go away again (and don’t come back). Perhaps we need to advertise more strongly that there is a weekly game every Saturday and you should turn up to that if you want to play.
    • This is one area where Steam and/or tablet support would be useful, because users can easily be given notifications when their friends are playing Knights…

In summary I think the best way to go forward is probably to try to squash some of the minor bugs and add the smaller improvements (like sounds to identify when a knight joins, that sort of thing). These have the advantage of being fairly easy to fix, so it should be possible to make progress without needing to sink loads of time into it.

After that, we can consider some of the more interesting issues, such as game design changes that we may want to make.

As always, feel free to comment on any of this stuff below πŸ™‚

For more information about Knights, please visit

Knights update (December 2014)

Hi everyone, I haven’t done a Knights update for a while so I thought I would just check in to let people know I am still here πŸ™‚

Unfortunately, I haven’t had much time to work on Knights recently, so there haven’t been any changes to the codebase to report.

However, I did take the time to update the Knights web page. In particular I added a couple of review quotes, which I’ll reproduce here because they are a great description of the game:

This game is fun. It isn’t at first because there’s just so much to take in, but stick with it for an hour or two and I promise you this is one of the best games ever created.

(Steven Pearson)

If any other convincing is necessary that this is one of those multi-player games to play with friends while drinking beer, then consider this: how many other Amiga games let you bash through a door with an axe in a “Here’s Johnny!” style just before you bury the axe in your opponent’s skull?

(Adrian Simpson / Amiga Point of View)

Those are better than anything I could write πŸ™‚ so I have added them to the home page. Hopefully the new page will give people a bit more of a clue of what Knights is all about, and maybe tempt them to download…

In other news, the game must be becoming a bit more popular because it has been added to two Linux distributions (that I am aware of): OpenSUSE and Rogue Class Linux. This is great news and hopefully will lead to more people trying out the game.

(If anyone knows of other Linux distributions that carry Knights, please let me know and I will add them to the website.)

As for future work… well, I don’t have any specific plans but here are some things I would like to do:

  • Bug fixes (there are always bugs that can be fixed… although I think most of the major ones have been squished by now)
  • Adding stuff to the Lua API perhaps?
  • Some day I want to make a (working) map editor for Knights… (although this is probably unrealistic at the moment, due to lack of time).

As always, if anyone has any “requests” for future Knights changes/improvements, please let me know.

In the meantime, Merry Christmas πŸ™‚

For more information about Knights, please visit

Knights update (August 2014)

I’ve decided to start doing update posts on a semi regular basis (perhaps once every 1-2 months) to let people know what is going on with Knights. Each post will include a summary of what has been done since the previous update and a brief look forward at future plans.

So without further ado…

Progress since last update

There was actually an update post back in June. So what has happened since then? Basically, there have been two releases of Knights, which have achieved the following:

  • Updated the Knights codebase so that it works with the latest version of Visual Studio. (This briefly introduced a bug with WinXP compatibility, but that is now fixed.)
  • Made some changes to daggers, and re-introduced “gate squishing”, as requested by KnightRider.
  • Other bug fixes (too many to list here).

Goals for the next couple of months

I think I’ve mentioned this before, but I want to work on improving the front page of the website: not only to make it look better, but also to highlight the features of the game a bit more and try to make it more obvious what is good about the game and why someone should download it πŸ™‚

As regards the game itself I think the next things to work on are the following:

  • Potions: KnightRider correctly points out that the original Knights had two different sorts of regeneration potions; I intend to add this to the PC version as well (it shouldn’t be too difficult).
  • Moo pointed out some issues with the Lua API, which I want to look into.
  • There is also still a backlog of bugs (thankfully, none of them serious). I want to keep chipping away at these, therefore I’m aiming to get at least one or two resolved before the next update (in 1-2 months time).

For more information about Knights please visit

Knights version 25 released

I am pleased to announce release 25 of Knights. This is a relatively minor release, the two main changes are:

  • Fixed the problem where the game would not run on Windows XP.
  • More fixes to daggers (as requested by KnightRider).

As always you can get the game from the download page.

About Knights

Knights is a multiplayer dungeon bashing game. Players must explore randomly generated dungeons and compete to solve various quests. For more information please visit

Knights version 24 released!

I am pleased to announce a new release of Knights!

Quick summary of the changes:

  • Knights standing on a gate will now get killed if the gate closes on top of them.
  • Reduced throwing speed of daggers to be consistent with the original Knights.
  • Fixed a number of bugs (see release notes for full details).

As always you can get the game from the download page which also contains full release notes.


P.S. I also updated the mods on the official server to the latest versions, this applies to the “Rat Rider” and “Toolbox” mods. Thank you to the mod authors for continuing to work on their mods!

About Knights

Knights is a multiplayer dungeon bashing game. Players must explore randomly generated dungeons and compete to solve various quests. For more information please visit

Knights update

I haven’t done a Knights update for a long time so I thought I would briefly let people know what’s been going on.

Over the last 2-3 months I have been doing the following:

  1. Moving the Knights server to a new VPS (instead of the home server we had previously). This has delivered better ping times and faster website performance for Knights players.
  2. Updating the Knights codebase so that it works with the latest Visual Studio version. I also investigated using SFML or SDL2 for graphics, but that work is on hold for now (see previous post for details).
  3. Behind the scenes, I have been writing some scripts to help auto-generate the HTML pages for the website. (Previously, I had been manually editing HTML files, which is a pain; now I can just edit “template files” and then use my script to generate the HTML and upload, which is much easier.) This should make it much easier for me to change and update the website in the future.

I have also been thinking recently about updating the game’s website. The design of the front page basically hasn’t changed since the game was first released and it is looking a bit “dated” at this point. I would like to try to improve the style/look of the page and also try to “sell” the game a bit more, highlight what’s good about the game, that sort of thing. Hopefully this will persuade more people to download it πŸ™‚

There are also some bug fixes to do (such as the “dagger bug” reported by KnightRider) which I have not forgotten about.

For those who are interested, I have written a “todo list” for Knights, which looks like this:

  1. Fix gate squishing bug (#194).
  2. Fix dagger throwing.
  3. Update the website front page.
  4. Make the official game server show up as “” instead of “” (I’ve been wanting to do this for a long time, it will require a new server config option though).
  5. Fix the Linux makefile (at the moment it doesn’t quite work right when building the knights server on Linux).
  6. I got a code warning from the new Visual Studio (about “incorrect API usage” in one part of my code), I want to investigate what is going on there.
  7. There is a bug with LAN broadcasts which I want to fix.
  8. I’m planning to write a patch for SFML and send it back to the developers (this relates to something I found while investigating SFML for Knights graphics).
  9. I also want to add a “–pidfile” option to the Knights server (this will make it slightly easier to install the server on Linux machines, it is something that came up while setting up the new server).

As you can see there are quite a few small fiddly tasks (which you always get in game development) mixed in with more interesting things like bug fixes and website updates.

As most people know by now I don’t get a great deal of time to work on Knights, but hopefully I should be able to get the first two items on the list (the bug fixes) done in roughly the next two weeks. At that point I’ll do a new release of the game (so players can have the benefit of the bug fixes) and then continue working my way down the list…

I’ll try to do blog updates more frequently as well πŸ™‚

About Knights

Knights is a multiplayer game in which players must run around randomly generated dungeons and solve various quests. For more information please visit

More graphics library stuff…

Here is a quick update on Knights development.

Unfortunately I have still been struggling with graphics libraries for what feels like ages now.

Last time I posted that I was trying out SFML and have been doing quite well with it. Unfortunately I have found what seems to be a fatal problem – SFML is completely unable to detect keypresses of the “backquote” key (that is, the key above TAB). This is important for Knights because we use that key as a chat key. Unfortunately I haven’t found any way to work around this, so it looks like we won’t be able to use SFML for Knights right now.

I also looked into SDL 2. However, I found the rendering performance to be very slow. It seems that to get decent performance out of SDL 2, you have to be making direct OpenGL calls in your code (instead of relying on the so-called “SDL_Renderer” layer). Unfortunately this would be quite a lot of work (especially since I don’t really know any OpenGL at the moment…) so this is not really feasible for me right now.

Therefore I think the plan will have to be:

  1. I will keep Knights as it always was — i.e. using DirectX on modern windows machines, and using SDL (version 1 – which uses software rendering)Β on Linux or older versions of Windows.
  2. I have made a few changes to my DirectX code — in particular I have removed the dependencies on D3DX and D3DCOMPILER. This should mean that the code will run on any modern Windows machine without any “DirectX runtime library” downloads being required. (I have also put in some simple UTF-8 text handling, but that is another story…)
  3. At some point I will get in touch with the author of SFML to see if the keyboard handling can be improved. That would eventually mean that I could switch Knights over to using SFML on all platforms. Not only would this bring hardware accelerated graphics to Linux (finally!), it would also mean that I only have one lot of graphics code to maintain instead of two, which will make things easier. This is a longer-term goal though.

Knights ADF available

I got contacted a couple of months back by someone who said “I would love to play the original Knights on my old Amiga 500 but I can only transfer ADF Files to it“.

I had no idea people still played Knights on old Amigas (anyone remember setting up the piece of cardboard to divide the screen in two? πŸ™‚ ) but I was happy to help, so I made a bootable ADF from the Aminet version of Knights and sent it to him. The ADF file is now available for download. Enjoy πŸ™‚

Note that to use this you will need either a real Amiga or an emulator. Regular users will probably want to check out the PC version available from

Investigating SFML for graphics…

So, recently I bought a new laptop. And with it being a new year and all, I thought this might be a good opportunity to get back to some Knights development (something that, sadly, I haven’t had much time for these last few months). So, I installed the latest Visual Studio onto the laptop, set up the Knights code directory, and prepared to do some coding…

… and immediately hit a problem. The game would not build. Partly this was because the Microsoft compiler now supports C++11 (the latest version of the C++ language), which caused a few incompatibilities with my code (admittedly this was mostly my fault though!). And partly it was because Microsoft have changed the way DirectX works – in particular, “D3DX” is no longer a supported technology. Unfortunately for me, I had some code that was using D3DX… which now no longer compiles. Grr. (At least on Linux, once you get your code working, it tends to stay working… πŸ™ )

Well, I could just fix my DirectX code, but I thought it would be better in the long run to bite the bullet and set up a proper cross-platform solution for graphics. (The initial reason why I added DirectX support to Knights was just as a quick way of testing out hardware-accelerated graphics on Windows; it was never meant as a permanent solution.)

So, if one is looking for a modern 2D graphics library there seem to be two choices: SDL2 and SFML. I had a look at both of these, it seems to me that they both do roughly the same thing, but they have different kinds of API – SFML tries to be more modern and object-oriented and so on, while SDL is more “old school” with low-level C-style functions and structs and things. Personally I prefer the former, so I decided to try out SFML.

I have to say, I was not disappointed – SFML was very easy to set up and integrate into the game and seems to work very well. Performance was much faster than software rendering, although admittedly slightly slower than I got from my DirectX code (not sure why this is; presumably it’s just the overhead of having an extra library in between you and the graphics card; in any event, it’s not that big a deal and I think it’s a price worth paying given how easy to work with SFML is).

I also had some small keyboard handling problems with SFML (e.g. it seems the ` key – the “team chat” key in Knights – is not recognized, but I think I can work around that).

Overall, therefore, I hope to have the SFML integration work done in the next few days, which means the next version of Knights will support fast hardware-accelerated graphics in both Windows and Linux. (As a side note, there is also a problem on some Windows machines where the Knights DirectX graphics doesn’t work if you don’t have the right DirectX runtime libraries installed… that should also be fixed by the move to SFML.)

For more information about Knights please visit