How and when was your first contact with QW?
When I got my first PC, my uncle introduced me to FPS games like Doom, Duke Nukem etc, and playing around with the map editors, which I enjoyed a lot. My computer really struggled with Quake, so I wasn't that into it, but I do remember swimming underneath the platforms in E1M2 and thinking "oh, this is _proper_ 3D" and being very impressed. Not impressed enough to play much at 10fps though.
I finally got a better PC and started playing more, and by luck my ISP had two techs (Jon & Gaz) that ran a quake server on-site, gibbing us poor modemmers with their LAN pings. They also had local newsgroups where others could explain how to connect, set skins etc. Eventually we formed a clan and took it from there.What other games do you enjoy?
I enjoyed Civilisation a lot, to the point I had to uninstall it, nothing else was getting done
I don't play many other computer games really. I tried to play the DOOM reboot and Quake Champions but really struggled with visibility of models vs background, so gave up pretty quickly.Will we see you at a hypothetical QHLAN2018?
about QHLAN2018?!? I'd definitely make the effort to attend this time, but probably just help out with adminning the tournaments. I didn't go to the last one as I don't play much anymore, and I thought turning up and not playing would be pretty ridiculous.Being a QW developer, what has your career been like?
Most of my studies were based in languages & compilers, and most of my commercial experience has been in databases with web interfaces. My first job was at a start-up writing an IT network-management product that just didn't sell, and the company didn't survive. Second job was writing an information system for an oil & gas company - left after seven years as the company had grown significantly and the challenges were political, not technical. I've been 'economically inactive' for two years now, working on Quake-related projects.
I got started developing Quake after playing some games at Christmas with an old clan friend, then trying to play old .dem files in ezquake and noticing the playback wasn't great, colours were incorrect etc. Dimman helped a lot (patiently explaining git to me), and that was my first contribution to an open-source project. I'm more an observer of Quake than a player, so a lot of what I do on the client is focused on demo & qtv playback.Could you give us an overview over the projects you're currently working on?
Ugh, it feels like I have lots of projects and none of them are getting finished very quickly...
Over the past year or so I've been working on badplace.eu website - this was originally meant to be a demo archive site, but I started importing tournament structure so that the demos could be presented in a meaningful format. This is still in progress, and some of the tournament data is a bit messy. It does have integration with the quake server, which is just used to keep track of /race records at the moment. The grand plan is that players can login to quake servers, play competitive games and have the result & demo uploaded, simplifying reporting and making tournaments easier to run. It also has a rather basic 'ladder' tournament for duels, which I'm hoping to expand to 2on2 & mix games.
Server-side, the new ktx is just about done, it's pretty stable at least. It has mostly been race changes (so multiple people can race at the same time, making it a bit more social and avoiding large queues) and porting frogbots across, which has been semi-successful - their movement is still very mathematical and it breaks ezquake's player prediction. I'm not happy with lots of aspects of the bots, but that project will be ongoing for a long time, so I think it's time to call it a version and be done with it.
Client-side there's a few smaller things on the go - recently I've been making changes to make videos online a bit nicer. I have a branch that reading a camera script and smoothes camera movement for movies (like jogi's camquake, but not as advanced). It's very basic at the moment (I'm editing the script by hand), it did a reasonable job for some race demos but needs finished off. I've also got a branch that outputs .mp4 instead of .avi on Windows, but I need to work out how to make it all compile on MinGW. Not sure these will find their way into a 3.1 release, which is long overdue.
The other client-related project I've been working on very slowly is a movement trainer, to teach people the mechanics behind qw movement. I've started and stopped this a few times - at one point a demo of Daan completing jqdf1 started up, and didn't advance until you followed his mouse cursor & key presses (which descended from the top of the screen as a ribbon, a bit like the notes on games like Rocksmith), but this didn't work as well as I'd hoped. So I'm going to just have a client-generated ribbon, and you can play at fractions of normal time and slowly speed up. That's the current plan anyway, I'm not sure if it will help or not. This time next year we'll all be moving like gt! (disclaimer: probably not).If anyone is eager to develop something for any of the ongoing QW projects, what would you suggest?
The biggest problem in the client (ezquake at least) is the renderer, which needs pulled into this century. It would be great to see this improved, but I feel bad even suggesting it to a new programmer as they would have to learn a reasonable amount of very old/dead OpenGL just to port it across to something useful in a new project. I'll maybe take it on eventually (nearly everyone says this) but it would be a learning experience for me in newer OpenGL, so a slow process either way.
Implementing the opus codec for VOIP as well as speex might encourage people to use this functionality more often. I'm told the audio subsystem is in a bit of a state generally but that could just be Dopeskillz and his audiophile ways.
Server-side it would be great if any AI programmers felt like working on the bots. The movement code was ported across a bit shoddily and was very NQ-like to begin with. Making them aware of space (rather than just waypoints) would open up strafe/ramp jumping etc. Changing the goal-evaluation logic to something a bit fuzzier and based on evaluating the whole game state (rather than just desire_rocket_launcher = x
would make them far less predictable. For the time they are written, it's amazing how advanced they are and how well they play, but there's a lot more we could do with them now.
If someone wanted a big project to get their teeth into, I think it would be interesting to get right into anti-lag and client-side prediction. While I do like anti-lag, I notice a lot of false positives as ping increased. There are lots of client-side cvars that aren't taken into account (/cl_nopred, /cl_predict_players, /cl_predict_half, the crouch adjustment, etc) and server-side antilag, and I wonder if we could measure the error and come up with something better. Also, to look again at using sent entities vs server-memory (better for high-pings) & antilagging doors/platforms. For playing Quake at higher pings, predicting platform positions at the client and trying to get rid of the teleport movement bug would be very beneficial. I have to look at antilag again for server-side team messages soon, but feel there's a bigger project there.What would be your magic recipe to bringing people more people into QW?
For general activity: more tournaments, and faster tournaments. An evening and it's done (the bravado trial one-day tournament), or at most over the course of a couple of weeks. I'd like to see different structures of tournaments too, so that people know if they enter they have maybe four or five games then watch/play the grand final, rather than have 2 games then wait three months for the good players to finish before their next chance.
As for getting more people to try it, most people are introduced to games via Twitch these days, so we need to make spectating the game more understandable. The majority of QuakeWorld is decision-making, but to watch it on a stream, it can just look like reflexes. A good caster makes an incredible difference, but we can't expect them to read all the team messages, and they don't have access to MM3, so I feel like the focus needs to be visual (hud elements etc). Not that we're the only FPS game to suffer from this (a certain new team mode comes to mind), but I think it would be worth investing time in.If you found a pouch of QW money containing £5,000 GBP, how would you invest it?
Oh dear, I don't know much about the money side of life. One thing we could do is put all the hosting of sites under community control - there's a difficulty at the moment with most sites being under the same umbrella but others (some vital) being hosted elsewhere. In a number of places we're very reliant on one person being around to fix things when they go wrong which is a big danger for the community, so fixing that would be worthwhile. I don't know how much money that would take though.
Or... bribe Spike to rewrite the ezquake renderer? He must have a price. All those faces he pulls when I suggest it is just him playing hard to get.If you found a pouch of QW money containing £100,000 GBP, how would you invest it?
Right, well I'm not giving Spike that much money...
Could we clear up the licensing issues surrounding the remaining game assets etc, try and encourage the GPL release of the textures/sounds? I suppose that would depend on how much money the licence holders feel they still make from these things.
The most obvious would be to commit to a series of LAN events or tournaments, but when the money runs out I don't know what would happen next, we'd have to make sure that it would boost activity and be self-sustaining in some way. I'd like to see 4v4 given a higher profile at the next QHLAN, maybe boost the prize money so that coming in the top 4 teams ensured your travel etc was paid for?
I really have no idea how much these things cost A few quick ones:Favourite player/clan?
I probably most enjoy watching LocKtar
on dm2 - I know the map isn't popular and probably next in the firing line to get dropped from the duel mappool, but I really hope it's not taken away.Best player/clan?
The best player is Milton
, he's been at the very top of every game mode for so long now, I think it's beyond question.
I'm afraid I'm too ignorant to answer best clan, I missed the golden age of 4v4 so I'm not sure. I suspect it's between TVS & Slackers, but I'll have to watch more demos.Favourite map?
Okay, so for pure nostalgic value (and because picking DM4 is a cop-out) I'll go for TITAN2 by Slayer. My clan's first game in a proper competition was a shock victory on this map, and it was a UKCL staple for a long time. From an era of 30 minute 5v5, 180pings (1 non-modemmer was maximum allowed) and the LG not being taken remotely seriously, it would be an absolute disaster nowadays but was great fun back then. You know you're on a great UK TDM map when the LG is right next to the quad.Is there some kind of programming reason behind the fact that you use double spaces after punctuation in these interview questions?
LOL. Yes, because it's correct to do so when using monospaced font :stuck_out_tongue: And I did answer in notepad.exe... but I have the habit now and do it in emails etc too. I really shouldn't.Thanks for doing this interview, and good luck with everything!
and Åke Vader
More info about meag
at the new Qwiki