Paul's profilePaul's spacePhotosBlogListsMore ![]() | Help |
|
Paul's spacePaul Evans - Developer & Gamer January 18 Observations of games at the weekend
So I’ve set up this Wordpress blog. I think I’m going to try and update it on the weekend… weekdays tend to be a little unpredictable as far as free time goes. Right now I should be able to take advantage of not being in crunch, so the hours I’m doing aren’t always hugely outside of core hours. My Windows Live blog doesn’t give me satisfying stats… I think I may let that go fallow. Facebook is where I update for just friends and family – this I want to try and keep for developer thoughts. Civilization RevolutionPlayed quite a bit of this weekend and last. It is a really good turn based strategy game, and I have had fun playing it. There are a ton of cool touches that have made me laugh and smile. The advisors pushing each other out of the way when you skip them before they finish. There are some funny gifts you get given now and again like dancing bears, jugglers and dancers. They have made use out of a collection mechanic by having a big museum with busts of various leaders, pivotal people you meet through the games you play, and models of the wonders that you have built over the games you have played. There is a slight curve on the user interface that I’m not sure I’m all the way through yet – and perhaps that’s why when I jacked up the difficulty again this morning and tried another scenario that I started to see the games numbers. You know how in the Matrix when Neo starts seeing the world around him as green text flying around? Well certain predictable patterns that were there in previous levels are not… and the virtual dice would seem to roll against you a little more often. Perhaps I see this because I’m a developer and know what I’m looking out for. After all artificial intelligence in games is more about creating a believable illusion of being smart, then academics actually trying to make something smart. I will go back to it no doubt, the game has unbelievable depth. If you want to get a kid interested in history this would be a game to give them to play… it actually has historical documentation, pictures and even media clips of the various resources and people that make up the game. Fable II – Knothole Island Expansion PackFable II is a great game, go buy it. ;0) Seriously, despite being part of the team and having played the game in the various states it has been in – to still be wowed and awed by it even after it stole so many unpaid hours of my life shows that the game must be good. Danni, my wife, loves the game. She loves the controls, the art, the style and humour of the game. She finds the menu a little fiddle and because she plays on my gamertag sometimes has to have the orbs and stuff switched off, but apart from that it has been a game that turned the head of a casual / Sims 2 player to a role playing game… which is saying something. The people who have complained about the lack of depth in reviews just plain didn’t go looking for it. She is loving the island so far, apart from the dexterity challenges (flit-switch squash, timed run through flames, etc). I guess the pack is probably aimed more at the hardcore – I think I could do the challenges and find them more fun then frustrating. The ones who are most likely to know how to download content, have a hard drive, etc I guess are the hardcore anyway. The extra places to visit and other content like the new potions and enemy variants are cool for all though. It should be enough to make you want to keep Fable II and not trade it in for a bit longer! Geometry Wars IStill on the original Geometry Wars… the other day something in my head clicked and I managed to push through a previous upper score boundary. That game is awesome, easy to pick up and hard to master. The whole pushing A button a bunch of times to try again is genius for an arcade game like that. Still looks beautiful today, without a doubt a modern classic. October 22 Not Friday Friday EntryLooks like I’m missed the beat again. Lots of exciting things, on Thursday 16th the Champagne flowed freely at the official launch party for Lionhead & Fable II staff only. I was on a coach that got lost, but when we got there fun was had, awards given, and Peter Molyneux gave a very emotional speech. Actors played characters wandering through the party and luckily at the end of it all my wife came and picked me up at some silly hour in the morning. I’m a very lucky guy :-) Friday was a slow day as most people either had the day off or were recovering a bit from the night before. Monday many, many reviews come out… most of them glowing and between 9/10 and 10/10. Congrats Fable II team, I am so proud to be in the credits with you guys it’s untrue! It has been a life aspiration to be credited on a successful game… and now I have been. :-) http://www.metacritic.com/games/platforms/xbox360/fable2?q=fable%20II is a good place to start, but here’s a breakdown here (from 21st October) A few more goodbyes this week, Martin (awesome engine coder), Mark (great scripter) and Neil (thank him for co-op in Fable II). Work continues a pace on the other project’s editor, gutting FablEd for bits and trying to get the new one as lean and focused as possible. Refactoring like this the interest meter can go between refactoring zen and frustrating chases down seemingly endless rabbit holes. Landlord did quarterly visit yesterday, and apparently wants to charge us for a gardener to cut the rear garden hedge to his specifications. To be honest that hedge has never been that great, so it’s a bit of a cheek. Still there might be a fully tiled bathroom on the way so best to keep things cordial. We’ll see what we can do for Friday I guess. Yesterday evening I actually got to put a retail Fable II copy in my machine. Peter said everyone could have the afternoon off to go play after we got our copies… I have things I had to do for the other team I’m still on but managed to leave a little early. Danni finally got to see what the late nights and weekend were all about. She seems impressed so far :-) October 13 Friday Entry… on a Monday… whoops… Early on the week I sat with Dave B for a little while going through his physics test bed he had made in C# to simulate hair and help him out with some flickering on the display… later on the week I revisited him and saw some of the stuff working in the Fable II test bed, all very interesting! James left on Thursday… he was one of CTG and I think the first person to buy me a pint at lunch! He will be sorely missed by the team, but I am sure will infuse some of that Lionhead magic in to the company he has gone to in his new position :-) The Fable II TV ad is fab! http://videogames.yahoo.com/events/fable-ii/fable-ii-trailer/1251513 Also I am on the telly in America (G4TV)… for like two seconds in the background, specifically on this one: http://www.g4tv.com/xplay/previews/29112/Fable_II_The_Art_Direction.html (30 seconds in) – this is the entire series of shows:
Friday I ended up staying late (by my own choice mind you) to move my stuff up to a new desk on the second floor… the pillars are blue here ;-) Created a couple of different versions of the editor that will be released sometime on Monday. October 03 The Friday EntryMonday… unexpected announcement about Fable II Live. Move along shall we? Tuesday played some Little Big Planet in the Lionhead Cafe. Before 10am messed with it with a couple of other devs – then at the end of lunch I started messing with it some more and Peter Molyneux came through and asked for the pad. So I gave it up and watched him play and we made comments about what we thought was good (art) and bad (controls) about the game and then he gave me the pad back… and I managed to get myself killed by messing up a jump that involved three blocks, a movable block and some ghosts. D’oh! There is no doubt the Little Big Planet is a work of art but everything in it a 360 could do. The poppet interface is great, though a few times people got a bit lost about what to do (flipping pages to find techniques, etc). I got frustrated with the ghost thing – a couple of times the arms seemed to get me but didn’t kill me, and other times I didn’t feel like I was close and I got killed – I think it’s that poisonous gas thing that trails behind the ghosts that was confusing. The whole having to jump to move towards / away platforms in 2.5d I think I could get used too though again not 100% intuitive. Not dragging blocks towards and away from the screen I’m guessing is a game-play decision made on purpose – not sure if I agree with it but I guess it opens up different puzzles. The emoting in Little Big Planet, along with the art, would be the thing that stands out for me. I’ve not created any levels with it, but I would wager that would be pretty fun to do. Little Big Planet makes me want a PS3… but I’m not going to buy one for just one game! ;-) Wednesday managed to make it to yoga at lunch, and get a new version of the editor together and ready to test and deploy on Thursday. Thursday released new version of editor. Microsoft Adjusts Contents & Pricing for Fable II Collector's Edition Gutted… :-(. Had a great talk with Dan D and Matt H about university, games distribution and narrative at lunch. Started to look at fog editing within FablEd but engine side had a fix. Thinking about documenting Height-fields some more. Tried out some more networking on Facebook – hope the requests work out! Friday figured out that a function call had some expectations… probably down to it’s name… that people were ignoring when calling it (despite the <summary/> block saying otherwise). Was going to fix those instances… but instead figured it would be better to just have the function live up to the expectation. One has to be pragmatic about such things ;-) New version of editor ready to release on Monday. Actually *held* a normal version of Fable II in my hands and skim read the manual at the team meeting when a few copies were being passed around today. Finally PM accepted my Facebook friend request… w00t! Oh and Kostas is now a Fable II Widows party admin – which will hopefully help with the recruitment process :-) September 28 The Friday EntryAnother week in review! This week I have been bug fixing the editor and deploying new builds. In particular improving the visualisation of the ranges of "Creature Generators"... which as the name indicates spawn creatures in to a level. More Fable II in the press this week, I hope the buzz increases... there's Forza 2 Fable II paint job, and a real NASCAR going out soon with Fable II all over it. http://www.joey-logano.org/nationwide/gamestop-fable-ii-paint-scheme.html Kev has been writing a few interesting blog entries about .Net 3.0 stuff... check it out here: http://kevmooresblog.blogspot.com/ I figured out that a bad 512meg memory bank in the Home Server I've got running was causing problems, not before I seem to have loose the ability to restore it back to how it was... because I didn't work out what the problem was until I was already in the middle of reinstalling it because I thought it was the software. Whoops. So I don't think I've lost anything terribly important, but I would like to figure out how to restore the laptop backups. I did mail the internal WHS discussion mail group but have not got any joy from them yet. Played a little 4 player Castle Crashers on Wednesday at lunch (forgot about yoga... doh) - completely different game couch co-op to single player. It's amazing how much better some games are when you play together. Thursday I was wandering around the Studio and noticed a really interesting locomotion prototype being demoed on someone's screen. It is the amazing the research and development that goes around the place... even the prototypes look futuristic and cool. I remember seeing Adams combat prototype before it was integrated in to Fable II and being blown away. The creativity that blossoms around the place is so energising and inspiring to be around! Friday I spent trying to track down the real cause to a crash bug in the editor. Sorry this Friday Entry was late... I draft it over the week but for whatever reason didn't get to publish it until today! Bad Paul, Bad! Still at least I managed to get a Lionhead Blog posted: http://community.lionhead.com/blogs/lionhead_ctg/archive/2008/09/26/3080599.aspx September 20 The Friday EntryAnother week in review! A friend is leaving Lionhead to pastures new stateside, and his party is on Saturday. During this week I have worked a little on Fable II and testing it, but most of my time has been spent on the tools and thinking about the future of the Lionhead Text System. In the news Fable II has been getting good amounts of buzz thanks to the efforts of the pr and community teams. Dev news, in .Net land Shawn Burke announced that new controls are coming, source and all, delivered in an agile way. XNA Game Studio 3.0 Beta is out and ready for those who like to be on the bleeding edge to play with. It is sad to see Neil go - he made an effort to make me feel welcome and part of the Lionhead family - which was great because when I first joined Danni was away in the States at a funeral and I was left to start the whole moving house thing. It is an excellent opportunity he's got at the new place though. That's the thing about the software industry... seems like you have to move between jobs (or at the very least departments / sites) to get on the next step of the career ladder. I am sure it was a tough decision because I would wager there is nowhere else like Lionhead in the world, even within the wings of MGS - but the move is very understandable. I am def looking forward to the party though, I'm sure it will be a blast! I don't think I should talk details about Fable II - although I am looking forward to having the opportunity to properly look at the tools bits of the LHTS when the dust settles some more. There are a number of .Net technologies I think that could be applied to an improved version that would make the whole thing more accessible and the entire process more controlled. In other news, have started looking in to throwing an unofficial launch party for Fable II for partners, friends and alumni of the project. It will be interesting to see if we (wife and I) can pull it off :-) Some Fable II links:
XNA Game Studio 3.0 Beta has been released - here's the blog advisory :-) XNA Game Studio 3.0 Beta is GO! That's right! You can download it now! We'll be asking your help to put this baby through her paces as we lead up to the official release later this year. It is your input that makes us stronger, faster and better. Download XNA Game Studio 3.0 Beta at Launch Center If you do find any bugs or just have a suggestion on ways we can make XNA Game Studio 3.0 more awesome head over to Microsoft Connect to submit them to us. In case you missed Michael's post last week here is a list of the changes: Zune
Xbox 360
Framework & Visual Studio Features
September 12 The Friday EntryThis week I have spent quite a bit of time playing the game. Fable II is lots of fun to play - the customisation of is fun on its own. Want to be a physically strong hero? Sure. Really spending your experience beyond a certain level turns you from toned to beefcake - perhaps not the look you want but it's a choice you make :-) A term I've heard bounded about in Lionhead for a function that write to memory not their own is "scribbler", which can be particularly tricky to track down. I subscribe to a few development blogs, recently Cowboy Programming posted a blog titled Debugging Memory Corruption in Game Development - if you are interested in debugging unmanaged applications, games or not... it's a good article to read. I've not had time to mess around with Silverlight myself, but I enjoy reading about it and getting familiar with it. Silverlight being a browser hosted platform that can run .Net stuff. There are some excellent Flash games out there, and I have a feeling that Silverlight games are going to become more common. Mike Snow has an awesome Silverlight blog with a game dev slant. I think Flash and Silverlight probably give some developers a playground for decent ideas. The last few evenings I've found myself making Fantastic Contraptions :-) Completely non-dev related, last night I watched a film called "The Freedom Writers" - pretty inspirational really. Based on a true story, it is about how one teacher made a huge difference on a class of kids when the rest of the school system had more or less given up - to the point of getting two other jobs and giving up her personal life... though she just oozes positive energy. Acting is really good throughout, and the extras on the dvd are interesting as the actual teacher is interviewed. Hopefully I'll get around to working on some XNA stuff over the weekend, though the house needs a good tidy before I can settle down and work on code. September 05 Importance of Style... and when to let it goThis body of this entry was written in April... but never made it out of my drafts. I'm going to try again to keep a blog entry going at least once a week. Perhaps every Friday would be good - with possible other extra entries through the week. But I think every Friday would be a good goal. Gamefest 2008 notes are up here: http://www.xnagamefest.com/presentations08.htm The tools team has shrunk down in size as people are poached to help polish other parts of the game. Right now I'm supporting the tools and working a bit on the game too. At one point I was actually in charge of the tools team... though at that point the editor team was just me ;-) Congrats to Sam who had another little girl and took some paterinity leave. He's back at work now and looking after his other baby... Concrete and the editor :-) I don't think I can blog much detail at the moment - I want to write something for the Lionhead blog but not sure what I *can* write about. Or what might be interesting to the diverse community there. So my original draft follows below - a little essay on style... Style in code is a religious thing - something that makes perfect sense to you might look like an abomination to someone else. Beauty truly is in the eye of the beholder. Lets see... Do you like your local variables:
Then of course you have the warts. Lets say for class fields:
Sometimes a standard mixes the above up to differentiate for use... so...
Thing is *you* might be used to something else. *You* might believe in something else. Well time to suck it up :-) I'm still guilty myself of lapsing against the established standard of a project sometimes, because of being used to something else... but as a developer you just want to write beautiful code, right? So lets make an analogy between a book and a code project. Changing style per book (project), well it doesn't matter very much at all. It does mean that developers moving from one project to another will accidentally (or otherwise) slip up though. Per paragraph (file), well I guess it's not so bad. Is it? Per sentence (function) changing style looks really bad. So beautiful code probably has more to do with consistency of style applied rather then the style itself. Spacing is less of an issue then naming, because of the glories of Control+K and Control+D in Visual Studio. Of course that gets rid of tab aligned variable declarations where your equals is always x amount of spaces away from your value. But who wants to maintain that anyway? If you just set up a style in Visual Studio that can automatically be derived... the auto-formatting takes care of the rest for you. This includes sticking braces on separate lines and taking out stray spaces from your parameter lists. Or perhaps putting an opening brace on the same line as the function declaration. I guess the standard I use at work is starting to come through as the standard I use by choice at home. I'm kind of glad the braces go on separate lines here myself :-) May 07 XNA announcement: XNA Game Studio 3.0 Community Technical Preview (CTP) now availableXNA Game Studio, the technology that allows you to develop C# games on the PC, 360 and utilise Live has a new update. Note how "Express" is now not affixed to the end :-) This preview release of XNA Game Studio 3.0 is now available through the XNA Creators Club Online site (http://creators.xna.com), with a final release scheduled for Christmas 2008. Please download and test out the new stuff though, feedback is important to the team! Key pointsFeatures
Limitations· Please note this current CTP does not enable Xbox 360 game development. Only Windows and Zune are supported in this CTP. If you want to build and deploy games for the Xbox 360, you must continue using XNA Game Studio 2.0 for now. · Visual Studio 2005 SKUs are not supported with XNA Game Studio 3.0 and beyond. However, you do not need to uninstall Visual Studio 2005 or XNA Game Studio 2.0, as those products will work side-by-side with Visual Studio 2008 and XNA Game Studio 3.0 CTP. About today's announcementToday the XNA Community Games Platform team has delivered the first CTP of XNA Game Studio 3.0, enabling developers to build games for Zune. XNA Game Studio 3.0 allows all game developers to create unique and imaginative games for the entire family of Zune media devices. This feature gives game developers access to the majority of the XNA framework APIs while retaining a seamless sense of integration with the Zune media experience. Using these tools, developers will have the capability to develop once for all three platforms: the Xbox 360, Windows, and Zune in the final release of XNA Game Studio 3.0. Developers can write one game and target any platform, however, cross-platform networking between all three platforms is not supported. Keeping with Zune media experience, the XNA Game Studio 3.0 CTP integration includes discoverable access to user’s non-DRM music – allowing the user to customize background soundtracks or create real-time visualizations. In addition, the XNA Community Games Platform team has announced the ability to create networked games on Zunes using the built in ad-hoc wireless capabilities. April 29 Slightly obscure .Net - What does the ?? operator do?It's all to do with something introduced in .Net 2.0 called "Nullable Value Types". I like that the shorthand declaration is like a question... I'm a bool? Well that means this bool really has three states, true, false and not set. That kind of thing is useful when dealing with databases, which can have null columns in a table. Or perhaps there is an option for the user which is either true, false, or whatever the default is. You see this pattern (although not using Nullables) in the ThreeState checkbox - where the third state is "Indeterminate" and the checkbox is shaded and unchecked while in that state. Below is a small snippet illustrating use of the ?? operator with an int? type. using System;namespace NullableNoddy{ class Program {static void Main(string[] args) {int? nullable = new int?(); //Declare. new Nullable<int>(); is equivalent. Console.WriteLine("nullable is {0}", nullable); //Not set, so nothing is output after is int test1 = nullable ?? 1; //Nullable is null (HasValue is false), so 1 is used Console.WriteLine("test1 is {0}", test1); // test1 is 1 nullable = 2; //Set value using normal intint test2 = nullable ?? 1; //Nullable is set (HasValue is true), so current value used Console.WriteLine("test2 is {0}", test2); // test2 is 2 } } } If you are interested, the MSDN has a good launch point in to deeper documentation: http://msdn2.microsoft.com/en-us/library/1t3y8s4s(VS.80).aspx |
|
||||
|
|