Archive for the ‘Uncategorized’ Category

Memory View Update

Sunday, May 23rd, 2010

I did some work this weekend on optimising the rendering of the memory view and heat-map. I ended up combining them both into one control a while ago since they share a lot of code and access the same data. I also added some better test bed functionality to test out various parts of the control.

image

The top toolbar is from the test bed, I can click to modify random ranges of memory to test the different colours of the hex view or heat map. The last toolbar button turns on continuous random memory updates which shows off the heat map view better.

image

Red is read, green is write, and blue is a bank change. I sped the heat map up by clearing the view to black, and only rendering the bytes that have colour. It will slow down if a lot of stuff is happening but it’s tons faster for the test.

For the hex view, I now build up 4 strings for each line, one for each colour which signifies if its invalid (grey question marks), dirty (light grey), changed (red), or normal (black). Rather than naively rendering each byte separately it now only renders a max of 4 text draw calls per line. Magnitudes faster even in the worst case.

I also cleaned up some scrolling code, but I’m not having much luck getting the focus to do what I want. I’m going to figure it out for the editor part…

Some C# fun

Monday, May 3rd, 2010

Over the long weekend I decided to try out Visual Studio 2010 by working on some stuff for work.

First, a hex memory viewer, which will later become an editor. I’m using a fixed width font, however it’s still very complicated to figure out where stuff needs to be drawn. The grey lines are what I’ve calculated for future hit testing, which currently are a little hacky but seem to line up well enough. As a viewer this is pretty much complete.

image

And secondly a memory read/write heat map. Writes are red, reads are green, and their brightness indicates how recent they were. This still needs a lot of work, I have to figure out how to lay it out and make it zoom-able, and I want to print memory addresses down the left similar to the hex view. The picture here is 16k of memory (128×128 2×2 squares).

image

For all the Aussie Battlers

Monday, October 12th, 2009

Well, the ones that make indie games.  I am proud to present my latest web site: http://www.aussieindie.com. It’s been live for a number of weeks now, and with a little publicity from Tsumea it’s been starting to grow in popularity. Currently I have 18 subscribers (according to FeedBurner), with a reach of 8 due to a new post. I created it because there doesn’t really seem like there’s any way for indie developers to get their game out there, and I know it’s something that I would like to have if I ever manage to go indie myself. I plan to extend it with an iPhone/iPod store but I’ll leave that for later.

Setting up and running it has been quite an interesting experience. I spent a few weeks slowly getting WordPress installed, grabbed some plug-ins and a nice theme. I created Gmail, Twitter and Cli.gs accounts, and set-up a WordPress plug-in to post to twitter when I publish a new post using Clig.gs for the links. After I had it all working I realised there was something I hadn’t really considered: content!

I’m not really much of a writer, so I’m not really in a position to write something from scratch, so I’ve been just using what developers have written about their own games. I first talked to John Passfield (who I’ve worked with at Pandemic Studios) since Three Blokes Studios had Brainiversity 2 coming up, and used that as the first post. I had to search out games for the first few posts but now I’m getting developers actively emailing me about their games which is good. I’ve also recently signed up for Google Analytics and installed a plug-in for it, but I think I’m going to have to wait a while for it to collect enough data to tell me anything useful.

While I still need to do a bit of work to get it where I want it to be, I’m quite pleased with the site so far. The emails I’ve had from people that get it have been positive but I guess I just have to wait to see how people use it.

An interesting observation

Tuesday, March 24th, 2009

So, if you blindly stab your headphone plug at the front of the computer, and ends up going into the usb slot, it can cause your computer to spontaneously reboot.  True Story.

Got Job

Saturday, March 14th, 2009

Today is the end of my third week at Krome. I’m starting to really enjoy it. It certainly helped that I know around 20 people across the company already, with a good number of those being ex-Pandemic colleagues, and a few more joining soon. It’s been a bit hard adjusting from holiday sleep patern to a work one, but I think I’ve finally managed to get used to it enough so I shouldn’t be falling asleep at work as much.

Krome is a bit different to what I became used to at Pandemic. Working in a large engine time is certainly a new experience. Also, working with a shared engine is a different too.

Now that I’m starting to get my head around things, I have to figure out what I want to work on. I’ve seen some things that I’m going to put my hand up to work on, hopefully that’ll work out. It’d probably be a good idea to do something useful before my probation ends :)

Moderor

Monday, December 15th, 2008

Moderor (working title) is the flash game I have been working on.  I’ve started off not knowing anything about Flash or Flex development and have since learned alot. Flex is very easy to use and I’ve been impressed with it’s capabilities.

The version that I have uploaded at the time of writing this is fairly primative, but the main systems are working.  It consists of a tile renderer (which can be scrolled using the arrow keys), a simple building system where placed buildings can do stuff (which is currently just generating resources), and a system to place buildings (currently it doesn’t check for a suitable area, but part of the work is already done). Obviously there’s alot more to do, but it is functional.

I decided that since I was using Flex - Flash’s application based development enviroment - that I should take advantage of the Flex framework, so the tile render is derived from a Flex UIComponent and I’ve used normal Flex UI controls for the interface. This is great because I don’t have to worry about writing my own GUI system, and I can use the Design view to place and arrange it all. Later on all I need to do is make a new skin and use the built in skinning capabilities to get it to look like I want without chaning anything else. It’s allowed me to work on the game itself rather than fiddling around with UI.

Check out the latest version of Moderor here

Flex Builder and Flash 10

Monday, December 1st, 2008

I’ve decided to start working on a flash game, and since I’ve used Flex Builder before I’m using it as my IDE. There are instruction here on how to get it to work, but for normal Flex projects you just need to follow a few steps.

The first step is to download Adobe Flex Builder 3. Then to use Flash 10 you need to download the latest nightly SDK, I’m using 3.2.0.3958 (Wed Oct 29 2008).

To install the SDK:

  • Create a folder called “3.2.0.3958″ (or the version you downloaded), in “%Program Files%\Adobe\Flex Builder 3\sdks”. Extract the contents of the SDK zip file into there.
  • Now go to Flex Builder, go to “Windows”->”Preferences…” (I’ve had problems where some controls dissapear within preferences, if this happens a restart of Flex Builder is required to get them back).
  • Navigate to “Flex”->”Installed Flex SDKs”.
  • Click “Add…”, enter in the path you extracted the files to and for the name use “Flex 3.2.0.3958″ (or the version you downloaded), and click “OK”.
  • Make sure the SDK you added is checked and click “Apply”.

Now two modifications are needed to the project to get it to target the version 10 player.

  • Open the project properties, go to “ActionScript Build Path”.
  • Expand “Flex 3″, select “playerglobal.swc” and click “Remove”.
  • Click “Add SWC” and navigate to the new SDK path, and then deeper into “frameworks/libs/player/10″, select playerglobal.swc.
  • Expand “playerglobal.swc”, double-click “Link Type” and change it to “External”.
  • Now go to “ActionScript Compiler”
  • In “Require Flash Player version” type in 10.0.0.
You should now be able to compile for Flash 10, but you need the debug player to debug:
For each new project you create (or old ones you want to update), you will need to do the second part.
Happy ActionScripting!

New recruits, upgrade complete

Wednesday, November 26th, 2008

Ok, so I’ve done alot of work on rantspace over the last number of days.   Stoffle asked for an account on rantspace, which I was more than happy to provide, and Bozo got in on the act as well.  So that makes a total of 4 users now which is pretty cool.  Since I have more people now I decided it was probably a good time to update the Wordpress MU install, which was 1.5.1 compared to the latest 2.6.3.

The upgrade process didn’t go so smoothly, mostly because the version of FileZilla I had (3.1.3.1) had a bug in it where it wouldn’t upload the entire directory structure, so there were missing files.  This caused a few things to break, most obviously the post editor (which uses alot of Javascript). I’ve re-uploaded the site and everything seems to be working now.  This might be responsible for another problem I had, which was the database wouldn’t upgrade properly.  The result was no categories, the inability to add new ones, and various SQL errors behind the scenes.  After trying a few things, I ended up getting everyone to export their blog to Wordpress XML, and then deleted and re-added the blogs.  All my images were stored on the server and now need to be re-uploaded, but other than that there aren’t any more problems.

Now I’ve also uploaded some plugins for Wordpress.  The first was NextGEN Gallery.  This was recommended by Kosh for Stoffle to upload his images.  The second plugin is Viper’s Video Quicktags which I enthusiastically recommend, it adds an easy way to embed YouTube and other site’s videos.  I tried for ages to do this in the editor but it just chews up the html.  Viper’s Video Quicktags provides a very easy and clean way to do it.

The thing I’m most pleased with is the new version isn’t eating my new lines, so my posts actually have paragraphs now.  I think I’ll fix up the old posts at some point.

Pandemic No More

Saturday, November 1st, 2008

On Friday morning, it was announced to team Bravo that Pandemic was going to be focusing on the other team’s game and our team was cut. A number of people moved across onto the other team, however a number were let go.

I am one of the ones let go. 

For some people that was a bit shocking; I’ve been at Pandemic for over 5 years, and in that time shipped two games, and worked on two games that got cancelled.  But I can’t fault the decisions made about who stayed and who got let go.  The thing is, the people that stayed and the people that were let go are all excellent game developers. It wasn’t because anyone wasn’t performing well, and it wasn’t because the team had had a previous project cancelled. It was a cost cutting measure that had to be done. Now you might be thinking that EA is some evil corporation for buying us and then letting people go.  But really, if EA had not bought Pandemic they would probably be much worse off.  But I feel that a lot was done to make room for a few people even thought they weren’t completely needed, so it could have been a lot worse.

I have no hard feelings against Pandemic, or EA.  We make games, and it’s a business. Sometimes that means crap like this has to happen. I have had an awesome time at Pandemic, and it’s been an honour to work with so many talented people over the years. And I really mean that, I have learnt alot and I wouldn’t be the same without it. To others that were let go, I wish you well in your search for new employment, and it’s been awesome. To the rest of Pandemic, it’s been awesome and I wish you well, and perhaps we will work together again some time. So long, and thanks for all the fish.

PS. Just to stop any bad rumours, the Bravo team was not cut because of bad performance or anything like that. Contrary to rumours before, the previous project was not cut due to anything to do with the team, it was an external decision.  The current project was cancelled due to the other project being more important.

I’m a pioneer!

Friday, October 17th, 2008

Last week I migrated rantspace to a new server… which subsequently went down because of a few problems at the datacenter.  That’s what I get for being the guinea pig pioneer of the new server. But everything is back up now and the problems have been fixed so hopefully it’s smooth sailing from here.  I’ve been given direct access to the control panel (which may or may not have been a good idea…), so I’ve had to figure out a number of things for myself, but it’s been fun.

The reason for the move was so I could get the latest versions of php and mysql, so I could start on a facebook app idea I have.  While I did start it on the same server, I moved it to a Joyent host when the server went down and I think I’ll leave it there for now. The app is still a while away from being complete, but I have made significant progress on learning the facebook API and getting the base of the app done.  I bought myself a whiteboard and have been using it to keep track of tasks, which has been a great boost to productivity.  I’m trying to use it for my tasks around the house as well, hopefully it will help out with my productivity in that area too.  If this app goes well I already have a few ideas for more, hopefully I can make some useful things and make a few bucks off them too :)