09 June 2008
| Map-Ed v0.0.1.16569 |
|---|
I've been hard at work trying to get a new job and working on the Map Editor of Bert, screen shot right.The thing that has proven to be tricky is that the Bert Higgins uses over 1900 blocks at 16x16 and over 1500 Sprites at 24x24 this makes for rather a large overhead in the map editor writing this as a windows forms application with the standard objects is impossible because the application slows down too much with all those objects, so I wrote a new component to view them based on this article by Marc Clifton. As a whole I'm using the work done in Nick Gravelyn's series "The Tile Engine Tutorials" as a bases for my editor, the problem with this is that the way I'm storing my map data and nick's method differ massively and he is using individual sprites for his tutorial(I'm only up to part 4), there are also other things that I'm doing differently to nick and features that were outside the bounds of his tutorials, like I want to have an auto wall feature so you select your wall tile and just draw with it the connecting sprites are inserted where two or more blocks are next to each other, and I'm using a group system to insert objects larger than a single tile, and the random select to reduce the repeating effect, I'm also trying to come up with a way to add in the auto edging for grass meets water or dirt meets concrete. All in all The Map Editor is shaping up to be far more complex than the game, but I should end up with something that can be used for far more than just Bert. Until next time... Labels: Game Dev, Home, MapEd, Screenshot, XNA |
|
posted by Dave Henry at
10:08
0 Comments
Links to this post
|
22 April 2008
| Re:XNA boss defends Xbox Live Arcade |
|---|
I read thisMicrosoft XNA general manager Chris Satchell has rejected the suggestion that Xbox Live Arcade has lost the initiative when it comes to supporting independent games.on gamesindustry.biz yesterday and thought what the hell has sony or nintendo done for the intependent developer?!? Admitadly people have been playing with the Wii controler doing home projects but I haven't seen anything about Game development on ANY of there systems, correct me if I'm wrong. Labels: Games Industry, XNA |
|
posted by Dave Henry at
06:31
0 Comments
Links to this post
|
20 April 2008
| If I planed ahead, I wouldn't get in to this sort of mess. |
|---|
This week I've been working on the engine that runs the BertWorld and found that I had got myself into a corner again. The upshot of this is I have now written out a few of the components that I use regularly, as proper GameComponents and DrawableGameComponents, in a Game Library that I can re use with little code to add the the main Game object. This includes a logger service that can be called from any component to write to a log file just give the filename when you create the object then you can call one of three methods write, writeline & flush it inherits from IDisposable so that I just need to call the dispose method in Game.dispose override method to ensure that the file buffer is emptied and closed. In other news Nick Gravelyn has setup XNA Wiki Nick had this to say about it:- My goal is for the community to no longer have pastebins, forum posts, and blogs where they have to dig around to find useful code that isn’t in published samples or tutorials. I would love to see the community have a single repository for all this useful data. I have already added my FPS drawable component in to the mix, and within 7minuets SimReality had changed it and continued to change it, after I got over my initial "YOU BASTARD!" reaction I can see that the changes he made were sensible and I have indeed Incorporated them into my FPS component, I now have to get round to updating the tutorial to reflect this. Labels: Bert Higgins Redux, Game Dev, XNA, XNA Wiki |
|
posted by Dave Henry at
14:01
0 Comments
Links to this post
|
08 April 2008
| My first XNA tutorial |
|---|
Just to let people know I've added a tutorial to the XNA section entitled "Tutorial001 - FPS Drawable Game Component" |
|
posted by Dave Henry at
18:12
0 Comments
Links to this post
|
01 April 2008
| But like the murphy's... |
|---|
| ...I'm not bitter, so there's a new Dodge in the downloads with fixes and no more full screen. |
|
posted by Dave Henry at
21:46
0 Comments
Links to this post
|
| !Warning! XNA RANT !WARNING! |
|---|
| <rant> Since I published Dodge over a week ago I've asked some friends to check it out partly to see if it works, but mostly because like everyone who writes games in XNA I wanted to hear someone say "that was fun." To get people to try it out I put up a zip file with the .EXE and the graphics and sound files so you just unzip it to a temp directory and run the program simple :-) I told a bloke in work that I had finished a game and even after I told him how simple it was and that it was my first and generally played it down as much as I could he still asked where he could get it, I was happy. I told him you can download it from my website he nodded I told him you just need DirectX9c, .NET 2.0 and to install the XNA framework and your good to go and he said "I've lost all interest already...why do I have to download all that?" and I couldn't answer him. Later I got an email from a very good friend saying that he would try out dodge I was over the moon because when I showed him the original he said "it's simple but strangely addictive..." so I was looking forward to hear what he thought of the new one, he replied today and I just wanted to kick him in the nuts, all he could say was... I've tried it out and it works well (apart from one glitch). When you get to final release versions of software is there anyway you can include all the.net stuff etc. in the installer? You can't really expect people to check down a list of support software to see what they need to install....Now if I could write all my software in assembler so that it didn't need anything else to support them I would but I can't so I'm not going to try. XNA still seems to be in the realms of “developer only” stuff, not that it's got bugs in it, but that Microsoft think that only people writing software for XNA will want to see anything written in XNA. Because the people developing in XNA already have everything they need to run XNA there's no need for the redistributable to actually check that your computer has everything it needs to run. If I want someone that is not a developer to run what I have written then it's up to me to build an installer that will do Microsoft’s job for them or I could pay someone for an install packager to make it for me. This in not something that has been upsetting every developer that works with XNA since day one rather every developer has been happy to only show there work to people that have an interest in XNA and don't say "well I can't be bothered to download the support files it's your job to figure out that I don't have them and install them for me" quickly followed with "I hate it when installers put loads of crap on my system that I don't want..." If I really wanted non tech people to download my stuff I would make an installer that would also wipe there bums for them and install Google Bar, Yahoo Bar & a selection of spyware on their systems but as I have only asked people that apparently know what they are doing I don't think I need more than I have done. I know there is the .ccGame thing but you have to have XNA working on your system before you can do that. Microsoft very Kindly tell us exactly which DLL's are required from DX9c for XNA to work and even tell us the Guid's for the different versions of XNA but I just want XNA to be supported in the one click publish feature of Visual studio 2005 or even 2008. I'm not working with XNA because I want to learn how to make installer packages, I want to write Games that other people can play. I can deal with the fact that I need to pay to get it working on an Xbox360 but there needs to be more of an incentive to write for a platform where I know people will download games for a quick play around. If anyone knows of an install packager that will do this that I don't have to spend a week figuring out how to make a distributable copy of my game then let me know, I know you won't but I can ask. </rant> |
|
posted by Dave Henry at
14:42
1 Comments
Links to this post
|
30 March 2008
| Dodge v1.01 |
|---|
Added a new version of Dodge Changes for this release:-
Labels: Dodge, Game Dev, Screenshot, XNA |
|
posted by Dave Henry at
03:27
0 Comments
Links to this post
|
22 March 2008
| I've got something to show you... |
|---|
Last night Pyro, Rae, Webber, Manda, Wife & I all went to town for the second meeting for the society of "People that don't hit Dave when he says something stupid". last nights events were food followed by comedy. We all seemed to enjoy Mr Lee Evans trying out some new stuff which was an education. I also made mention of a little something I had written this week to Webber and made the mistake of saying I'd upload it today. The little something is a game I first wrote back in '92 in pascal for DOS, it's a simple game called Dodge and the idea is that your this little pink dude who has to avoid getting trampled by the other things in the level by getting them to walk over the mines. As an alpha I know there is loads to fix but the meat of the game is here. I think I needed to get this out as quick as I could because I was starting to lose heart with writing and having nothing to show for it. And here are some screen shots for you. Labels: Dodge, Game Dev, Screenshot, XNA |
|
posted by Dave Henry at
23:56
0 Comments
Links to this post
|
27 January 2008
| WideScreen Joy! |
|---|
| It's been pointed out to me one more than one occasion that I am a little on the slow side, So imagine my joy when I spotted that Bert was designed to be wide screen. Stay with me here wide screen is just a non square aspect ratio view, more accurately width longer than height. The screen output for Bert was 320x200 and that gives us 320/200=1.6, so if I keep this aspect ration I can have Bert in it's original layout and the XNA framework already has a simple scaling system built-in. At the moment I'm working in 640x400 but with the code I just added I can restrict the screen res to wide screen only and there is no extra code to scale the output to compensate. Labels: Bert Higgins Redux, Game Dev, XNA |
|
posted by Dave Henry at
15:49
0 Comments
Links to this post
|
22 January 2008
| I was so embarised I just had to do something.... |
|---|
| Wife and I spent a rather pleasant evening with Pyro & Rae last Friday, and I got a chance not only to play with his new XPS system but also to try running Bert on it I was mind full of the fact that from an external point of view it looks like I have done more than nothing but most of the work up to now has been code conversion. Anyway we started by running the Prerequisites Installer I mentioned in my last post, it said that Pyro was good to go, run Bert, CRASH! Not good, so we installed the XNA 2.0 Redistributable and then ran Bert again, CRASH! Still not good, so I asked if he had DX9 installed on his new system(Vista Pre-installed) "No, I have DX10" he said proudly, so I installed DX9c ran Bert and it worked!, Sweet :-) Unfortunately this screenshot pretty much sums up what he saw in it's entirety... When both Rae and Wife looked they giggled, the woman sign for "is THAT it?" they may as well have just pointed and laughed. To say I was a little hurt is an understatement so the very next day I added... The Main Menu, which now means I can get to the Main Level Via... The Briefing Screen, it sits there waiting for the player to press Space Bar, which now loads... The main Level. Or if you select the pacifier to get to the... Tutorial Lobby.I feel better now :-) Labels: Bert Higgins Redux, Game Dev, Screenshot, XNA |
|
posted by Dave Henry at
18:53
0 Comments
Links to this post
|
16 January 2008
| "What do I need to play XNA Games?" |
|---|
| I keep forgetting to post this... A very nice chap known as William Li has written a little utility to detect and install the requirements of XNA, download Requirements Checker/Installer and run it. I've run it in Vista and it worked, well it said I had everything I needed, and it correctly identified my graphics card as an ATI-X1950 Pro with Pixel Shader 3.0, It runs as an installer Extracting the exe then running it, I'm almost certain it then deletes the exe when you exit so no mess. |
|
posted by Dave Henry at
20:41
0 Comments
Links to this post
|
13 January 2008
| Delegates and Events in C# / .NET |
|---|
| I have been spending a little time working on the process method and filling in the methods it calls, converting the code is getting easier the more I do it the hard part was remembering what the statment syntax was doing and converting it to an equivilent C# one, like if (bob){} where bob is an int can't be done you get a "can't convert int to bool error it it becoomes if(bob>0){} and if(!bob){} becomes if(bob==0){} simple stuff but there's allot if it. Also I have figured out how I'm doing the sound stuff, I have created a new class as part of the SystemX namespace called SoundEventArgs then added an event using the standard Event Handler type :- public event EventHandler<SoundEventArgs> RaisePlaySoundEvent; In the SamplePlay(int p) method I create an instance of SoundEventArgs and set its cueName to the name of a sample I want to play and create a temporary copy of the event, check that there is a subscriber and finally call the event:- EventHandler<SoundEventArgs> handler = RaisePlaySoundEvent; if (handler != null) handler(this, e); Then in the main GameplayScreens constructor just after I create the new instance of the BertGame class and subscribe to the published Event:- GameData = new BertGame(); GameData.RaisePlaySoundEvent += CueSound; The CueSound method simply Plays the the requested wave file:- void CueSound(object Sender, SoundEventArgs e) { BertSoundBank.PlayCue(e.CueName); } Now when a process call uses the SamplePlay method an event is fired and the main engine handles the playing of the sample, simple as. The next biggie I'm going to have to look at is how best to implement the in-game menu that will let the player do things with objects in the game mainly because I have a nasty suspicion that this will make me reevaluate the current menu setup :-( And another thing I know I've still got alot to put into the update method of Bert but it's running too fast if it keeps this up I'll be adding a sleep statment. Labels: Bert Higgins Redux, Game Dev, XNA |
|
posted by Dave Henry at
12:43
0 Comments
Links to this post
|
02 January 2008
| HAPPY NEW YEAR! |
|---|
| Hope you got everything you wanted for Xmas, I got a load of stuff done on Bert, I'm now looking at the FX-processer and that leads to a load of data structures that haven't been added as yet. There are one or two complications with the way that I have restructured the game loop to fit XNA better in that all the Graphic and Sound functions are no longer in the FX-processer so I'm now reading up on event handlers and the XNA component model to help fix a few problems like how I can trigger the briefing screens and sound-FX. The Map-Editor is on hold for a bit until I need another break from the FX-processer because I need to work out how to do text input in XNA, my current solution is a little flaky. I bought a few games and a new printer on new years eve, though I haven't played them much, Halo2 is showing it's age and Kayne & Lynch - Dead Men is cool. Still trying to work out how to set up my Windoze Live account so it records my in game stuff. And WHY is there noway to specify that I don't want to use my 360 controller in "Games for Windoze"?!? Labels: Bert Higgins Redux, Game Dev, Home, Xmas, XNA |
|
posted by Dave Henry at
08:39
0 Comments
Links to this post
|
12 December 2007
| Toys, Toys, Toys... |
|---|
I’ve been getting in the festive spirit and bought myself a few things for my computerJ, well you didn’t think I was going to spend money on someone else?!? I had a small windfall recently due to a tax rebate so after I had given crispy a load of cash I spent the remaining pennies on some stuff for me thanks to play.com I now have a new Keyboard & mouse and a spanking new Xbox360 controller (for windoze) that I’ve been after for ages now I finally got one that didn’t cost £35 I like the fact that Micro$oft have started selling these to PC owners for less than they were selling them to Xbox360 ownersJ. Any who, I see now that the Space game template has keyboard support in it, I only fond out because I was showing crispy that my controller did work. I saw that it was a two player game I poked at a few buttons and hay presto it worked but there isn’t any indication on the screens to let you know that you can press a key sort of thing. In Bert news, I got colour bleed on the tiles when they are drawn so I don’t think I’ll be using the tiled sprite example for the render engine, if I still get this problem when I write my own render engine I’ll probably look at spacing out the tiles and see if that works. I’ve also started reading John David Funges “AI for Games and Animation, A cognitive Modeling Approach” but I’m having a little trouble with the Maths in it, Maths has never been my strong suit. Yes I’m aware of the irony, but I wanted to read it for more a grounding in AI techniques than a how to, which is good because that’s what the book is intended to be. |
|
posted by Dave Henry at
08:51
0 Comments
Links to this post
|
30 November 2007
| FINALY!!! |
|---|
It don't look like much But it was the first level I made for Bert.![]() Labels: Bert Higgins Redux, Game Dev, Screenshot, XNA |
|
posted by Dave Henry at
20:13
0 Comments
Links to this post
|
29 November 2007
| The subtle art of code conversion. |
|---|
| Well last night I spent a little time working on the MAP file loader for the Asset Manager program, and I have this to say about Paul’s code, YOU’RE A GIT!! Who in their right mind writes their own “getword” method that swaps the bytes around? Most normal people would use something like:- Return = (short)(getc(file) << 8) + getc(file) NOT:- Value1 = getc(file); Value2 = getc(file); Return (short)(Value1 + (Value2 << 8) WHAT WERE YOU THINKING!!! Added to that is the fact that the LRE compression for the file is just a little odd rather than keeping the whole logic in the one method it’s spread over three methods with a global short for the value you just got, but I think I’ve got most of it sorted. Labels: Asset Manager, Bert Higgins Redux, Game Dev, XNA |
|
posted by Dave Henry at
15:38
0 Comments
Links to this post
|
27 November 2007
| No really, I have done some work.... |
|---|
OK so I’m a little late with my report for this week and I don’t have the screen shot I promised, but I can tell you I’m cheating… Well I don’t see it as cheating really because I had to read and fully understand the code before I thought “bugger it. That’ll save me some time”. “What are you blithering on about Mr Henry?” – I hear you cry, well, I’ve always had a problem with writing games in that I spend most of my time trying to put the menu and game state system together that I never get round to writing the actual fun stuff of the game and the times that I’ve just jumped straight in and done the game I don’t get round to doing the intro or settings system. This time I’m just going to use the Game State Demo for XNA, not only because I like the simplicity, but also because I’m a lazy S.O.B. Having said that I’m part way through the tiled map sample and I think I might be able to “Tweak” it to meet my needs, I’ve got it showing a random collection of map blocks and I think that with a little more work on the map converter I should be able to use this code for the 2D render system. Then there’s also the work I’ve done on the sprite sheet compiler it takes the old PCX graphic files and reorders the sprites into my new layout rather than the weirdo way that Paul had them, but I think he had them laid out this way to make life easier in the map editor, and then saves them off in to one big PNG file. I now have two massive PNG files that will be compiled in through the content pipeline. The sound samples are really straight forward, using XACT so I’m thinking that will be a quick half a day job to integrate. Still to do is to figure out how I’m going to store and then reference the player keyboard layout but until then I’ll probably just go for the standard WSAD layout used in every FPS. Labels: Bert Higgins Redux, Game Dev, XNA |
|
posted by Dave Henry at
09:14
0 Comments
Links to this post
|
10 November 2007
| So Glad |
|---|
| I'm so glad no one reads this blog, it's been over a week since I posted that I'd be working on the Redux project and I've got as for as writing the loader for two out of the eight ini files we used to run Bert, I've done nothing towards the Game engine , FX processor or Map Editor. There has been a fair bit of thinking but very little doing, I'm going to have to do more stuff. On the other hand I've got Five working days until I finish at work and then I'll be starting at the new place the following Wednesday, so, much joy there. Crispy and I have almost finished clearing out the boxes I brought when I moved in last Xmas there's just the ones that we got out of storage in June to do now :-). most of it is getting thrown out, it's starting to look like a life laundry... Anyway I'm mostly writing this post as a break in writing the ini loaders, so back to work I go :-). Labels: Bert Higgins Redux, Game Dev, XNA |
|
posted by Dave Henry at
16:42
0 Comments
Links to this post
|
01 November 2007
| This years Project... |
|---|
| I'm going to build a game in XNA with the asset management app as windows forms. I know that people will say there's no point using XNA when all the main game developers are using CPP with DirectX or OpenGL, well I'm trying to prove game development theory and get this done as quickly as possible. With that the the working title of the game will be "Bert Higgins : Redux" you guessed it I'm going to reuse all the assets from the original, sprites, sound, maps, scripts and just focus on the game engine. My aim is to build this so that at the end of it all I have a game for Xbox360 as well as the PC. If I'm lucky and design it right I'll be able to rip out the main render engine and replace it With a 3D version;) but that's a long way off and only a thought. there were so many things we wanted to do with the original but the crew broke up before we could even finish the second game. So with 365 days to go I'd better get a move on, I've already started reading over the original programme code so that I can write the file loaders but this is proving to be problematic, but no pain no gain. Labels: Bert Higgins Redux, Game Dev, XNA |
|
posted by Dave Henry at
22:20
0 Comments
Links to this post
|












