17-February-2008 It's the end of an era for this page, how sad :( Let me explain myself. I came to update my blog a couple of days ago, and realised that I was wasting my time - this page has no automatic blogging tools, it's just done by me by hand. And there are no comments, it's quite useless as a blog. Also, googlepages are nice for making a quick and good looking page, but to make a really good page you need to make it yourself. So, I have. Over at: http://martindevans.appspot.com is my new page. It's built entirely by me using css, xhtml, python, javascript etc, it has proper blogging functionality, with comments etc. Soon enough I'll be rewriting the message board into a full style forum. The site will be under heavy development for a while, so keep an eye out :) As for this site? well I don't know, I guess this is it, the last update, how sad :(
28-November-2008 Well, I admit it's beena long time, so sorry about that. Someone reminded me otherwise it would have been a lot longer, thanks you're awesome and you know who you are :) So, what've I been up to? well as I said last time the metaserver was done, and I got the servers working and responding to pings as I said I was. However networking the physics turned out to be harder than I expected, the physics I built was never designed with networking in mind (this was my first physics based game, my first networked game and my first multithreaded game). Well now I've learnt some lesson about doing all that stuff, and I can work with threads confidently now which is gonna be incredibly useful in the future. I'm taking a break from the space game at the moment, when (and hopefully it is when rather than if) I resume it I'll probably start again, reusing some old code doubtless but basically starting again, this time building in networking properly. So, what else? Well literally today I improved my old pathfinder code, it was never quite A*, it was almsot A* and I sacrificed proper A starryness (sorry, couldn't think of a better word) for many more paths per second. Well I figured out a way to make it A* without losing too much performance, I also figured out a way to basically eliminate all garbage created by a pathfind. Which means I made a small improvement in efficiency and a slightly bigger loss in efficiency with a big (ish) gain in path accuracy in some conditions. So that's cool :D Tom also suggested we make a game together, strictly following the XNA best practice guidelines, so this should be interesting. Ideological clash number one was this morning, when we discussed what kind of development cycle to take (enforced test driven development vs cowboy coding). We basically settled for cowboy coding but making very sure to rigorously unit test. We're making Asteroids if you're interested - tis funny how a little fact like what game we're making can get buried under the other technical stuff. So, uh, yeah, long post but then it's been a long time. Ooh yeah, come add me on facebook (if I actually know you, if you're just a random person reading this then email me instead)
31-October-2008 Happy Halloween everyone! And Happy Birthday to Tom (Woo! Party tomorrow). The metaserver is done and dusted now, has all the features I need, so now I'm working on the networking in the game itself. I'm using the lidgren networking library for this (it's awesome, if you're interested in developing a networked application you should really check this out). So, I have a server list built which downloads a list off the metaserver, and then pings all servers on the list to check if they're still around (if a server shuts down gracefully, it'll send a request to the metaserver to remove itself, however if it doesn't send the request the server will be listed until it's lifetime runs out 12 hours later). Next, I need a proper way to create servers, list them on the metaserver, and respond to pings from people browsing the server list which shouldn't be too hard luckily :)
29-October-2008 Literally just uploaded my metaserver to the google servers :D So, basically it does several things: 1) You can submit new servers, each server has a server name, a game name (so a single metaserver can server several indipendant games), an IP address (obviously), a tag (just a random string of data) and an ID tag. 2) you can get a list of all servers, or just servers with a specific game name, obviously the second is the most common one to want. 3) you can remove servers, but only if you know their ID key, which only gets transmitted to the host at creation time. Servers will be autoremoved after 12 hours if not removed properly. So yeah, I love google. But I hate python :P
27-October-2008 Solved that problem with ammunition, the space game is looking pretty cool now. I'm currently working on a GUI system, I've set myself a deadline of next friday at which point I'm gonna show it to my programming tutor in uni to prove just how boring programming lectures are to me (explaining advanced concepts like loop, and conditionals xD). What else? well I recently stumbled across google app engine which is awesome. I'm gonna build a metaserver for my games using it :) In the meantime, enjoy my message board: http://martinsmessageboard.appspot.com/
15-October-2008 Wow, long time, but not quite a month so I'm ok. One of my readers reminded me, so thanks to her :) Now, what's happened in the last month, well a lot of personal stuff which isn't going to find it's way onto a programming blog. Suffice it to say you can go and bug me about it on my new facebook page instead! Search for martindevans@gmail.com as ever. I've been diverted onto a couple of side projects in the last month, but I've just regained interest in my space game, which is actually looking pretty awesome :D The flight computer if finished for predicting your course, it could do with a bit of optimising but that's for later. At the moment I'm working on the Tactical Computer, this (will eventually) automatically target objects defending on the stance of the weapons bank (defence, offence etc). Now this is an incredibly complex bastard of a system, it has to classify objects according to "threat level" (a sufficiently wooly description to make my head explode) and then automatically align weapons systems onto them. It's a work in progress :P At the moment I'm just trying to get the tactical computer not to target it's own ammunition after having just fired it :/
17-September-2008 Had a day at birmingham uni today, just for local students (I count as one because I'm commuting). It was excellent, thanks go out to Dr Mark lee for organising a great day. Any day that ends up with your lecturer telling you stories about gun crime in America while you sit in a bar eating subways is... interesting ;) On to programming. The wikipedia mapper project has died, I was still interested in it but wikipedia is just too damned big, the page file system was great but obviously slightly slower than direct memory access and fetching that many webpages takes time (and bandwidth, which would probably have annoyed my ISP). So, I'm onto a game project, I've got the XNA3.0 beta which has finally been released so I'm building a space combat game. First order of the day was building a gravity simulator, now euler integrators are no good for this because in a gravity environment you're undergoing constantly changing accelerations (euler cannot even deal with constant acceleration, let alone constantly changing). I ended up building an RK4 integrator based on this most excellent tutorial. The RK4 integrator works perfectly, which is great. Next was (and still is) to build a system for steering your space ship across the vase distances of the solar system that doesn't require a degree in orbital mechanics - so i've started building a flight computer. The system shows your path over the next N seconds, you'll be able to drop engine burns onto the curve and the curve will be updated to take into account these burns - so you can steer your ship somewhat in advance by dropping burns ahead of yourself and seeing where you will end up. Not sure how weapons systems are gonna work. I'm hoping a solution presents itself when I'm building the tactical systems. 09-September-2008 Once again, I've been sidetracked - but by an even more esoteric project. There was an article in new scientist a while ago saying you could get form any wikipedia page to any other wikipedia page using only 7 links, I decided to test this. I built a webcrawler a while ago which just finds pages, parses the links out of them, and then goes to all those pages and does the same. I took that code and modified it to stay within en.wikipedia.org/wiki, and set it off. Now the problem I have is that wikipedia is 10 million pages (according to the wikipedia article about wikipedia) and I don't have enough system memory to store all the pages and their links for all 10 million, so I've just put the finishing touches to a paging system which maintains a list of N items but never any more, if more items are added to the list pages of data get saved to HDD (compressed, too reduce I/O time), all of this is totally transparent to the webcrawler but now the only limitation is time and my HDD size. I need to figure out some way of making the system quicker though, because at the moment it takes about half a second for a page to be requested and the html source be downloaded, with 10 million pages that's 57 days crawling time. I've been considering building a server application which would coordinate the actions of several webcrawlers but that would be quite hard :/
04-September-2008 Well, since I have a break from myriad I've been messing with some other random things. I've been working on a MUD for a while, however I got sidetracked reading a random article about computer vision. So I decided to give that a go So, that's the program as it is at the moment. Bottom right are four images on edge detection, with differing levels of detail. Bottom left is what I'm working on at the moment, which is motion detection - you can see from the top two images that there has been motion between this frame (top left) and the previous frame (top right), bottom left is the motion map, which has white highlights everywhere there has been motion - this isn't really the best image to show that unfortunately because it's a rather subtle effect. Still, exciting stuff to fill my time now that most of my friends have disappeared off to college :(
02-September-2008 Long time no posts, so what's been happening? Well, nothing much. Me and Tom decided not to submit myriad this year for dream-build-play, we just didn't have enough time to make a decent game - it'll be done for next year instead. In other news, google have released a browser, which is cool - the technology behind it looks fascinating.
14-August-2008 A-Level results day! I got: B - Physics B - Computing C - Maths I got a uni place, at birmingham for computer science, which is interesting since my offer was for ABB, but at some point they quietly changed it to unconditional. So that's cool :D
14-August-2008 Well I hope everyone is enjoying toast :) Party tomorrow at my house tomorrow, woo! In other, programming, news I've decided that my pathfinder can be even better - at the moment a lot of garbage handling is required, with a pool to prevent the garbage collector killing performance. I think I can totally get rid of creating new objects during the pathfind operation and thus get rid of garbage collection/pooling entirely. Exciting stuff! :P
11-August-2008 I can't believe I've never uploaded this before, but someone who reads my blog pointed it out, so here is toast! Toast is a platformer that i made in my spare time on vb6, basically you are a slice of wall jumping ninja toast, you must collect all the slices of melon in a level and then get to the exit portal all before running out of time. 03-August-2008 Well we've decided to hold myriad until the dream build play contest next year, it'll give us time to get it properly polished with all the gamemodes like single player, network multiplayer, splitscreen co-op/competative etc. Also, some stuff is happening in my personal life which isn't so good. Apparently, despite us both wanting something to happen, the fact that I'm going to uni and she has A2 next year makes it a bad idea - which personally I don't think is reason enough to call this off but there you go :P Mood status: depressed :(
23-July-2008 Well we discovered a few problems with Myriad. The threading library which almost everything is based on that Tom built is really clever, however he never tested it on the xbox - I'd kinda assumed he'd tested basic stuff like that. Anyway he's gonna be working on that to get it working on the xbox which may or may not be possible. Also, the main reason for this post. Ages and ages ago I posted about the passively multiplayer online game. Well jsut recently I started playing it again, there is a portal from the google homepage to here - so hello to everyone who followed it!
18-July-2008 Tom recently decided that we need a semi playable version of Myriad by this time next week - so we're curently starting our own temporary crunch period. This will probably be a largely AI driven crunch too :/ This all starting just as I'm showing some of the symptoms of sleep depravation. What else? Well this has been a pretty awesome week from a totally personal point of view, which means I'm not telling you ;)
10-July-2008 Number 2 Ok, the person who did that tarot for me has a website, and I said I'd link back. So here it is: http://raijintarot.googlepages.com/priceguide
10-July-2008 On a somewhat different subject to usual today :P A friend of mine has recently taken up doing tarot reading, and because we were both bored he did me a free one. Now I'm a programmer with a health chunk of statistics and science in my head - so I'm hardly convinced :P However, it was really interesting. And if you're interested my cards were:
Anyway, we talked about the meanings of those cards (you can look up the meanings iif you really want to, every one is a link to a meaning). Then he decided to do 4 more cards, so I got: And another, which fell out of the deck and you're apparently meant to sit up and pay attention to those: Now Jon decided to pull another 2 cards, because that was were the ongoing conversation lead us (we needed more occult contemplation :P ). And it's an interesting pair, sort of nicely rounds off the theme of all the other cards I go: So, there you go, if you look up the meanings of all those cards you'll probably see a common theme taking shape, and it's a theme I like - either money or love :D In you do interpret in an interesting way, feel free to give me an email and tell me how I am about to die horribly in a train crash :P
06-July-2008 Well, the game me and Tom are making is an RTS (we're both RTS fans, but this is unlike any other RTS) - also of course it's for console which is fairly rare for an RTS. So, Tom has been working on graphics - this is going to be a very pretty RTS with the graphical muscle of the xbox behind it! Now that we have a basic team together (I managed to recruit some artists, we love you guys!) and we have an art direction I'm going to get to work on the AI properly. I've started assembling a framework for the AI, and I've started on the simplest (but also the most ubiquitous) unit in the game, from an AI point it's the simplest anyway. I believe Tom will be working on a skeletal animation system, partly because I'm goingto be fiddling with incorporating pathfinding code into terrain so he can't carry on working on that for a while - yay for developing a full game project without any kind of version control other than MSN "Hey, I'm editing Terrain.cs, don't do anything to it - I'll bring an update round on USB key tomorrow" :S What else? Firefly is *awesome*, I got the complete series on disk for my birthday. Mika is also damned good, gonna buy his album tomorrow with my birthday money :)
23-June-2008 Woo, it was my 18th Birthday yesterday! and let me tell you, the iPod touch is *cool*, the only thing that could make it cooler would be if the SDK worked on PCs as well as macs ¬¬ Anyway, what have I been doing? Well me and Tom decided we need a summer holiday programming project, and becauase we both enjoy enjoy piling on the pressure we're going to make a dream build play entry! I've been making a pathfinder for it, and optimising that to silly extents - it's really quite fast now, because we're going to need to calculate a *lot* of paths, and even with the CPU muscle of the xbox it needs to be optimised :) 14-june-2008 I bet you feel lucky, 2 updates in a row! following the realtime deformable terrain I decided to have a go at something else I saw on the catalin zima sight (also using Vertex texture fetching). This time it's a particle engine, in this one everything is done on the GPU, including calculating the velocity and position of particles. This is incredibly efficient to, the sample I made had 262144 and ran at 10FPS - not bad :) Oh I almost forgot, don't forget to ask any questions or make any comments at the infinite studios forums (see the right hand column -->)
13-June-2008 I bet you all thought I'd forgotten about updating this huh? well you're wrong, I just had exams, final A2 level college exit exams which my university application depends on - quite important. Anyway, what's been going on? well it's my 18th birthday soon, so I've been desperately trying to think of things I want :/ Also, I made a bit of a space game thing which was fun, but I finished the prototype and didn't want to take it any firther than that (the prototype highlighted a few problems which would have required a total rethink). So I moved on from that... To landscapes, in 3D! yes that's right, I've finally moved on to 3D properly! woohoo! Anyway, I followed the excellent programming tutorials by riemersto build the first landscape (following the Advanced tutorial 4 for advanced landscapes), and that looked really pretty and ran well. Bu then I heard about Vertex Texture Fetching, and I thought "Hmm, couldn't I do this all in a vertex shader and have deformable terrain", well it turns out that one of my favourite XNA bloggers catalin zima got there first. So I followed some of his tutorial, to rewrite my riemers based code into a separate landscape component that uses VTF for realtime deformable landscapes :D So, now I have a separate landscape rendering component, which can be deformed in realtime, and the next thing I'll be adding is normal calculation, so that I can shadow the landscape in realtime properly. Now, all this is for a reason, me and Tom have a top secret game design that we're going to be building over the summer hols. ;) Personally I'm hoping he'll be open to the idea of submitting it to dream build play...
13-April-2008 It's been a while, snowed under by college work here :( However, I've been doing lots more XNA stuff too, started making a procedural landscape generator for a strategy game - and that was getting on well before I realised I was simply building a copy of all other strategy games. So, I abandoned that project and started making a universe generator instead, at the moment it's simulating one single solar system, with planets and asteroids, all with almost realistic gravity (not actually, I've made some modifications for ease of use and computational cost)
05-April-2008 I started implimenting an idea I had for a strategy game the other day, it's a bit of a weird idea but it seems to be quite a cool game from a quick little test I made a while ago. Anyway, I need to learn some more XNA before I can build this efficiently - so in the meantime I've started investigating procedural landscape generation :)
30-March-2008 Well not much really, been on holiday forever it seems. I've developed a random interest in writing a webcrawler in C#, which has led me to regular expressions and a whole host of interesting stuff :)
08-March-2008 I've been messing with metaballs recently, they're fun :D They're also very useful, I'm going to test out a shader with toms engine on Monday for rendering metaballs, once I have that working I'm gonna make a metaball manager then can do affects such as fire and water etc
23-February-2008 I found this little app that shows traffic to the site, it's nice to see a steady increase since I created the blog until today :D
18-January-2008 HAPPY NEW YEAR!! Ok, so I admit I need to update my blog a little more often ;) Anyway, some stuff is happening with game programming at the moment, actually quite a lot since last post. So, I've pretty much totally learnt C# and OOP and all that jazz and I've steamed on with my AI engine, in fact it's finished - and now I'm bored because I have nothing to program :/ Also, Tom has made a great XNA 2D engine, so we're going to make toast in this, and because I know C# this will be a bit more of a collaborative effort than last time, and because it's in 2D the whole thing won't fall apart half way as we try to make a 3D engine pretend to be 2D. Anyway, what else... Hmm. Ok, so we need content for toast, see Toms engine has some awesome handling for animating sprites from sprite sheets and stuff; and while this is really cool, it means some poor sod has to make all the animations for all the different toast characters, guess who.... ...actually you're wrong, not me - aha gotcha there! Actually Mark (see the right hand panel for his blog) is going to take all the toast images I made (I can do images, but animating themis just too much like hard work) and animate them for idle animations, blink animations, death animations and all that stuff. So that's cool :D
15-December-2007 Wow, the entire of November without posting, sorry guys :( anyway, what has happened?
Well, I properly learnt C#, so I'm working on an OOP AI engine, which is cool :D Also, I got Gmod, go get it now! it's awesome - spacebuild rocks! 28-October-2007 Well, it's isn't the 23rd, but nevermind ;) Anyway, the main news is that me and Tom are gonna make a strategy game! with XNA obviously :D
22nd-October-2007 I suddenly realised (at 23:29) that I haven't posted here for ages. So I'll endeavour to post a big proper update about what's going on tomorrow. When I'm not liable to collapse into unconsciousness on the keyboard. Talking of keyboard I want a Logitech G11, lovely keyboard :D
19th-September-2007 I've been thinking about what game to make after toast for a few days, and I've been wanting to make a strategy game - but I wasn't going to suggest that to Tom because strategy games are so complex! Anyway, he read my mind yesterday and said that he wanted to make a strategy game next! So, it was pencils at midnight for me last night as I startyed designing a strategy game ;)
17th-September-2007 Well, I finally remembered to update! So, I'm back off holiday now, into college work for A2 levels =D Anyway, not much to say really, just that TF2 beta hasn't opened yet :( I've been waiting since I came home from college for it to open >< Also, maelstrom sucks :(
29-August-2007 Yay, less than a month since the last update ;) Anyway, some of you may have noticed a problem with this page - it's quite short :p On the google page creator thingy it goes all the way back to my first blog post on the 17th september 2006. In reality it dosen't go down nearly as far >< Anyway, that's up to google to fix that. So, what've I been doing? Well I'm on holiday at the moment, so not much! Tom is away, and since he both knows C# better than me and he knows the engine better than me Toast work is on a go slow. However I did make a corrupt pirate toast and corrupt ninja toast image ;) Also, I bought maelstrom :D
12-August-2007 My god! one month since my last update! this is terrible :p Ok, so what's happened since then? Err, well I'm on holiday from college now, so it's programming galore before college is back; me and Tom are using our XNA graphics engine to make a platformer game called "Toast" ;) Also, we were on holiday in Devon last week. Thatwas awesome, I truly recommend Devon (in a place called AstroAdevetures) if you like astronomy - we had the most *awesome* clear skies ever.
12-July-2007 Hmm, once again I'm sorry for not posting in my blog for ages :( Nothing much has been going on recently, just a couple of interesting songs from lemon demon: Hope you like them :D
02-July-2007 Well, I'm ashamed not to have posted anything in my blog for so long; in fact to be honest the only reason I remembered to post today was because a reader reminded me (you know who you are, thanks). Anyway, what's happened since 11th June.... Well, it was my birthday on the 22nd of June, not the best birthday ever - I had college, with four hours of boring free and nothing to do; oh the fun ¬¬ What else...? Uh, not much really, some big personal stuff has been happening but it's stuff I'd rather not broadcast, so you're just gonna have to wonder ;) Oh, and I've decided that I'm going to use mine and Toms' XNA graphics engine to build a real time fluids simulator.
11-June-2007 Had those two exams, they weren't too bad. Anyway, I'm really here to talk about PMOG, an awesome concept for an MMO, it parses what you browse and then gives you XP for it etc. I think that actually the coolest thing besides turning all my web browsing into a game is that there are portals, so if I'm on a site which I want to link to another site I can make a portal which leads there - other players of the pmog can see the portal and follow it if they wish. Anyway, I'll link every time I type the letters pmog and here is my profiley thingy: |
