Knights Development Bloghttp://www.knightsgame.org.uk/blog
Knights news, announcements and future plansTue, 09 Dec 2014 18:24:21 +0000en-UShourly1http://wordpress.org/?v=4.1Knights update (December 2014)http://www.knightsgame.org.uk/blog/2014/12/09/knights-update-december-2014/
http://www.knightsgame.org.uk/blog/2014/12/09/knights-update-december-2014/#commentsTue, 09 Dec 2014 18:24:21 +0000http://www.knightsgame.org.uk/blog/?p=614Hi 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.

]]>http://www.knightsgame.org.uk/blog/2014/12/09/knights-update-december-2014/feed/6Knights update (August 2014)http://www.knightsgame.org.uk/blog/2014/08/21/knights-update-august-2014/
http://www.knightsgame.org.uk/blog/2014/08/21/knights-update-august-2014/#commentsThu, 21 Aug 2014 19:20:40 +0000http://www.knightsgame.org.uk/blog/?p=606I’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).

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.

Enjoy!

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 http://www.knightsgame.org.uk/.

]]>http://www.knightsgame.org.uk/blog/2014/07/04/knights-version-24-released/feed/2Knights updatehttp://www.knightsgame.org.uk/blog/2014/06/16/knights-update/
http://www.knightsgame.org.uk/blog/2014/06/16/knights-update/#commentsMon, 16 Jun 2014 17:26:16 +0000http://www.knightsgame.org.uk/blog/?p=587I 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:

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.

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).

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:

Fix gate squishing bug (#194).

Fix dagger throwing.

Update the website front page.

Make the official game server show up as “knightsgame.org.uk” instead of “vps.solarflare.org.uk” (I’ve been wanting to do this for a long time, it will require a new server config option though).

Fix the Linux makefile (at the moment it doesn’t quite work right when building the knights server on Linux).

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.

There is a bug with LAN broadcasts which I want to fix.

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).

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 http://www.knightsgame.org.uk/

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:

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.

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…)

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.

]]>http://www.knightsgame.org.uk/blog/2014/03/23/more-graphics-library-stuff/feed/2Knights ADF availablehttp://www.knightsgame.org.uk/blog/2014/03/01/knights-adf-available/
http://www.knightsgame.org.uk/blog/2014/03/01/knights-adf-available/#commentsSat, 01 Mar 2014 21:49:03 +0000http://www.knightsgame.org.uk/blog/?p=573I 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 http://www.knightsgame.org.uk/.

]]>http://www.knightsgame.org.uk/blog/2014/03/01/knights-t-shirt-now-available/feed/1Investigating SFML for graphics…http://www.knightsgame.org.uk/blog/2014/03/01/investigating-sfml-for-graphics/
http://www.knightsgame.org.uk/blog/2014/03/01/investigating-sfml-for-graphics/#commentsSat, 01 Mar 2014 19:36:50 +0000http://www.knightsgame.org.uk/blog/?p=549So, 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.)

I decided that it was about time to do another Knights release (has it really been a year since the last one?), so I have just released version 23.

This is just a small bug-fix update. The main bug that was fixed was that I finally tracked down why the server list page was sometimes showing 0 players online, even when people were online. This turned out to be an overflow problem (basically, after the game had been running a few days, a 32-bit timer would overflow and this would prevent any further updates being sent after that point).

There are also a couple of minor fixes/changes for the Linux build.

Most users won’t need to upgrade, although if you’re running your own server you should upgrade in order to get the server list fix. (I’ve already applied this to the official server.)