<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-28047759</id><updated>2012-02-16T01:06:51.415-08:00</updated><category term='Tools'/><category term='Productivity'/><category term='Cuda'/><category term='MoonPod'/><category term='Rand'/><category term='Getting a games job'/><category term='Sketchup'/><category term='Middleware'/><category term='Screensaver'/><category term='WorkflowProfiler'/><category term='Programming'/><category term='Review'/><title type='text'>Game Creator</title><subtitle type='html'>Covering topics including coding, getting into games, indie game development, and a bit of rand().</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default?start-index=101&amp;max-results=100'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>131</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28047759.post-4082049460523037422</id><published>2011-10-13T09:54:00.001-07:00</published><updated>2011-10-13T09:55:42.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>About my Career as a Games Programmer</title><content type='html'>A student from a local college asked me some questions about my job. I thought I’d reprint my answers here.&lt;br /&gt;&lt;strong&gt;So, What is your position at Heavy Iron and what are your specific duties?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I am the ‘Studio Technical Director’. &lt;/li&gt;&lt;li&gt;I am the head of the programming department. &lt;/li&gt;&lt;li&gt;I spend some of my time programming the game, and tools we use to make the game. &lt;/li&gt;&lt;li&gt;I work with other senior programmers and other departments (e.g. art, animation, sound, design) to work out what new features we should implement in our game/tools, and how to implement them. &lt;/li&gt;&lt;li&gt;I spend a little time in management meetings, where we discuss future projects, hiring of staff and other studio management things. &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;What skills, education, experience, and knowledge are required to qualify for your position?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I’ll start by giving my history:      &lt;ul&gt;&lt;li&gt;I grew up in England. &lt;/li&gt;&lt;li&gt;I first got interested in programming when I was about 10 years old. I was given a computer which could run games, but you could also program ‘basic’ on. &lt;/li&gt;&lt;li&gt;Through school, I chose classes with computers in whenever I could. &lt;/li&gt;&lt;li&gt;I went to University and got a ‘Bachelors of Engineering in Computer Science’. &lt;/li&gt;&lt;li&gt;After University I got a job as a ‘junior programmer’ at a games company. &lt;/li&gt;&lt;li&gt;I’ve now been working for 15 years, at four different companies. The last 9 years, I’ve been at Heavy Iron. &lt;/li&gt;&lt;li&gt;I gradually became better and better at my job, and rose up to mid-level programmer, senior programmer, technical director and now studio technical director. At one point I was ‘lead programmer’ on a couple of games, and now the lead programmers report to me. (Lead programmers are the ones who do a lot of the decision making about how a game gets built – it’s a tough job, but fun too.) &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;To get a job as a programmer, it’s best to have a college degree in computer programming – specifically in C/C++ for the kind of games we make (PS3, Xbox 360, Wii) and several platforms which we don’t currently make games for (PC, Mac, iOS/iPhone/iPad, PSP, 3DS, Wii U). &lt;/li&gt;&lt;li&gt;In terms of skills and experience for my current position, I’d say you need many years of experience of programming games, and also a tendency to organize people, a curiosity for how things work, and a drive to make things and do the best job you can. &lt;/li&gt;&lt;li&gt;I tend to think that students who like and do well at math and physics, tend to make good programmers. &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;What is your work environment like?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We work on one floor of an office building. Most people sit in ‘cubes’, and some people sit in one or two person offices. &lt;/li&gt;&lt;li&gt;Compared to a ‘normal office’, we tend to have more ‘tech’ sitting around – monitors, TV’s, game consoles. Also because the industry has quite a lot of young / creative types, there is a fair amount of decoration – game posters, character models from TV/Movies/Games. &lt;/li&gt;&lt;li&gt;The group of people are fun to work with, and are mainly in the 20..40 years of age range. It’s mainly guys, but there are a few gals around too. &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Are you under contract?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Yes. I am a full time employee, and so are most of the other people here. &lt;/li&gt;&lt;li&gt;A few people are on shorter term contracts, but (so far at least) the industry tends to mainly consist of full time positions. &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Do you get any benefits?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Yes. Health, dental, vision, life insurance, disability. The company pays most of it, but I also pay some. It’s automatically taken from my paycheck. &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;What do you like the most/least about your job?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Most      &lt;ul&gt;&lt;li&gt;I love programming. I do it at work, and then I go home and do it for my hobby / for fun. &lt;/li&gt;&lt;li&gt;I really like working with the nice people at work. Working as a team and making games is fun. &lt;/li&gt;&lt;li&gt;I like making cool tools (programs) which we use for making games. &lt;/li&gt;&lt;li&gt;I also teach programming at a local college one night a week. I like helping other programmers get into the industry, and spreading my passion for game coding. &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Least      &lt;ul&gt;&lt;li&gt;Being a manager comes with some dull tasks, like approving time-cards, sending out reminders to people that they need to keep the place clean, etc. &lt;/li&gt;&lt;li&gt;Again, as a manager, you sometimes need to tell people that there are problems with their work, or their behavior. It’s never fun to tell someone bad things like this. &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;What future changes do you anticipate in this field?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There’s a current shift going on from consoles like Xbox 360 towards mobile devices like the iPhone, and web games. This means companies and workers need to ‘stay agile’ and change with consumer demand. &lt;/li&gt;&lt;li&gt;I still think that C/C++ is relevant and useful (e.g. it’s needed for iPhone), but we’ll probably see more game programmers transitioning over to web technologies like Flash and JavaScript. &lt;/li&gt;&lt;li&gt;That’s one fun thing about the game industry though – there’s always something new coming at you, to keep things fresh. &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;What are the general application procedures for positions such as the one I will be seeking?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Get a degree. &lt;/li&gt;&lt;li&gt;If you can, get a programming internship. Try and closely match what you want to do for a living – e.g. working in C++ at a games company.&lt;/li&gt;&lt;li&gt;Write your resume, cover letter, and optionally create a website which shows demos of your work. &lt;/li&gt;&lt;li&gt;Email it in to companies. &lt;/li&gt;&lt;li&gt;If they are interested, you will then go through their interview process. This might include a phone interview, a written test, and an in-house interview. &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;What do you think is important to show in a resume for a position such as yours?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;For a junior programmer position, I expect to see a degree, that you’ve been programming in C/C++, and then hopefully some evidence that you’re really good and committed. &lt;/li&gt;&lt;li&gt;It’s also nice to see some game-centric skills like doing GPU shader work, physics simulation, writing games, and making personal projects.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;What advice do you have for me about preparing and interviewing successfully?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Code all the time. Become an awesome C/C++ programmer, and you can’t go far wrong. &lt;/li&gt;&lt;li&gt;If there’s an area you know you are weak in, or don’t understand, make a point of learning that area and becoming strong in it. Don’t just ‘work around’ your weaknesses. E.g. if you don’t understand C pointers – make it a point to get good at them. &lt;/li&gt;&lt;li&gt;If you graduate and don’t yet have a job lined up, don’t stop coding. Code more than ever. Otherwise you quickly forget things, and your chances of getting a job decline over time.&lt;/li&gt;&lt;li&gt;I have many other tips on my blog &lt;a href="http://gamecreator.blogspot.com/search/label/Getting%20a%20games%20job" target="_blank"&gt;here&lt;/a&gt; (see the older posts with this tag first). &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Bonus question: Have you or any of your coworkers thought about going indie?&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Hah. I think we all do. Perhaps once a month :) &lt;/li&gt;&lt;li&gt;It’s a tough road though. No regular pay checks, no benefits, a lot of competition, and it can be harder than you might think to make a complete game and ship it. &lt;/li&gt;&lt;li&gt;It’s certainly possible, but I recommend getting a ‘proper job’ first to hone your skills and better appreciate the industry. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4082049460523037422?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4082049460523037422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4082049460523037422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4082049460523037422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4082049460523037422'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2011/10/about-my-career-as-games-programmer.html' title='About my Career as a Games Programmer'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2710924340374767735</id><published>2011-07-25T22:34:00.001-07:00</published><updated>2011-07-25T22:34:33.334-07:00</updated><title type='text'>Tweaking Values In Game – AntTweakBar</title><content type='html'>&lt;p&gt;A common problem when working on games and other programs is that you end up with some magic numbers in code which need lots of tuning. If you don’t have a good solution to the problem, you end up repeatedly making changes, recompiling, running, and then repeating.&lt;/p&gt;  &lt;p&gt;Wouldn’t it be great if someone made a drop-in system which gave a UI for tweaking values at run time? Well, Philippe Decaudin has done just that, and has written &lt;a href="http://www.antisphere.com/Wiki/tools:anttweakbar"&gt;AntTweakBar&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I just used it. It dropped in with just a few lines of code, and looks/works great in game. Now it just takes one line of code for each variable I want to tweak in game. I’m very impressed. Check out this video of AntTweakBar in use.&lt;/p&gt;  &lt;p&gt;(This is for C/C++ by the way.)&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:fb11db0e-acf8-43dd-8aa4-0df70da9a57c" class="wlWriterEditableSmartContent"&gt;&lt;div id="e1716ab4-042f-42bd-8f54-6924e4083fcd" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=OEpsG2PGi-s" target="_new"&gt;&lt;img src="http://lh6.ggpht.com/-5Gbi6ybSjQI/Ti5R56pAmYI/AAAAAAAAEJU/JNGMYRug8EQ/video2802bb5f5cce%25255B9%25255D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('e1716ab4-042f-42bd-8f54-6924e4083fcd'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;448\&amp;quot; height=\&amp;quot;252\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/OEpsG2PGi-s?hl=en&amp;amp;hd=1\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/OEpsG2PGi-s?hl=en&amp;amp;hd=1\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;448\&amp;quot; height=\&amp;quot;252\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2710924340374767735?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2710924340374767735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2710924340374767735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2710924340374767735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2710924340374767735'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2011/07/tweaking-values-in-game-anttweakbar.html' title='Tweaking Values In Game – AntTweakBar'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-5Gbi6ybSjQI/Ti5R56pAmYI/AAAAAAAAEJU/JNGMYRug8EQ/s72-c/video2802bb5f5cce%25255B9%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3515701607455294927</id><published>2011-05-24T08:50:00.001-07:00</published><updated>2011-10-13T09:56:15.583-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>8 Hygiene Tips for Programmers</title><content type='html'>&lt;a href="http://goinglikesixty.com/wp-content/uploads/2009/09/Deodorant-Tester.jpg"&gt;&lt;img alt="" border="0" src="http://goinglikesixty.com/wp-content/uploads/2009/09/Deodorant-Tester.jpg" style="cursor: hand; cursor: pointer; float: left; height: 167px; margin: 0 10px 10px 0; width: 249px;" /&gt;&lt;/a&gt;&lt;br /&gt;Being around programmers for a long time has shown me that some don’t smell so good. &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Remember – by the time you can smell yourself, it’s already way too late for those around you.&lt;br /&gt;&lt;br /&gt;I invite you to check your habits against my minimum hygiene requirements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Shower daily. Use soap or body wash.      &lt;ul&gt;       &lt;ul&gt;&lt;li&gt;Make sure your feet, pits, groin and ass get the brunt of the soap offensive. &lt;/li&gt;&lt;li&gt;Wash your hair too. At least every other day. &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Socks, Underpants and T-Shirt – Change &lt;em&gt;daily&lt;/em&gt;. (And by change, I mean do not wear again until washed.) &lt;/li&gt;&lt;li&gt;Jeans and Sweater are a bit tricky, but change a bare minimum of once a week. Twice would be ideal, or three times if you're the queen of England.&lt;/li&gt;&lt;li&gt;Coats can need washing too sometimes. It really depends on your relationship with your coat. If it gets sweaty when you do, then eye it with suspicion and wash it from time to time. &lt;/li&gt;&lt;li&gt;If you don’t wear socks or change them daily, your shoes smell. If they smell, give them the Viking burial, buy some new ones and wear socks this time. &lt;/li&gt;&lt;li&gt;If your finger or toe nails get 2..3mm long, cut them. &lt;/li&gt;&lt;li&gt;Brush your teeth well in the morning and night. Use floss to avoid losing teeth. Brush your tongue too, as this reduces bad breath. If you like coffee, then may I recommend adding some breath mints to this.&lt;/li&gt;&lt;li&gt;Put deodorant on each morning. If this is new to you, go and buy a can of Axe (or Lynx for UK folks). How do you pick the right one? What if the one you get doesn’t smell good?      &lt;ul&gt;       &lt;ul&gt;&lt;li&gt;Remember that even the worst smelling can of Lynx smells ten times better than you do. &lt;/li&gt;&lt;li&gt;You can use the normal person approach of spraying each on a new body part, sniffing and choosing the right one. Though the reality is that this approach is frustrating and doesn’t work. &lt;/li&gt;&lt;li&gt;Instead either pick the left-most one, the one with the coolest name, the one with your favorite color, or buy one of each to save yourself from coming back (and also injecting some much needed variety into your life). &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;Bonus stylin’ tip – Hair styles:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Side partings don’t look good and never did. Your mum likes them, and that’s it. &lt;/li&gt;&lt;li&gt;If you’ve had the same hair style since you were 15, it’s time to review it. &lt;/li&gt;&lt;li&gt;Girls like pony tails and mullets. Oh wait, no, nobody likes them. Time to change.&lt;/li&gt;&lt;li&gt;If you are going bald, do not hide it, and get your hair cut short. &lt;/li&gt;&lt;li&gt;If you think your hairstyle may not be contemporary / cool:      &lt;ul&gt;       &lt;ul&gt;&lt;li&gt;Strike up a conversation with a female in the office who dresses fashionably. &lt;/li&gt;&lt;li&gt;Repeat after me “I’ve been thinking about changing how I get my hair cut. How do you think I should get it done?”. &lt;/li&gt;&lt;li&gt;And if that doesn’t work out, just sit down in the chair at Super Cuts or Fantastic Sam's and say that you want a new hair style that’s short, looks OK and requires zero maintenance. The hair dresser might as you a couple of questions, to which you answer “I have no idea. Just do what you think will look good.”. When they’re done, ask “So what do I ask for to get that hairstyle again?”, and give them a $10 tip because you feel giddy. (I say Super Cuts or Fantastic Sam's for American programmers – if not in America, just make sure your hairdresser is female or ‘rather flamboyant’) &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;There now. If you implement all of the above, you can hold your head and arms up high, with little fear of stinking up the place.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3515701607455294927?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3515701607455294927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3515701607455294927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3515701607455294927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3515701607455294927'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2011/05/8-hygiene-tips-for-programmers.html' title='8 Hygiene Tips for Programmers'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2464246694935207878</id><published>2011-03-23T10:06:00.001-07:00</published><updated>2011-10-13T09:56:34.346-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>How to get a job in videogames</title><content type='html'>Occasionally someone will ask ‘how can I get a job in videogames?’ and not know what specific type of work is available. Here’s a list of the main jobs.&lt;br /&gt;&lt;strong&gt;Programmer&lt;/strong&gt;&lt;br /&gt;Programmers write code (C/C++/Java/C# etc). To be a programmer you generally need to go to college and major in Software Engineering or a similar field. You should also program for fun in your spare time. Programmers tend to be good at math and physics.&lt;br /&gt;If you’ve never programmed before, and wonder what it’s like, install &lt;a href="http://msdn.microsoft.com/en-us/beginner/ff384126.aspx" target="_blank"&gt;Small Basic&lt;/a&gt; and work through the guide which comes with it. Don’t worry – it’s simple enough for kids, so an adult can do it with a little effort :)&lt;br /&gt;Game companies have a large staff of programmers. The high technical barrier to entry means that there are fewer qualified applicants and higher resulting pay than some of the other jobs below.&lt;br /&gt;The main reason I started this blog was to help programmers get into the game industry. &lt;a href="http://gamecreator.blogspot.com/search/label/Getting%20a%20games%20job" target="_blank"&gt;See this tag&lt;/a&gt; for my tips – read the oldest posts first.&lt;br /&gt;&lt;strong&gt;Designer&lt;/strong&gt;&lt;br /&gt;Designers use a level editor to build the levels of the game – placing monsters, ammo, and setting up ‘events’ which happen. They also design the game as a whole and work with the other departments to realize that vision.&lt;br /&gt;I’ve written before about &lt;a href="http://gamecreator.blogspot.com/2006/11/whats-game-designer_24.html" target="_blank"&gt;what a designer does&lt;/a&gt; and how to go about &lt;a href="http://gamecreator.blogspot.com/2006/12/how-to-get-job-as-game-designer.html" target="_blank"&gt;getting a position&lt;/a&gt;.&lt;br /&gt;&lt;strong&gt;Artist&lt;/strong&gt;&lt;br /&gt;Artists make 2D art in Photoshop, and 3D models in Max or Maya. To be an artist, you have to be good at art, and have gone to art school. It’s possible to teach yourself how to use art packages, but art school will teach other skills such as composition which are also needed. When artists apply for jobs, then include a link to an online portfolio of their work. Here’s a &lt;a href="http://www.adambromell.com/" target="_blank"&gt;random example&lt;/a&gt; I found online.&lt;br /&gt;Game companies have a large staff of artists (depending on the type of game). So there are more ‘slots’ to apply for, but competition can be high as there are many aspiring artists.&lt;br /&gt;&lt;strong&gt;Animator&lt;/strong&gt;&lt;br /&gt;Animators, similar to artists, work in Max or Maya. The create skeletons for characters (‘rigging’), and then animated them. Again, you need to go to art school to learn the skills involved. Animation used to be part of the artists job, but increasingly the jobs are specializing into two or more different roles.&lt;br /&gt;Animators are usually in smaller number than the artists, and again, competition can be high.&lt;br /&gt;&lt;strong&gt;Sound Designer&lt;/strong&gt;&lt;br /&gt;Sound designers place and configure sounds and music within the game. Sometimes this can include the original creation of the sounds, but often libraries of sounds are used, and music creation is outsourced to a third party.&lt;br /&gt;Sound designers are quite few in number. It is a relatively new field, which was originally lumped in with the role of the designer. Having gone to college to study music or audio production would be useful.&lt;br /&gt;&lt;strong&gt;Producer&lt;/strong&gt;&lt;br /&gt;A producer (job title my vary by company) ensures that the project is completed in a timely manner, and communicates with external companies (e.g. the publisher, IP license holder, music creation, language translation). The role is all about planning when things need to happen, communicating with people to make sure things will run smoothly, and then tracking progress to make sure things work out as planned.&lt;br /&gt;The production staff tends to be fairly small. Majoring in business administration would be a good choice for this type of position, but it’s not a requirement.&lt;br /&gt;&lt;strong&gt;Tester&lt;/strong&gt;&lt;br /&gt;Testing (A.K.A. Quality Assurance) consists of playing the game, to find bugs in it. The team then fix the bugs, and the testers check that the bug is gone.&lt;br /&gt;Testing isn’t as much fun as it may sound. You play the same game for months or years, repeatedly completing it, playing the game on the different consoles, playing it in each different language etc. Plus it’s a full time job – you don’t just play when you want to.&lt;br /&gt;As the job doesn’t require years of technical training, it can be easier to get a position, but the pay is not as good. This said, it is possible to work your way up through test into positions in design, production or IT, and can give you valuable experience in game development. So testing can be a good route into ‘better’ positions for people lacking qualifications and experience.&lt;br /&gt;&lt;strong&gt;Other Supporting Positions&lt;/strong&gt;&lt;br /&gt;Depending on the size of the company, there are also a number of supporting roles which are less directly related to the game side of things. These positions include Administrative Assistant, Human Resources, Recruiting, Accounting, Sales and Marketing, I.T. / Tech Support. As game studios tend to be quite ‘young’ and playful in nature, and you get to support the team who are working on the game, working in these roles can still contain the ‘fun’ of working in games.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2464246694935207878?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2464246694935207878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2464246694935207878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2464246694935207878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2464246694935207878'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2011/03/how-to-get-job-in-videogames.html' title='How to get a job in videogames'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6594699946672906214</id><published>2011-03-15T11:32:00.001-07:00</published><updated>2011-03-15T11:32:56.404-07:00</updated><title type='text'>So You Want to Work in the Video Game Industry</title><content type='html'>&lt;p&gt;Here’s a funny and depressing way of looking at working in games.&lt;/p&gt;  &lt;p&gt;There’s a lot of truth in there, but it’s not that bad :)&lt;/p&gt;  &lt;p&gt;I’ve worked a few different types of job, and working in games has proven the most fun for me.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:3af4e042-a500-4f67-9027-d7a6c9085385" class="wlWriterEditableSmartContent"&gt;&lt;div id="aa0627e4-f574-4552-930e-c431dea5cd34" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=lGar7KC6Wiw" target="_new"&gt;&lt;img src="http://lh6.ggpht.com/_t3G6O0vkb1k/TX-w1mCoKtI/AAAAAAAAECc/wiNqsGIer-Q/videoa13c44a1b4af%5B9%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('aa0627e4-f574-4552-930e-c431dea5cd34'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;448\&amp;quot; height=\&amp;quot;252\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/lGar7KC6Wiw?hl=en&amp;amp;hd=1\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/lGar7KC6Wiw?hl=en&amp;amp;hd=1\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;448\&amp;quot; height=\&amp;quot;252\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6594699946672906214?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6594699946672906214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6594699946672906214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6594699946672906214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6594699946672906214'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2011/03/so-you-want-to-work-in-video-game.html' title='So You Want to Work in the Video Game Industry'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_t3G6O0vkb1k/TX-w1mCoKtI/AAAAAAAAECc/wiNqsGIer-Q/s72-c/videoa13c44a1b4af%5B9%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-8286342587113307023</id><published>2011-02-03T15:29:00.001-08:00</published><updated>2011-02-03T15:29:37.829-08:00</updated><title type='text'>Counting lines of code in Visual Studio 2008 and 2010</title><content type='html'>&lt;p&gt;Here’s a cool trick for counting the approximate number of lines of code.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.schuager.com/2009/01/line-count-in-visual-studio.html"&gt;http://blog.schuager.com/2009/01/line-count-in-visual-studio.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I got this from the awesome &lt;a href="http://stackoverflow.com"&gt;Stack Overflow&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-8286342587113307023?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/8286342587113307023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=8286342587113307023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8286342587113307023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8286342587113307023'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2011/02/counting-lines-of-code-in-visual-studio.html' title='Counting lines of code in Visual Studio 2008 and 2010'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-4604391511759246460</id><published>2010-12-17T15:49:00.001-08:00</published><updated>2010-12-17T15:56:23.713-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>What is OpenMP? What does OpenMP code look like?</title><content type='html'>&lt;p&gt;&lt;a href="http://openmp.org/wp/"&gt;OpenMP&lt;/a&gt; is an easy cross platform way of making code multi-threaded. You just sprinkle in a &lt;em&gt;magic&lt;/em&gt; pragma before a for loop, and presto, the cycles of the loop get spread across multiple cores.&lt;/p&gt;  &lt;p&gt;Here’s a simple example (written in Visual Studio 2008).&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;#include &amp;quot;stdafx.h&amp;quot;     &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;#include &amp;lt;omp.h&amp;gt;           &lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;#include &amp;lt;stdio.h&amp;gt;        &lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;        &lt;br /&gt;#include &amp;lt;conio.h&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;int _tmain (int argc, char *argv[])      &lt;br /&gt;{      &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;#pragma omp parallel for           &lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; for (int i = 0; i &amp;lt; 20; i++)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int threadId = omp_get_thread_num();        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf(&amp;quot;Hello World from thread %d\n&amp;quot;, threadId);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if ( threadId == 0 )         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf(&amp;quot;%d threads\n&amp;quot;, omp_get_num_threads());        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf(&amp;quot;In Parallel Region = %d\n&amp;quot;, omp_in_parallel());        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; _getch();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; return EXIT_SUCCESS;      &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Here’s the output on a machine with 12 cores:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;Hello World from thread 0     &lt;br /&gt;There are 12 threads      &lt;br /&gt;In Parallel Region = 1      &lt;br /&gt;Hello World from thread 0      &lt;br /&gt;There are 12 threads      &lt;br /&gt;In Parallel Region = 1      &lt;br /&gt;Hello World from thread 11      &lt;br /&gt;Hello World from thread 3      &lt;br /&gt;Hello World from thread 3      &lt;br /&gt;Hello World from thread 9      &lt;br /&gt;Hello World from thread 1      &lt;br /&gt;Hello World from thread 1      &lt;br /&gt;Hello World from thread 10      &lt;br /&gt;Hello World from thread 7      &lt;br /&gt;Hello World from thread 7      &lt;br /&gt;Hello World from thread 8      &lt;br /&gt;Hello World from thread 6      &lt;br /&gt;Hello World from thread 6      &lt;br /&gt;Hello World from thread 4      &lt;br /&gt;Hello World from thread 4      &lt;br /&gt;Hello World from thread 2      &lt;br /&gt;Hello World from thread 2      &lt;br /&gt;Hello World from thread 5      &lt;br /&gt;Hello World from thread 5&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;There’s some interesting things to see about this output:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;There are 12 threads – 0..11.&lt;/li&gt;    &lt;li&gt;Some threads run one cycle (e.g. #10) and others run multiple cycles (e.g. #5).&lt;/li&gt;    &lt;li&gt;You can see where thread 0 runs the conditional code.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Getting More Complicated&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A simple loop like the one above is fine as it is. Once you start trying to do real work, you quickly bump into the problem that you need to think about whether variables are ‘shared between all threads’ or ‘private to each thread’.&lt;/p&gt;  &lt;p&gt;I first recommend adding the ‘clause’ of ‘default(none)’. This will force the compiler to make you explicitly define whether variables are shared or private. Shared and private variables are then specified in a comma separated list. Here’s an example of what the pragma line now looks like:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;#pragma omp parallel for default(none) private(myVar, foo) shared(someOtherVar, andAnother)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;I’m no expert on OpenMP, and there’s a lot more to it that’s not covered here. The &lt;a href="http://en.wikipedia.org/wiki/OpenMP"&gt;wikipedia page&lt;/a&gt; is pretty good for more info.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Some notes:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The omp.h header comes with Visual Studio. There’s no lib file needed.&lt;/li&gt;    &lt;li&gt;You need to enable OpenMP in the project settings (C/C++ –&amp;gt; Language –&amp;gt; OpenMP Support –&amp;gt; Yes).&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4604391511759246460?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4604391511759246460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4604391511759246460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4604391511759246460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4604391511759246460'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/12/what-is-openmp-what-does-openmp-code.html' title='What is OpenMP? What does OpenMP code look like?'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2313573176527647228</id><published>2010-12-09T13:01:00.001-08:00</published><updated>2010-12-09T13:01:52.994-08:00</updated><title type='text'>How do I make a videogame?</title><content type='html'>&lt;p&gt;Someone recently mailed to ask “I’ve got an idea for a game – how do I get started making it?”&lt;/p&gt;  &lt;p&gt;The high level of the question, implies that the asker is completely new to making games.&lt;/p&gt;  &lt;p&gt;Games tend to require a lot of time spent programming, making artwork, and then putting it all together into a game.&lt;/p&gt;  &lt;p&gt;First, I recommend concentrating on learning how to build games in general – instead of focusing on building your dream game. In the early days of learning, it's great if you can just build 'Asteroids' - you can build your Quake-killer later on.&lt;/p&gt;  &lt;p&gt;If you’re ‘pretty good with computers’, then a fun and &lt;em&gt;free&lt;/em&gt; way to get a taste of game development is to install &lt;a href="https://store.unity3d.com/shop/"&gt;Unity&lt;/a&gt; and follow &lt;a href="http://unity3d.com/support/resources/tutorials/3d-platform-game.html"&gt;this tutorial&lt;/a&gt;. Following the tutorial is kind of like getting an ‘Airfix’ model airplane and assembling it – most of the hard work has been done, but there’s still challenge in working through the instructions.&lt;/p&gt;  &lt;p&gt;Going through this will show you bits of program code, and how art and animations get combined to make a game.&lt;/p&gt;  &lt;p&gt;From there, you could go on building things with Unity, or explore the many other options available - C++, XNA, Flash, and many many more. Each of the options has a bunch of pro’s and con’s associated with it. Choosing the right one is a matter of knowing what you want to make (e.g. 2D, 3D, Networked, Web page based …), which technologies you want to use / learn (e.g. C++, Flash, Javascript …), and what platforms (e.g. Windows, iPhone, Xbox …) you are targeting.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2313573176527647228?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2313573176527647228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2313573176527647228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2313573176527647228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2313573176527647228'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/12/how-do-i-make-videogame.html' title='How do I make a videogame?'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6008409917346979124</id><published>2010-12-02T17:03:00.001-08:00</published><updated>2010-12-02T17:03:07.200-08:00</updated><title type='text'>Developing iPhone apps in Windows, in regular C++</title><content type='html'>&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_t3G6O0vkb1k/TPhByFuCz8I/AAAAAAAAD_Y/gPnCJiq7wQo/s1600-h/apple_iphone_1%5B4%5D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="apple_iphone_1" border="0" alt="apple_iphone_1" align="left" src="http://lh4.ggpht.com/_t3G6O0vkb1k/TPhByiXNoaI/AAAAAAAAD_c/6GlaMXcvEvo/apple_iphone_1_thumb%5B2%5D.jpg?imgmax=800" width="197" height="311" /&gt;&lt;/a&gt;When the iPhone development gold-rush started, I investigated a little but was soon put off by the need to buy an iPhone, a Mac, and work in Objective C++. It would have been a lot of money and time before I could even write a Hello World app.&lt;/p&gt;  &lt;p&gt;I just became aware of the Airplay SDK (Thanks Tim). It allows you to develop for iPhone in C++, in Visual Studio, on a PC, and comes with an emulator for PC. And it’s free!&lt;/p&gt;  &lt;p&gt;It’s an engine with a graphics pipeline, networking, user input, sound, and other things. The things which it might be considered lacking if you were comparing with (the somewhat similar) Unity3D are a 3D editor, and a more developed physics system (I’m only getting this from a quick glance at the website, so forgive me if I’m wrong…). I’m not knocking it though – Airplay appears very exciting.&lt;/p&gt;  &lt;p&gt;I currently lack the time to play around with it, but it looks pretty interesting to me. For a small fee, you can also target other mobile platforms like Android, without having to make changes to your code. Very cool!&lt;/p&gt;  &lt;p&gt;Check it out – &lt;a href="http://www.airplaysdk.com"&gt;www.airplaysdk.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6008409917346979124?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6008409917346979124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6008409917346979124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6008409917346979124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6008409917346979124'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/12/developing-iphone-apps-in-windows-in.html' title='Developing iPhone apps in Windows, in regular C++'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_t3G6O0vkb1k/TPhByiXNoaI/AAAAAAAAD_c/6GlaMXcvEvo/s72-c/apple_iphone_1_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-994978295831993376</id><published>2010-11-27T14:58:00.001-08:00</published><updated>2010-11-27T16:46:41.250-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><title type='text'>Windows DVD Maker Review</title><content type='html'>&lt;p&gt;I recently needed to create a DVD of some camcorder footage.&lt;/p&gt;  &lt;p&gt;I used to use software which came with my camcorder to pull the video from the camera, then various tools to edit, and finally Nero (which came with my DVD drive) to build the DVD with menus etc. It was a lot of messing around – but that’s what it’s like on PC (if you’re a cheapskate).&lt;/p&gt;  &lt;p&gt;This time, I’m running on Windows 7, and my old Nero disc is incompatible. Never mind though – Windows 7 is all Mac-like and comes with ‘Windows Live Movie Maker’ and ‘Windows DVD Maker’. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Live Movie Maker&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Windows Live Movie Maker 2011 worked quite nicely. It imported my video from my camera (over firewire). It created a single AVI with several internal clips. Movie Maker has nice simple editing, though the location of the clips wasn’t highlighted. Movie Maker can ‘Save as -&gt; Burn a DVD’. This first saves a WMV file, and then starts Windows DVD Maker.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows DVD Maker&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;DVD Maker takes one or more WMV files, allows you to configure the DVD menu, and then burns to DVD.&lt;/p&gt;  &lt;p&gt;Pros:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Has some nice menu templates, with animation and fun transitions. It’s not out of this world, but enough to make your amateur DVD making look quite nice.&lt;/li&gt;    &lt;li&gt;Simple to use.&lt;/li&gt;    &lt;li&gt;Automatically takes your clips and creates scene selections from them.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Cons:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you specify one WMV it will automatically create several ‘scene selection’ clips. However, if you specify more than one WMV it will just make each video its own selection. I didn’t like this either/or option – I’d prefer an options menu which allowed me to choose.&lt;/li&gt;    &lt;li&gt;For me it repeatedly failed to the burn DVD with no useful explanation. Looking online, it seems like a common problem, and driver related. It's disappointing that DVD Maker fails to burn when other programs can burn OK.&lt;br /&gt;&lt;/li&gt;    &lt;li&gt;It only burns directly to disc, not ISO file. This is very annoying, as it failed to burn to DVD on my machine. I ended up using the trial version of ‘Virtual CD 10’ to act as a virtual DVD burner. (After trying many other virtual drive related products.)&lt;/li&gt;    &lt;li&gt;The scene selections didn’t match the clips in my video – they just seem arbitrary. Pressing ‘skip’ results in jumping over one whole clip, and landing part way through the next. Very odd. The DVD is only useful in ‘play’ mode – skipping and scene selection are inaccurate. This really detracts from the usefulness of the DVD.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The number of scene selections is limited to a fixed maximum imposed by the menu style you choose. The highest number of clips available appears to be 18. While this is enough for most uses, it's not hard to hit the limit.&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Overall I was very disappointed by the experience. The gloss of Windows 7 seems very thin in the area of DVD creation. DVD Maker was superficially pretty, but then took hours of time to work around its lack of obvious features, and ultimately produced a poor quality DVD.&lt;/p&gt;  &lt;p&gt;And finally, burning an ISO to a disc turned into another debacle of multiple programs being downloaded and tried. I eventually used ImgBurn to do it.&lt;/p&gt;  &lt;p&gt;I like Windows 7, but I’m disappointed that DVD authoring hasn’t improved since XP. This one facet of Windows makes me wish I was on a Mac.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-994978295831993376?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/994978295831993376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=994978295831993376' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/994978295831993376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/994978295831993376'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/11/windows-dvd-maker-review.html' title='Windows DVD Maker Review'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-9007634447754575976</id><published>2010-11-25T00:14:00.001-08:00</published><updated>2010-11-25T00:15:35.091-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>3D Math Tutorials</title><content type='html'>&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_t3G6O0vkb1k/TO4a8LM0jEI/AAAAAAAAD_M/dXKIj0GmC-I/s1600-h/VectorMath%5B4%5D.png"&gt;&lt;img style="background-image: none; border: 0px none; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px;" title="VectorMath" alt="VectorMath" src="http://lh6.ggpht.com/_t3G6O0vkb1k/TO4a8zV4nhI/AAAAAAAAD_Q/4SD5onQ-csE/VectorMath_thumb%5B2%5D.png?imgmax=800" align="left" border="0" height="132" width="183" /&gt;&lt;/a&gt;I teach a game programming class at the Art Institute of Los Angeles.&lt;/p&gt;  &lt;p&gt;I recently did a review of 3D Vector Math with my class, and thought that the slides would be good to share online. Vector math is one of those essential skills for game programmers, and a common topic in interviews.&lt;/p&gt;  &lt;p&gt;If you’re looking to practice your vector math and learn a few new applications, enjoy…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="https://docs.google.com/present/edit?id=0Ae3a61nOhU6lZGZwMjhyZmtfMTE5ZnI5cXM3aGM&amp;amp;hl=en"&gt;Part 1&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="https://docs.google.com/present/edit?id=0Ae3a61nOhU6lZGZwMjhyZmtfMTIwZGdtbTMyY3M&amp;amp;hl=en"&gt;Part 2&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="https://docs.google.com/present/edit?id=0Ae3a61nOhU6lZGZwMjhyZmtfMTIxcGpidzI0bnc&amp;amp;hl=en"&gt;Part 3&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="https://docs.google.com/present/edit?id=0Ae3a61nOhU6lZGZwMjhyZmtfMTIzZmhuZjhtZ2s&amp;amp;hl=en"&gt;Part 4&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="https://docs.google.com/present/edit?id=0Ae3a61nOhU6lZGZwMjhyZmtfMTM1YzZ2N3pqY2I&amp;amp;hl=en"&gt;Part 5&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note: I reserve the right to be inefficient and also down-right wrong. Feedback is welcome.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-9007634447754575976?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/9007634447754575976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=9007634447754575976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9007634447754575976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9007634447754575976'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/11/3d-math-tutorials.html' title='3D Math Tutorials'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_t3G6O0vkb1k/TO4a8zV4nhI/AAAAAAAAD_Q/4SD5onQ-csE/s72-c/VectorMath_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2789045741676421711</id><published>2010-07-29T14:12:00.000-07:00</published><updated>2010-07-29T14:16:07.579-07:00</updated><title type='text'>Gnarcade Video</title><content type='html'>Another fun game related video.&lt;br /&gt;Gets better after first 30 seconds.&lt;br /&gt;I like the Portal bit.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tVljiwwqwfc&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tVljiwwqwfc&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2789045741676421711?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2789045741676421711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2789045741676421711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2789045741676421711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2789045741676421711'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/07/gnarcade-video.html' title='Gnarcade Video'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6965404659416213158</id><published>2010-07-10T15:32:00.000-07:00</published><updated>2010-07-10T15:39:00.621-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screensaver'/><title type='text'>3DPhotoSaver</title><content type='html'>I recently wrote a screensaver, in part to learn more C#/XNA. &lt;br /&gt;Here's a video of it in action. It shows your photos and videos as a floating slideshow. While I was making it, I would often get stuck just watching it, and forget that I was meant to be coding.&lt;br /&gt;You can download a trial version on the its &lt;a href="http://3dphotosaver.webs.com/"&gt;website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="270"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_PAFLxF_I24&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_PAFLxF_I24&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="480" height="270"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6965404659416213158?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6965404659416213158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6965404659416213158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6965404659416213158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6965404659416213158'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/07/3dphotosaver.html' title='3DPhotoSaver'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-7117360589801105799</id><published>2010-04-08T17:25:00.000-07:00</published><updated>2010-04-08T17:28:58.927-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rand'/><title type='text'>Great Video - 'Pixels'</title><content type='html'>Cool video. There's surely a 'major motion picture' which could be made in this vein.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="270"&gt;&lt;param name="movie" value="http://www.dailymotion.com/swf/video/xcv6dv"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/video/xcv6dv" width="480" height="270" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.dailymotion.com/video/xcv6dv_pixels-by-patrick-jean_creation"&gt;PIXELS by PATRICK JEAN.&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Uploaded by &lt;a href="http://www.dailymotion.com/onemoreprod"&gt;onemoreprod&lt;/a&gt;. - &lt;a href="http://www.dailymotion.com/us/channel/creation"&gt;Independent web videos.&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-7117360589801105799?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/7117360589801105799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=7117360589801105799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7117360589801105799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7117360589801105799'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/04/great-video-pixels.html' title='Great Video - &apos;Pixels&apos;'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3387971241108696583</id><published>2010-02-22T12:47:00.001-08:00</published><updated>2010-02-22T12:47:07.218-08:00</updated><title type='text'>Collision detection and physics in XNA</title><content type='html'>&lt;p&gt;It’s like a Lego owner admitting that they prefer Duplo, but I’m fond of C# and XNA for game making. If you don’t need every ounce of performance, then C# can greatly cut down your coding time.&lt;/p&gt;  &lt;p&gt;One of the things which is lacking from XNA is a collision/physics system. There are some ‘wrapped’ unmanaged libraries, but if you want to leave the door open to running your game on 360 then you need a 100% unmanaged solution.&lt;/p&gt;  &lt;p&gt;I just came across &lt;a href="http://www.codeplex.com/JigLibX"&gt;JibLibX&lt;/a&gt; (via &lt;a href="http://blogs.msdn.com/ireland/archive/2009/03/17/xna-questions-physics-engines-amp-a-new-xna-3-0-book.aspx"&gt;here&lt;/a&gt;), which is a native port of JibLib (i.e. someone took the C++ code and rewrote it in C#). I’ve only run the sample so far, but it looks good.&lt;/p&gt;  &lt;p&gt;Here’s a video of someone having fun with JibLibX.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:c14f8686-fd91-4f99-b7a9-7c6beac2ef1b" class="wlWriterEditableSmartContent"&gt;&lt;div id="2f28df77-a496-4b66-b217-bf1aaeecc523" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=Dh_JObRvyDw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" target="_new"&gt;&lt;img src="http://lh5.ggpht.com/_t3G6O0vkb1k/S4LtStjsQJI/AAAAAAAADkE/tvicSImk_tU/video3010e1276b83%5B3%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('2f28df77-a496-4b66-b217-bf1aaeecc523'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/Dh_JObRvyDw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/Dh_JObRvyDw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3387971241108696583?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3387971241108696583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3387971241108696583' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3387971241108696583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3387971241108696583'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/02/collision-detection-and-physics-in-xna.html' title='Collision detection and physics in XNA'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_t3G6O0vkb1k/S4LtStjsQJI/AAAAAAAADkE/tvicSImk_tU/s72-c/video3010e1276b83%5B3%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6509752621735489581</id><published>2010-02-19T14:30:00.001-08:00</published><updated>2010-02-19T22:21:55.355-08:00</updated><title type='text'>Why penny stock tips are a scam</title><content type='html'>&lt;p&gt;The following is conjecture on my part, but it seems sound to me.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here’s my easy, step by step guide to becoming seriously rich with penny stocks.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a simple website telling people to sign up for your penny stock tips.&lt;/li&gt;    &lt;li&gt;Advertise the site anywhere where uneducated potential investors might be. (The greedier and stupider the better.)&lt;/li&gt;    &lt;li&gt;Choose a penny stock which seems like a good investment. Ideally you’ll do some good research and find a sound deal, but you can just pick one at random if you like.&lt;/li&gt;    &lt;li&gt;Gradually buy up a bunch of stock in that company at its current low price.&lt;/li&gt;    &lt;li&gt;Create 'sell orders’ with your broker to sell the stock if it goes up by a certain percentage, let’s say 25% up from where you just bought it.&lt;/li&gt;    &lt;li&gt;Write a convincing letter about why you think this stock is about to “EXPLODE!”. Say you’ve got some magic system which is almost always right.&lt;/li&gt;    &lt;li&gt;Mail all the people on your mailing list to tell them to ‘buy it right away’.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Result:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Your mail goes out, and some percentage of your readers buy the stock.&lt;/li&gt;    &lt;li&gt;As penny stocks have low volume, there are few people currently attempting to sell the stock. This means that the people with sell orders (you) can pretty much ‘name their price’. This is different with regular stocks where the volume is so high that there are lots of people trying to sell the stock around the current price.&lt;/li&gt;    &lt;li&gt;They buy their stock from you, at the price you decided that you wanted.&lt;/li&gt;    &lt;li&gt;The stock price (i.e. what people are paying for the stock) shoots up, just as you predicted! (You’re a genius!)&lt;/li&gt;    &lt;li&gt;The people buying the stock have a short period to resell it to others caught in the frenzy.&lt;/li&gt;    &lt;li&gt;Then things calm down. There are no more frantic buyers to push the price up. Some people sell at a loss to get back out, and the price of the stock starts falling back down to the pre-boom level. Unfortunately, your helpers are stuck with stock that’s hard to sell and people aren’t buying – but that’s not your problem.&lt;/li&gt;    &lt;li&gt;You get to cite the huge gains as proof positive of your skills, which makes more people trust you in your next pick!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I was excited by penny stocks until I worked this out. I might be a bit wrong in parts, but my magic system tells me I’m pretty close.&lt;/p&gt;  &lt;p&gt;I also found this post on Yahoo! Answers to be quite &lt;a href="http://answers.yahoo.com/question/index?qid=20090323234038AA2zyeq"&gt;sanity inducing&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6509752621735489581?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6509752621735489581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6509752621735489581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6509752621735489581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6509752621735489581'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/02/how-to-make-fortune-from-penny-stocks.html' title='Why penny stock tips are a scam'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-5978437871081790117</id><published>2010-02-01T10:21:00.001-08:00</published><updated>2010-02-01T10:21:09.332-08:00</updated><title type='text'>HTML5 and O3D</title><content type='html'>&lt;p&gt;I keep on hearing about the existence of HTML5, and how it takes a big bite out of the need for flash. Here’s a cool (40min) video about the main things in it.&lt;/p&gt;  &lt;p&gt;The message appears to be ‘this stuff is all available now, have at it’. Mention of Internet Explorer is strangely missing, but I know IE has at least some support.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f58b772e-15e4-4d8a-8f2f-df71a6917576" class="wlWriterEditableSmartContent"&gt;&lt;div id="69235f9a-d782-439a-8e0b-06d7c7be4d3d" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=siOHh0uzcuY&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" target="_new"&gt;&lt;img src="http://lh6.ggpht.com/_t3G6O0vkb1k/S2cbkwDDhPI/AAAAAAAADbw/7C7WGj7Huvw/video55bd9f85abf9%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('69235f9a-d782-439a-8e0b-06d7c7be4d3d'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/siOHh0uzcuY&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/siOHh0uzcuY&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another interesting up and coming technology O3D, which “is an open-source web API for creating rich, interactive 3D applications in the browser”. I looked at a demo, and you write your app/game in JavaScript.&lt;/p&gt;  &lt;p&gt;Here’s a (1min) video of O3D in action. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:c39a224e-e24c-49c9-a72e-80bfa3093a9a" class="wlWriterEditableSmartContent"&gt;&lt;div id="83dbb1c8-a98c-491c-b597-96e1132aa389" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=uofWfXOzX-g&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" target="_new"&gt;&lt;img src="http://lh6.ggpht.com/_t3G6O0vkb1k/S2cblKgWzLI/AAAAAAAADb0/-0REqXl2H44/videobc8dc44bf4aa%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('83dbb1c8-a98c-491c-b597-96e1132aa389'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/uofWfXOzX-g&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/uofWfXOzX-g&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;It’s going to be interesting to see where the internet and gaming is in a few years. It looks like we might all be learning JavaScript :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-5978437871081790117?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/5978437871081790117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=5978437871081790117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5978437871081790117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5978437871081790117'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/02/html5-and-o3d.html' title='HTML5 and O3D'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_t3G6O0vkb1k/S2cbkwDDhPI/AAAAAAAADbw/7C7WGj7Huvw/s72-c/video55bd9f85abf9%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-9009744396937614289</id><published>2010-01-29T09:37:00.000-08:00</published><updated>2010-01-29T09:42:27.781-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MoonPod'/><title type='text'>MoonPod release Pirate Princess</title><content type='html'>My good friends at MoonPod have recently released a new game &lt;a href="http://www.moonpod.com/"&gt;Pirate Princess&lt;/a&gt;.&lt;div&gt;It's getting good reviews. Well done guys!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/suzvjI-XxqY&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/suzvjI-XxqY&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-9009744396937614289?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/9009744396937614289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=9009744396937614289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9009744396937614289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9009744396937614289'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/01/moonpod-release-pirate-princess.html' title='MoonPod release Pirate Princess'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-4605964046329282629</id><published>2010-01-29T09:21:00.000-08:00</published><updated>2010-02-03T09:54:50.716-08:00</updated><title type='text'>Avoid losing your tech by giving it a name tag</title><content type='html'>&lt;div&gt;&lt;div&gt;After I lost a thumb drive a while ago I decided to put a &lt;b&gt;PLEASE_RETURN_ME.TXT&lt;/b&gt; in the root of all my flash drives. The readme contains a request to return the object, and contact instructions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can also do this with the flash memory in your digital camera. Another couple of options for a camera are storing a picture containing a 'please return to me@whatever.com' message, or slipping a bit of paper with your email address into the battery compartment.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oh, and I suppose you can also write or scratch your email on things if you're old skool :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.moonpod.com/English/about_pirateprincess.php" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 440px; height: 55px; " src="http://lh3.ggpht.com/_t3G6O0vkb1k/S2m1XQ5cD_I/AAAAAAAADdA/eU9jiD6lO9w/s720/ppad2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4605964046329282629?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4605964046329282629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4605964046329282629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4605964046329282629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4605964046329282629'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/01/avoid-losing-your-tech-by-giving-it.html' title='Avoid losing your tech by giving it a name tag'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_t3G6O0vkb1k/S2m1XQ5cD_I/AAAAAAAADdA/eU9jiD6lO9w/s72-c/ppad2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1420490140389176827</id><published>2010-01-18T12:58:00.000-08:00</published><updated>2010-01-18T13:00:15.674-08:00</updated><title type='text'>iPhone sales stats</title><content type='html'>Noel Llopis has shared his stats and experiences selling Flower Garden over on &lt;a href="http://gamesfromwithin.com/making-a-living-barely-on-the-iphone-app-store"&gt;his blog&lt;/a&gt;. It's an interesting article, and a good blog to follow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1420490140389176827?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1420490140389176827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1420490140389176827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1420490140389176827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1420490140389176827'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2010/01/iphone-sales-stats.html' title='iPhone sales stats'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-5517020646387198724</id><published>2009-12-23T17:06:00.001-08:00</published><updated>2009-12-23T17:06:58.373-08:00</updated><title type='text'>Speeding up a PC</title><content type='html'>&lt;p&gt;A lot of people ask me for help with their PCs. A common complaint is that the PC is a few years old and runs very slowly. Below I list the main things I look for, with the most important at the top. They’re all free things apart from the first, which is fairly cheap.&lt;/p&gt;  &lt;h5&gt;Add More Memory&lt;/h5&gt;  &lt;p&gt;If your computer is a few years old and is running really slowly, then it likely doesn’t have enough memory. Buying more memory for an old machine is pretty cheap (roughly $30 to $100 depending on how much), and it can make a massive difference to the speed at which the computer runs.&lt;/p&gt;  &lt;p&gt;To find out how much memory your computer has, go to ‘&lt;em&gt;Start -&amp;gt; Control Panel -&amp;gt; System&lt;/em&gt;’ and then then on the ‘General’ tab, read how much memory you have. It should be something like ‘512MB of RAM’ or ‘2 GB or RAM’. There are 1024 MB (megabytes) in one GB (gigabyte). New computers currently come with around 2 to 4 GB of memory. If you’re on Windows XP or earlier, I’d aim for 1 GB. If you have less than 512MB, then adding more memory should speed things up &lt;em&gt;greatly&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Buying and fitting memory usually requires a geek who’s done it before. They can use a tool like this one to make the selection process easier: &lt;a href="http://www.crucial.com/systemscanner/index.aspx"&gt;http://www.crucial.com/systemscanner/index.aspx&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;Change your Anti Virus&lt;/h5&gt;  &lt;p&gt;Many people have an old/expired version of McAfee or Norton installed. If you’ve not paid for it in the last year, and know you’re running the latest version, I recommend uninstalling it and installing either &lt;a href="http://www.microsoft.com/Security_Essentials/"&gt;Microsoft Security Essentials&lt;/a&gt;, &lt;a href="http://download.cnet.com/Avast-Home-Edition-Free-Antivirus/3000-2239_4-10019223.html?tag=mncol"&gt;Avast&lt;/a&gt; or &lt;a href="http://download.cnet.com/AVG-Anti-Virus-Free-Edition/3000-2239_4-10320142.html?tag=mncol"&gt;AVG&lt;/a&gt;. They’re all free and more up to date than what you are using. Also they may offer better performance.&lt;/p&gt;  &lt;p&gt;In-between removing the old anti-virus and installing the new one, play with your computer for a few minutes to see if it’s any faster.&lt;/p&gt;  &lt;h5&gt;Change your Internet Browser&lt;/h5&gt;  &lt;p&gt;Most people use a web browser most of the time, and generally use Internet Explorer. &lt;a href="http://www.mozilla.com/en-US/firefox/firefox.html"&gt;Firefox&lt;/a&gt; and &lt;a href="http://www.google.com/chrome"&gt;Chrome&lt;/a&gt; are two other good browsers. Chrome claims to be very ‘light’ and fast. Using this on a slow machine might give a noticeable difference while surfing the web. It doesn’t take much getting used to either. Again, these browsers are free.&lt;/p&gt;  &lt;p&gt;Another browser related thing to do is uninstall the toolbars you don’t use. They likely don’t slow things down a lot, but they take up a lot of screen space.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Speeding Up Startup&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When Windows starts up, lots of installed programs try and start at once. This causes something similar to a traffic jam in the computer, and right at the time that you want to start doing things too. Using a free program like &lt;a href="http://download.cnet.com/Startup-Delayer/3000-2344_4-10068235.html"&gt;Startup Delayer&lt;/a&gt; allows you to see what programs start at startup (which might give you more ideas about what to uninstall) and allows you to delay their startup. I spread things out so that some programs wait up to 15 minutes before starting. I’ve not measured this, but it’s my feeling that this can give a small but noticeable improvement in the time it takes Windows to become responsive after starting.&lt;/p&gt;  &lt;h5&gt;Uninstalling Programs&lt;/h5&gt;  &lt;p&gt;Generally I’m a fan of uninstalling unused stuff. My main target is things which start when Windows starts and then keep on running. It’s hard to know what to uninstall and what you need. If you have a geeky friend, I recommend the following:&lt;/p&gt;  &lt;p&gt;Go to ‘Start -&amp;gt; Control Panel -&amp;gt; Add or Remove Programs’. The computer will take a short time to list all the programs installed. Read down the list and write down the names of all the things you think you don’t need. Check this list with your geeky friend, and then go back to the list and uninstall the approved items.&lt;/p&gt;  &lt;h5&gt;Defragging&lt;/h5&gt;  &lt;p&gt;Most people know that defragging a hard drive can help improve performance. The debugger is available from ‘Start -&amp;gt; Programs -&amp;gt; Accessories -&amp;gt; System Tools -&amp;gt; Disk Defragmenter’. Then you select your ‘C’ drive and click ‘Defragment’ (or similar).&lt;/p&gt;  &lt;p&gt;I like to keep my drive defragged and do recommend that it’s done once a year or so, but sadly I’ve never really seen much of an improvement in performance result.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;THINGS I DON’T DO&lt;/h4&gt;  &lt;h5&gt;Registry Cleaners&lt;/h5&gt;  &lt;p&gt;I avoid programs which promise to magically speed up your machine by cleaning your registry or removing unused files. Some of these programs might work, but I think that many are really just useless or installing malware (like viruses and spying programs) on your machine.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Upgrade an old machine to Vista or Windows 7&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Computers keep getting more powerful, and the Windows operating system keeps getting ‘heavier to run’ at a similar pace. Installing a new (heavier) version of Windows on an older machine is going to result in slow performance. An old machine is best at running operating systems which came out around the time that the hardware with. So if your machine is running Windows 2000, then you might consider XP, but Vista would likely kill your machine. This is my opinion, and just a broad rule of thumb.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-5517020646387198724?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/5517020646387198724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=5517020646387198724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5517020646387198724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5517020646387198724'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2009/12/speeding-up-pc.html' title='Speeding up a PC'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6662258097163573492</id><published>2009-06-09T18:15:00.000-07:00</published><updated>2009-09-21T08:40:50.336-07:00</updated><title type='text'>Robot Snake</title><content type='html'>I think robots are cool and all, but I wasn't super excited by the recent talk of robots being the next big thing.&lt;br /&gt;&lt;br /&gt;Well that all just changed for me. I just saw at &lt;a href="http://www.engadget.com/2009/06/09/israeli-military-develops-robot-snake-for-battlefield-children/"&gt;Engadget&lt;/a&gt; that Israeli military made a robot snake. It's awesome!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/R14Y8h2xNRI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/R14Y8h2xNRI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6662258097163573492?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6662258097163573492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6662258097163573492'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2009/06/robot-snake.html' title='Robot Snake'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2681422025126477876</id><published>2009-06-03T09:30:00.000-07:00</published><updated>2009-06-03T10:02:20.987-07:00</updated><title type='text'>PS3 and Xbox 360 Motion Controller Videos</title><content type='html'>Here are a couple of videos from E3.&lt;br /&gt;&lt;br /&gt;Here's Sony's presentation of their new motion controller.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bgLN7uOj8Jg&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/bgLN7uOj8Jg&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;And here's a polished Ad-style video of Microsoft's Project Natal.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="265" id="viddler"&gt;&lt;param name="movie" value="http://www.viddler.com/simple_on_site/44771808" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/simple_on_site/44771808" width="437" height="265" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler" &gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I think they're both very exciting and will be must-buy peripherals respectively. I thought Natal looked good, but then saw the PS3 demo. The PS3's high precision and buttons might make more serious gamer friendly, but I guess we'll just have to see what happens when they come out...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2681422025126477876?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2681422025126477876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2681422025126477876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2681422025126477876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2681422025126477876'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2009/06/ps3-and-xbox-360-motion-controller.html' title='PS3 and Xbox 360 Motion Controller Videos'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-4747694269135744112</id><published>2009-06-02T12:31:00.000-07:00</published><updated>2009-06-03T10:06:06.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sketchup'/><title type='text'>Free models for XNA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://sketchup.google.com/crimages/FullCar.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 174px; height: 130px;" src="http://sketchup.google.com/crimages/FullCar.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A common problem for programmers is getting some decent artwork to use. I've previously posted about &lt;a href="http://gamecreator.blogspot.com/2007/05/sketchup.html"&gt;Sketchup&lt;/a&gt; but recently came across something new.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jamesewelch.wordpress.com/2008/03/07/how-to-load-a-google-sketchup-model-into-a-xna-game/"&gt;Rob's blog&lt;/a&gt; gives instructions about how to export Sketchup models to the XNA '.X' format. This means you can download free models from the Sketchup &lt;a href="http://sketchup.google.com/3dwarehouse/"&gt;3D Warehouse&lt;/a&gt;, export them to .X format, and use them in your 3D XNA program.&lt;br /&gt;&lt;br /&gt;If you need to modify the model, you can do so in Sketchup or &lt;a href="http://www.caligari.com/Products/trueSpace/tS75/Brochure/guidedtour.asp"&gt;TrueSpace&lt;/a&gt; (also free).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Potential Problems&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Not all Sketchup models are textured, and the ones with textures may need a bit of love to make them work in your game. Specifically the textures may be non power-of-two in size. To fix this you just need to scale the image in a paint program (I like &lt;a href="http://www.getpaint.net/"&gt;Paint.net&lt;/a&gt;) so that instead of being some funky size like 13x111, they're power of two sized, like 16x128. The model should still look fine.&lt;/li&gt;&lt;li&gt;Models may be textured using many textures (the one I looked at used about 20). This isn't a problem if you're not concerned about performance, but the frequent render-state changes will cause performance problems if you're rendering a lot.&lt;/li&gt;&lt;li&gt;Models may be positioned away from the origin in the Sketchup scene, and need moving back.&lt;/li&gt;&lt;li&gt;Models will likely not be the scale you want, so you'll need to adjust this.&lt;/li&gt;&lt;li&gt;Models may be pointing down the wrong axis and need rotating.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The exporter is a Ruby Script file. Reading the file, one should be able to become familiar with the Ruby scripting language, and the Sketchup API. It should therefore be possible to use Sketchup as a level editor (as mentioned &lt;a href="http://gamecreator.blogspot.com/2007/05/sketchup.html"&gt;previously&lt;/a&gt;) and write a custom exporter in Ruby. Nice!&lt;br /&gt;&lt;br /&gt;(Note - I'm not sure whether models from the 3DWarehouse can be used in commercial products, but they'll be fine for home/demo use.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4747694269135744112?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4747694269135744112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4747694269135744112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4747694269135744112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4747694269135744112'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2009/06/free-models-for-xna.html' title='Free models for XNA'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1768688847639157942</id><published>2009-05-18T22:29:00.000-07:00</published><updated>2009-05-18T22:29:59.869-07:00</updated><title type='text'>Haunted Game Cafe</title><content type='html'>My friend Gary Sproul, who used to be a designer at Heavy Iron, has decided to make a big change. He's left the game industry to open his own store selling modern board games. I know there's a whole bunch of people at Heavy Iron who like to play them - I'm going to join in one of these days.&lt;br /&gt;&lt;br /&gt;He's created a website &lt;a href="http://www.hauntedgamecafe.com/shop/"&gt;www.hauntedgamecafe.com&lt;/a&gt;, and is in the process of setting up a physical store too.&lt;br /&gt;&lt;br /&gt;Best of luck Gary! Few people have the courage to live the life they want to.&lt;br /&gt;&lt;br /&gt;Everyone else - like board games? need present ideas? like getting parcels in the mail?  You know where to go...&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.hauntedgamecafe.com/shop/"&gt;HauntedGameCafe.com&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1768688847639157942?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1768688847639157942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1768688847639157942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1768688847639157942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1768688847639157942'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2009/05/haunted-game-cafe.html' title='Haunted Game Cafe'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-5954334324194808103</id><published>2009-02-17T11:30:00.001-08:00</published><updated>2009-02-17T11:30:39.076-08:00</updated><title type='text'>Walking on uneven surfaces</title><content type='html'>&lt;p&gt;TomF just &lt;a href="http://home.comcast.net/~tom_forsyth/blog.wiki.html#[[How%20to%20walk%20better]]"&gt;posted this&lt;/a&gt; on his (cool) blog. Rune Skovbo Johansen has done some research on 'Dynamic Walking with Semi-Procedural Animation'. Here's a video of his results which he posted on &lt;a href="http://runevision.com/blog/"&gt;his blog&lt;/a&gt;.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:26f417a2-5d18-496e-b296-2b20405b7c56" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/v2q5kuic6HA&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/v2q5kuic6HA&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-5954334324194808103?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/5954334324194808103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=5954334324194808103' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5954334324194808103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5954334324194808103'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2009/02/walking-on-uneven-surfaces.html' title='Walking on uneven surfaces'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2468672661483067005</id><published>2009-01-18T23:03:00.000-08:00</published><updated>2009-01-18T23:07:07.917-08:00</updated><title type='text'>Faster Sprite Creation</title><content type='html'>Creating sprites for 2D games can be a very time consuming process.&lt;br /&gt;&lt;br /&gt;After becoming so &lt;a href="http://gamecreator.blogspot.com/2006/08/favourite-tools-inkscape.html"&gt;smitten with Inkscape&lt;/a&gt; for vector graphics it occurred to me that one could use vector graphic animation to generate sprites. I've not used it, but &lt;a href="http://synfig.org/Main_Page"&gt;Synfig&lt;/a&gt; is a free / open source 2D vector animation package.&lt;br /&gt;&lt;br /&gt;After creating a vector graphic character, you can build an animation quickly from a few key frames, rather than animating every frame at, say, 30 frames per second. You can then quickly export the animation to bitmaps, and plug it in (likely using some other tools for image manipulation). Finally, you can quickly modify the animation and re-export it without the need to manually touch thousands of pixels.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2468672661483067005?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2468672661483067005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2468672661483067005' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2468672661483067005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2468672661483067005'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2009/01/faster-sprite-creation.html' title='Faster Sprite Creation'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-7480737841572094832</id><published>2008-12-24T11:00:00.000-08:00</published><updated>2009-01-13T17:43:36.831-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Small Basic</title><content type='html'>Microsoft have created &lt;a href="http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx"&gt;Small Basic&lt;/a&gt;, a Basic language aimed at kids (and adults) learning to program. If you've not programmed before, or want to teach a kid, then this looks like one good option. Taking a skim through &lt;a href="http://download.microsoft.com/download/9/0/6/90616372-C4BF-4628-BC82-BD709635220D/Introducing%20Small%20Basic.pdf"&gt;their PDF&lt;/a&gt;, it looks like they guide you through a wide selection of fun learning projects.&lt;br /&gt;&lt;br /&gt;It's based on .Net, and so has advanced features like auto completion and context based help. I wish I had some nice features like that when I was learning basic on my ZX Spectrum :)&lt;br /&gt;&lt;br /&gt;Now there's a useful gift for a kid - the ability to program computers. Happy Holidays!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Edit:&lt;/span&gt; Note that there's also an &lt;a href="http://blogs.msdn.com/smallbasic/"&gt;official blog&lt;/a&gt; which gives updates and sample programs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-7480737841572094832?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/7480737841572094832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=7480737841572094832' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7480737841572094832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7480737841572094832'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/12/small-basic.html' title='Small Basic'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-764038244587528767</id><published>2008-11-21T08:38:00.001-08:00</published><updated>2008-11-21T08:38:35.605-08:00</updated><title type='text'>Getting fresh ideas from your staff</title><content type='html'>&lt;p&gt;Having worked at several companies, I've often heard 'We want your ideas for cool new games.' If an employee suggests an idea, here's the deal they normally get:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;Give us your cool idea. If we like it, we keep all the money and you get a T-shirt.&amp;#160; If we don't like it, you still lose all rights to it.&amp;quot; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Sound like a good deal?&lt;/p&gt;  &lt;p&gt;Let's say that an employee comes up with an idea you like, and it makes your company three million dollars in profit. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Would you be willing to give that person a small percentage of the profit? (Let's say 5% - 150K). &lt;/li&gt;    &lt;li&gt;Let's say that someone else suggested an idea which you didn't want to use. Would you be OK saying the following? &amp;quot;We're not planning on using your idea now, so you can keep it&amp;quot;.&lt;/li&gt;    &lt;li&gt;If the answer to these questions is yes, then you should formalize the rules and let your staff know how it works. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Inevitably, a lot of questions will come up - do my royalties continue if I leave the company? What happens if the company initially says they do not want my idea, but use it later on? What happens if sequels are made? What if my idea is smaller, like a mini game or new funky shader? etc. &lt;/p&gt;  &lt;p&gt;Here I have a few suggestions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Answer all these questions on an intranet page which people can look at without having to ask the questions themselves. If people have to ask, you put them in the awkward situation of implying &amp;quot;I've got a cool idea, but I don't want to give it to you.&amp;quot;&lt;/li&gt;    &lt;li&gt;Let your guiding principle be that you want to be nice to the employees, so they're happy to share. They wont share if they don't trust your intentions.&lt;/li&gt;    &lt;li&gt;Your intranet page explaining how the deal works is basically a sales letter, or offer. If you don't make the offer tempting enough, they'll just hang on to their ideas.&lt;/li&gt;    &lt;li&gt;You can cover your back with whatever legalese you want. Just make your intentions clear and honest, and 'do the right thing' if issues arise.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It would take some courage to formalize something like this, but it's my feeling that a company capable of doing so is going to be making a lot more money.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-764038244587528767?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/764038244587528767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=764038244587528767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/764038244587528767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/764038244587528767'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/11/getting-fresh-ideas-from-your-staff.html' title='Getting fresh ideas from your staff'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2671265440842845365</id><published>2008-11-08T10:21:00.000-08:00</published><updated>2008-11-08T10:28:10.939-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Free Subversion hosting at XP-Dev.com</title><content type='html'>I had been using &lt;a href="http://www.assembla.com/"&gt;Assembla.com&lt;/a&gt; for Subversion control of my files. They recently announced that private repositories are no longer going to be free of charge (though they are cheap).&lt;br /&gt;&lt;br /&gt;I decided to look for another alternative and found this &lt;a href="http://www.straw-dogs.co.uk/09/20/6-free-svn-project-hosting-services/"&gt;list of free SVN hosting sites&lt;/a&gt;. From the list I decided to choose &lt;a href="http://xp-dev.com"&gt;XP-Dev.com&lt;/a&gt;. It's a relatively no frills site, but free. It's only been a couple of days so far, but I really like it. The guy who runs it is very friendly and quick to help.&lt;br /&gt;&lt;br /&gt;If you're thinking of moving from Assembla to XP-Dev.com, here are some steps which make it easy:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Check all your code in to Assembla.&lt;/li&gt;&lt;li&gt;Download a dump of your repository from Assembla. To do this, click on:   SVN/Trac  &gt;  Import or Export your Subversion repository here  &gt;  Get SVN Backup&lt;/li&gt;&lt;li&gt;Set up an account and repository with XP-Dev. This takes about a minute, it's easy. Note that your username and repository name together become the url of your repo, e.g. BradPitt_MyRepoName&lt;/li&gt;&lt;li&gt;Email your Assembla repository dump and new repository name to XP-Dev support, and they'll set it up for you.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Then just set up a new folder to point to your repository. (With &lt;a href="http://tortoisesvn.tigris.org/"&gt;TortoiseSVN&lt;/a&gt; - Make a folder. Right click and select 'SVN Checkout'. Give it the server URL and username/password as needed.) Also I recommend keeping your old Assembla linked folder around, just in case you forgot to check a file in.&lt;br /&gt;&lt;br /&gt;Happy coding!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2671265440842845365?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2671265440842845365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2671265440842845365' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2671265440842845365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2671265440842845365'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/11/free-subversion-hosting-at-xp-devcom.html' title='Free Subversion hosting at XP-Dev.com'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1381197929181846591</id><published>2008-07-24T15:09:00.001-07:00</published><updated>2008-07-24T15:09:15.537-07:00</updated><title type='text'>Free 3D Modeling Packages</title><content type='html'>&lt;p&gt;Here's a list of free 3D modelling tools which could be used in developing your own games:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.blender.org/"&gt;Blender&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sketchup.google.com/"&gt;Sketchup&lt;/a&gt; (mentioned in an &lt;a href="http://gamecreator.blogspot.com/2007/05/sketchup.html"&gt;earlier post&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.caligari.com/default.asp"&gt;trueSpace&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I'll also give a mention to &lt;a href="http://chumbalum.swissquake.ch/"&gt;Milkshape&lt;/a&gt;, which is a $35 shareware modeling program with a 30 day free trial.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1381197929181846591?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1381197929181846591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1381197929181846591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1381197929181846591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1381197929181846591'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/07/free-3d-modeling-packages.html' title='Free 3D Modeling Packages'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2654297660380129506</id><published>2008-07-18T15:07:00.001-07:00</published><updated>2008-07-18T15:07:23.440-07:00</updated><title type='text'>How to compile from the command line with Visual Studio</title><content type='html'>&lt;p&gt;I often forget how to compile a project from the command line. Here's my little reminder: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;First run C:\Program Files\Microsoft Visual Studio 8\VC\&lt;strong&gt;vcvarsall.bat&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Then call something of the form:&amp;#160; &lt;strong&gt;devenv c:\Foo\MySolution.sln /build &amp;quot;Release&amp;quot;&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note that this works for Visual Studio 2005. Small changes may be needed in other versions. Also, I don't think 'devenv' comes with the Express edition - try using 'VCExpress.exe' instead.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2654297660380129506?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2654297660380129506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2654297660380129506' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2654297660380129506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2654297660380129506'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/07/how-to-compile-from-command-line-with.html' title='How to compile from the command line with Visual Studio'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3214599299207389906</id><published>2008-07-13T22:40:00.001-07:00</published><updated>2008-07-13T22:46:14.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>TrueType to bitmap conversion</title><content type='html'>A common bit of code which needs writing for game UI's is something which converts a TrueType font to being bitmap based, so it can be rendered in game efficiently.&lt;br /&gt;&lt;br /&gt;A friend of mine has written a shareware app called &lt;a href="http://hexforge.com/fontrast.shtml"&gt;Fontrast&lt;/a&gt; which does just this. Well worth the $15 compared with spending the time to write it yourself...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3214599299207389906?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3214599299207389906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3214599299207389906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3214599299207389906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3214599299207389906'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/07/truetype-to-bitmap-conversion.html' title='TrueType to bitmap conversion'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-4282919406273306735</id><published>2008-07-01T13:59:00.001-07:00</published><updated>2008-07-01T14:02:52.920-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Middleware'/><title type='text'>List of Game Middleware</title><content type='html'>I've spoken about Middleware for games a few times (click tag for more). &lt;a href="http://www.gamemiddleware.org"&gt;GameMiddleware.org&lt;/a&gt; has a &lt;a href="http://www.gamemiddleware.org/middleware/index.html"&gt;list&lt;/a&gt; of many of the options.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4282919406273306735?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4282919406273306735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4282919406273306735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4282919406273306735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4282919406273306735'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/07/list-of-game-middleware.html' title='List of Game Middleware'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1479599309858060808</id><published>2008-06-26T20:57:00.000-07:00</published><updated>2008-06-26T22:36:38.065-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Cuda'/><title type='text'>What does Cuda code look like?</title><content type='html'>&lt;p&gt;A couple of posts ago I gave an overview of &lt;a href="http://gamecreator.blogspot.com/2008/06/what-is-cuda.html"&gt;what Cuda is&lt;/a&gt;. Dr Dobbs has a great series of &lt;a href="http://www.ddj.com/hpc-high-performance-computing/207200659" target="_blank"&gt;articles introducing Cuda&lt;/a&gt;. In this post, I'm going to blatantly pinch a bit of their code, to show what Cuda looks like.&lt;/p&gt;&lt;p&gt;Let's say we have an array of floats, and we want to increment each element in the array by 1. The regular C code for this might look like so: &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;void incrementArrayOnCPU(float *a, int N)&lt;br /&gt;{&lt;br /&gt;  for (int i=0; i &amp;lt; N; i++)&lt;br /&gt;  {&lt;br /&gt;    a[i] = a[i]+1.f;&lt;br /&gt;  }&lt;br /&gt;}&lt;/span&gt; &lt;/p&gt;&lt;p&gt;With Cuda we can instead run many threads at once with each incrementing one element in the array. &lt;/p&gt;&lt;p&gt;The function which runs on the GPU is called the 'Kernel'. The kernel can't access regular memory, so any memory it uses needs to be specially allocated. Look at the following code (which is modified from the Dr Dobbs sample for readability, and may not compile now). &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;void IncrementArray()&lt;br /&gt;{&lt;br /&gt;  // Create an array of 102 floats&lt;br /&gt;  #define N 102&lt;br /&gt;  float mainMemoryArr[N];&lt;br /&gt;  for (i=0; i&amp;lt;N; i++)&lt;br /&gt;    mainMemoryArr[i] = (float)i; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;  // Copy data to the graphics card memory&lt;br /&gt;  float *gpuMemoryArr;&lt;br /&gt;  cudaMalloc((void **) &amp;amp;gpuMemoryArr, size);&lt;br /&gt;  cudaMemcpy(gpuMemoryArr, mainMemoryArr, sizeof(float)*N, cudaMemcpyHostToDevice); &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;  // Calculate how many 'blocks' of threads we'll run&lt;br /&gt;  int blockSize = 4;&lt;br /&gt;  int nBlocks = N/blockSize + (N%blockSize == 0?0:1); &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;  // Run the GPU function&lt;br /&gt;  incrementArrayOnGPU &amp;lt;&amp;lt;&amp;lt; nBlocks, blockSize &amp;gt;&amp;gt;&amp;gt; (gpuMemoryArr, N); &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;  // Copy the modified memory back to main memory&lt;br /&gt;  cudaMemcpy(mainMemoryArr, gpuMemoryArr, sizeof(float)*N, cudaMemcpyDeviceToHost);&lt;br /&gt;}&lt;/span&gt; &lt;/p&gt;&lt;p&gt;So the code above does the following:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Allocates memory on the graphics card.&lt;/li&gt;&lt;li&gt;Copies the array there.&lt;/li&gt;&lt;li&gt;Runs 26 'blocks' of 4 threads each. (A total of 104 kernel executions)&lt;/li&gt;&lt;li&gt;Copies the modified memory back to main memory (which automatically blocks on the kernel threads completing). &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The 'kernel' function which runs on the graphics card looks like this: &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;__global__ void incrementArrayOnGPU(float *arr, int N)&lt;br /&gt;{&lt;br /&gt;  int idx = blockIdx.x*blockDim.x + threadIdx.x;&lt;br /&gt;  if (idx&amp;lt;N)&lt;br /&gt;    arr[idx] = arr[idx]+1.f;&lt;br /&gt;}&lt;/span&gt; &lt;/p&gt;&lt;p&gt;So it looks like C, apart from a couple of small differences and notes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The keyword __global__ identifies the function as a kernel function which will execute on the GPU.&lt;/li&gt;&lt;li&gt;There are 'blockIdx', 'blockDim' and 'threadIdx' variables, which are used to calculate the 'index' of this thread. I'll not go into the details of what exactly they mean, but it's pretty simple.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The 'if(idx&amp;lt;N)' part is because the kernel will actually be called for slightly more than the number of threads we request. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The 'blocks' construct seems like a bit of nuisance. It exists because that's the way the hardware works. I believe you could specify a block size of 1 to simplify things, but the reality would be that you'd have several of the processing elements sitting idle. You need to experiment with different block sizes to find which gives your program the best performance. &lt;/p&gt;&lt;p&gt;This was a trivial example of what can be done with Cuda. In reality, the kernel function would likely be doing quite a bit more work. Overall, if you're familiar with C, I think you can see that programming with Cuda is not too strange. There's just a couple of extra keywords and functions to call, but it's quite easy to understand...&lt;/p&gt;&lt;p&gt;If you want to learn more, start by reading the &lt;a href="http://www.ddj.com/hpc-high-performance-computing/207200659" target="_blank"&gt;Dr Dobbs articles&lt;/a&gt;, and downloading the SDK from the &lt;a href="http://www.nvidia.com/object/cuda_learn.html" target="_blank"&gt;Cuda Zone&lt;/a&gt;. The SDK comes with a load of samples for you to prod at. You can run in software emulation mode if you don't have a swanky graphics card, but it's pretty slow.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1479599309858060808?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1479599309858060808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1479599309858060808' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1479599309858060808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1479599309858060808'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/06/what-does-cuda-code-look-like.html' title='What does Cuda code look like?'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-7671920450655614963</id><published>2008-06-26T09:40:00.001-07:00</published><updated>2008-06-26T22:33:03.637-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Introduction to OpenMP - Easy multi-threading for C/C++</title><content type='html'>&lt;p&gt;As well as other compilers, Visual Studio 05 and 08 (Professional and Team System editions) support the &lt;a href="http://openmp.org/"&gt;OpenMP&lt;/a&gt; v2 standard. It’s a collection of language extensions which make it easier to create multi-threaded code. Here I’ll give a quick taster of two of the OpenMP ‘directives’ – ‘Parallel’ and ‘For’. &lt;/p&gt;&lt;p&gt;Parallel allows you to specify a block of code which executes multiple times in parallel: &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;pre&gt;void ParallelTest() &lt;br /&gt;{  &lt;br /&gt;&lt;strong&gt;   #pragma omp parallel num_threads(4)&lt;/strong&gt;  &lt;br /&gt;  {  &lt;br /&gt;      int i = omp_get_thread_num();  &lt;br /&gt;      printf_s("ParallelTest: Hello from thread %d\n", i);  &lt;br /&gt;  }  &lt;br /&gt;}&lt;/pre&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Results in the output:&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;ParallelTest: Hello from thread 0&lt;br /&gt;ParallelTest: Hello from thread 3&lt;br /&gt;ParallelTest: Hello from thread 1&lt;br /&gt;ParallelTest: Hello from thread 2 &lt;/span&gt;&lt;/p&gt;&lt;p&gt;The ‘for’ directive allows a for loop to be split up and executed in several threads: &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:Courier New;"&gt;void ForTest() &lt;br /&gt;{  &lt;br /&gt;  &lt;strong&gt;#pragma omp parallel for&lt;/strong&gt;  &lt;br /&gt;   for (int j=0; j&amp;lt;=4; ++j)   &lt;br /&gt;   {  &lt;br /&gt;       int threadNum = omp_get_thread_num();  &lt;br /&gt;       printf_s("ForTest: Hello from thread %d&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;            - loop iteration %d\n", threadNum, j);  &lt;br /&gt;   }  &lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Results in the output:&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;ForTest: Hello from thread 0 - loop iteration 0&lt;br /&gt;ForTest: Hello from thread 2 - loop iteration 3&lt;br /&gt;ForTest: Hello from thread 1 - loop iteration 2&lt;br /&gt;ForTest: Hello from thread 3 - loop iteration 4&lt;br /&gt;ForTest: Hello from thread 0 - loop iteration 1&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The thing which I find really cool about OpenMP is that it requires such little change to the code. Normally you’d need to write a lot of lines of code to accomplish the same results we see above, but with OpenMP it’s often as little as a single line – which you can comment out to go back to a single threaded approach. So if you find an inner loop which is hogging performance, and lends itself to parallelization, you can quickly make it multithreaded. It's supported on Xbox 360, but not across all game consoles. It's certainly useful for speeding up your tools.&lt;/p&gt;&lt;p&gt;For a list of other compilers which support OpenMP, see &lt;a href="http://openmp.org/wp/openmp-compilers/"&gt;here&lt;/a&gt;. Note that Visual Studio 2005 does support it, but isn’t listed, as they just list the latest version. &lt;/p&gt;&lt;p&gt;To enable OpenMP in your Visual Studio C++ project, you need to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;#include &amp;lt;omp.h&amp;gt; // Include OpenMP&lt;/li&gt;&lt;li&gt;Go to your ‘Project properties-&amp;gt;C/C++-&amp;gt;Language-&amp;gt;OpenMP Support’, and set it to ‘Yes’. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To find out more about these and the other OpenMP directives, you can see a list on &lt;a href="http://msdn.microsoft.com/en-us/library/0ca2w8dk.aspx"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;In my &lt;a href="http://gamecreator.blogspot.com/2008/06/what-is-cuda.html"&gt;previous post&lt;/a&gt;, I introduced Cuda. These two technologies are very different - OpenMP requires minimal code change and runs on CPU, while Cuda requires much more work but allows you to run on the GPU with many more cores.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-7671920450655614963?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/7671920450655614963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=7671920450655614963' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7671920450655614963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7671920450655614963'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/06/introduction-to-openmp-easy-multi.html' title='Introduction to OpenMP - Easy multi-threading for C/C++'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-909882857620631505</id><published>2008-06-24T20:42:00.001-07:00</published><updated>2008-06-24T21:00:18.250-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><category scheme='http://www.blogger.com/atom/ns#' term='Cuda'/><title type='text'>What is Cuda?</title><content type='html'>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/ItsMarkPope/SGG-o-1w2CI/AAAAAAAAAzo/0lVV1-GXgMM/s1600-h/nvidia_geforce_300%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="198" alt="nvidia_geforce_300" src="http://lh4.ggpht.com/ItsMarkPope/SGG-pRihtaI/AAAAAAAAAzs/8yEGaRZ44J8/nvidia_geforce_300_thumb%5B2%5D.jpg?imgmax=800" width="204" align="left" border="0" /&gt;&lt;/a&gt; Graphics cards used to have a very fixed purpose - just graphics, but over the last eight or so years they've become more and more programmable, to the point that they're now becoming quite a bit like regular CPU's. &lt;/p&gt;  &lt;p&gt;I recently took a look into Cuda. It's a technology from nVidia which allows you to run C code on the GPU of the GeForce 8 series and above. &lt;/p&gt;  &lt;p&gt;The cool thing is that the top end nVidia card currently has 240 processing units, and you can put a couple in one machine. So for perhaps around a couple of grand, you can get a 480 core PC - kinda. You don't have to spend that much though; at the time of writing, a 128 processor GeForce 9800 is $200, and a 32 processor 8800 is only $70. &lt;/p&gt;  &lt;p&gt;So the promise is that you can write bits of C code, and then execute the same code many times in parallel on the graphics card, beating how long it would take on CPU. &lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.nvidia.com/object/cuda_home.html" target="_blank"&gt;Cuda website&lt;/a&gt; lists almost a hundred projects which have used Cuda, with performance improvements ranging from 2x to 240x. The main reason for the big range is that Cuda's not good for everything. If the piece of code gets large, uses a lot of memory, contains branching and random/scattered memory access, then performance goes down. The highest performance is for short programs with little branching and little memory access. &lt;/p&gt;  &lt;p&gt;Some problems are inherently more suited to Cuda-fying than others, but the programmer can still make a big difference by writing their code with the hardware in mind. Working at a low level like this, learning the hardware, and optimizing code to run as efficiently as possible on it, is very similar to the kind of skills used when coding for high performance on games systems, and in particular to PS3 Cell programming. So if you're looking to get into games, then impressing the programmers who interview you with your Cuda skills would be a great way to get your foot in the door!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-909882857620631505?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/909882857620631505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=909882857620631505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/909882857620631505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/909882857620631505'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/06/what-is-cuda.html' title='What is Cuda?'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/ItsMarkPope/SGG-pRihtaI/AAAAAAAAAzs/8yEGaRZ44J8/s72-c/nvidia_geforce_300_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1415721496537970039</id><published>2008-06-05T09:49:00.000-07:00</published><updated>2008-06-24T20:44:31.436-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rand'/><title type='text'>New Wall-e Trailer</title><content type='html'>We've been busy finishing of the game for the Wall-e movie. It's now been approved and is on its way to stores.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aintitcool.com/node/36962"&gt;Here's&lt;/a&gt; a fun trailer which introduces some of the robots from the film.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1415721496537970039?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1415721496537970039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1415721496537970039' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1415721496537970039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1415721496537970039'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/06/new-wall-e-trailer.html' title='New Wall-e Trailer'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-4210560509540812411</id><published>2008-06-02T18:05:00.000-07:00</published><updated>2008-06-02T18:11:01.345-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Free Visual Studio Professional - for Students</title><content type='html'>Wow! Microsoft is &lt;a href="https://downloads.channel8.msdn.com/"&gt;giving away copies&lt;/a&gt; of Visual Studio Professional, Expression Studio, Windows Server Standard, XNA Studio 2.0 and more for free to students at certain universities.&lt;br /&gt;&lt;br /&gt;Hmm, looks like I've found another use for the interns...  :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4210560509540812411?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4210560509540812411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4210560509540812411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4210560509540812411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4210560509540812411'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/06/free-visual-studio-professional-for.html' title='Free Visual Studio Professional - for Students'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-8591708397860730063</id><published>2008-05-30T20:59:00.001-07:00</published><updated>2008-07-01T14:03:07.951-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Middleware'/><title type='text'>How to Evaluate Middleware</title><content type='html'>&lt;p&gt;Most commercial games have got some middleware in them somewhere. Some types of middleware include video players, sound systems, physics systems, UI systems. I've already mentioned a few of the &lt;a href="http://gamecreator.blogspot.com/2006/05/pros-and-cons-of-middleware_30.html"&gt;pro's and con's&lt;/a&gt; of using middleware in a previous post. &lt;/p&gt;  &lt;p&gt;You need to be careful when choosing middleware. If you rush in, you could choose a system that doesn't do what you need, costs more than you need to pay, or gives you some nasty surprises down the road. &lt;/p&gt;  &lt;p&gt;Here's a breakdown of some recommended steps in choosing middleware. Some are obvious, but some are less so. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Write a list of all the things you want the middleware to do, or be used for.     &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Do some searching and &lt;strong&gt;find all the different options&lt;/strong&gt; which exist. Don't dig into the details of any of them just yet, just find out all your options so you've got the best chance of finding a good fit.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Ask other game programmers&lt;/strong&gt; at your studio if they've used any of the systems in the past. If you have sister studios, then ask them too, and also see if they have hand written solutions which you could reuse.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Make a comparison spreadsheet&lt;/strong&gt; of the high level features of each option, how well it meets your needs, and the pricing.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If you are developing for consoles&lt;/strong&gt;, you likely need to be more concerned by how the engine component behaves. Ask whether you can override file access and memory allocation. Also ask if they use STL, or anything like it, and what their stance is on allocating memory at run time.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If your game is going to be localized&lt;/strong&gt;, and the middleware will be using localized assets, work out how it will handle the different languages. E.g. Can the movie player handle different language tracks? Will the sound tool help you find wav files which haven't been translated? Will the UI support the large character sets needed for Japanese and Korean?      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Consider how much of an evaluation you can do without coding.&lt;/strong&gt; Integrating middleware at a code level takes a long time. Can you evaluate tools first?      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Pick one or two options to evaluate in a hands-on fashion&lt;/strong&gt;, and check with your boss and your legal advisor that they're OK with the concept of you using it, the price, and the license terms.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Integrate it with your engine&lt;/strong&gt; in a code branch. Don't start relying on it yet though. It's easy to slip into assuming that you're using it.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Create a stress test&lt;/strong&gt; to push it to its limits.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Check that it can do everything you need it to&lt;/strong&gt; (to a reasonable degree of accuracy).      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;If you're focused on such things, &lt;strong&gt;check the memory allocations made, performance, and amount of memory used&lt;/strong&gt;.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Have a review meeting&lt;/strong&gt; in which you go over your findings and decide whether to officially approve the system for use.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;If approved, then you can &lt;strong&gt;integrate your code branch&lt;/strong&gt; to the main branch, and encourage people to start using it. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you've used middleware before, it's fun to look at the above list and see the mistakes you made in the past :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-8591708397860730063?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/8591708397860730063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=8591708397860730063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8591708397860730063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8591708397860730063'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/05/how-to-evaluate-middleware.html' title='How to Evaluate Middleware'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-4351120616884583535</id><published>2008-05-26T11:00:00.000-07:00</published><updated>2008-05-26T11:13:55.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rand'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Game Development Studio Map</title><content type='html'>I've now opened up my &lt;a href="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;msa=0&amp;amp;msid=107592412151871027974.000436314d431ee75c00d&amp;amp;t=h&amp;amp;z=4"&gt;map of game development studios&lt;/a&gt; so that it can be edited by anyone. Please be nice though :)&lt;br /&gt;&lt;br /&gt;Is your studio there? If not, you can add it, or add a post and I'll add it for you.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe marginwidth="0" marginheight="0" src="http://maps.google.com/maps/ms?hl=en&amp;amp;ie=UTF8&amp;amp;msa=0&amp;amp;msid=107592412151871027974.000436314d431ee75c00d&amp;amp;t=h&amp;amp;ll=41.081879,-100.925265&amp;amp;spn=16.392082,44.387848&amp;amp;output=embed&amp;amp;s=AARTsJrkG9atTRqrGMmyBVGw0rMCi-gLgQ" frameborder="0" width="425" scrolling="no" height="350"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a style="COLOR: #0000ff; TEXT-ALIGN: left" href="http://maps.google.com/maps/ms?hl=en&amp;amp;ie=UTF8&amp;amp;msa=0&amp;amp;msid=107592412151871027974.000436314d431ee75c00d&amp;amp;t=h&amp;amp;ll=41.081879,-100.925265&amp;amp;spn=16.392082,44.387848&amp;amp;source=embed"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4351120616884583535?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4351120616884583535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4351120616884583535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4351120616884583535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4351120616884583535'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/05/game-development-studio-map.html' title='Game Development Studio Map'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1224070871373487522</id><published>2008-05-24T11:27:00.001-07:00</published><updated>2008-05-25T10:21:22.514-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Game Programming Books for Beginners</title><content type='html'>&lt;p&gt;There are lots of books on game programming. How do you find an appropriate one for an absolute beginner? &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Pick a Language&lt;/strong&gt;&lt;br /&gt;First of all, you need to understand that there are several many different programming languages. You need to pick a programming language first, and then pick a book which focuses on it. The language will either be in the title of the book, or will be mentioned in the blurb on the back. So which language should you pick? &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;C / C++&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;As I've said in a &lt;a href="http://gamecreator.blogspot.com/2006/06/getting-games-programming-job-tip-1.html"&gt;previous article&lt;/a&gt;, if you're looking to get a job in console game development, then you should focus on 'C++'. As programming languages go, &lt;strong&gt;it can be pretty tricky for beginners&lt;/strong&gt;. If you've done some programming before, or are looking at applying for a games job in a few years, then try C++. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;C#&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;C# is a relatively new language which Microsoft created. It's similar to C++ in how it looks, but it's quite a bit simpler to use. &lt;strong&gt;If C++ sounds a bit daunting&lt;/strong&gt;, and you'd like to see your game working sooner, &lt;strong&gt;I'd start with C#&lt;/strong&gt;. After you're comfortable with C#, you can come back to C++ later. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;Java&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;Java is somewhat similar to C# from a language perspective. Some types of commercial games (e.g. cell phone) can be written in Java. I'm generally not very familiar with it though, and tend to recommend C# over it if you're thinking of getting into console development. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;Basic&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;There are many different types of Basic. Basic is generally seen as the easiest type of language to get started with, though personally I think that it's not going to be significantly easier than C#, and C# is going to get you closer to C++. If you're just looking to have fun though, and take your first steps in programming, &lt;strong&gt;there's nothing wrong with Basic&lt;/strong&gt;. I first learned to program on Basic (on the ZX Spectrum), and it kept me busy coding for years. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Publishing Date&lt;br /&gt;&lt;/strong&gt;The next thing to look for is how old the book is. New versions of programming languages, tools, and libraries (don't worry if you don't know what I mean) come out all the time, and it's best to start by learning with the latest stuff. Aim to find a book that's been updated in the last five years. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Skill Level&lt;br /&gt;&lt;/strong&gt;Finally you need to pick the skill level. It's safest to aim low if you're just getting started. I recommend seeing if the index for the first couple of chapters has sections for things like 'variables', 'the "if" statement', 'for loops, while loops', and perhaps a little later 'arrays'. The words might be slightly different. Looking at the index and reading the blurb on the back should give you an idea of whether the book is for you. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Borrow or Buy?&lt;br /&gt;&lt;/strong&gt;Programming books can be pricey. I recommend getting started by using library books or books available for free online. Then if you like the book, and feel like you want to keep on coding, you can buy it later.&lt;br /&gt;&lt;a href="http://books.google.com/books"&gt;Google&lt;/a&gt; has many books online. It might not be the best way to read a book if you're programming, but it's certainly good for seeing if a book is for you.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Is it any good?&lt;br /&gt;&lt;/strong&gt;Read the user reviews for the book on Amazon.com. Remember that skill level might come into play - someone might say a book is bad because it was too simple, but that might be just what you're after. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;"CD Included"&lt;/strong&gt;&lt;br /&gt;These books will usually come with a CD/DVD which contains 'all you need to get started'. It's fine to use the contents of the disk, but if you get the book without the disk, then note that the tools on the disk are usually freely available online. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Example Books&lt;/strong&gt;&lt;br /&gt;I did a quick search for example books in each category. The links to most of the books show the full contents of the book.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;C++&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://books.google.com/books?id=OA9vMnZrCrcC&amp;amp;printsec=frontcover&amp;amp;source=gbs_summary_r&amp;amp;cad=0"&gt;Beginning C++ Game Programming&lt;/a&gt;  by Michael Dawson&lt;br /&gt;Note how the second and third chapters have sections on 'if', 'while', 'loops' and 'arrays'. This looks like a good book for absolute beginers. &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;C#&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://books.google.com/books?id=kQxh-WDCE9sC&amp;amp;printsec=frontcover"&gt;C# and game programming : a beginner's guide&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Basic&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://books.google.com/books?id=q3KdxOZDOLoC&amp;amp;printsec=frontcover"&gt;Beginner's guide to DarkBASIC game programming&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Teach-Yourself-Programming-Visual-Basic/dp/067231987X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1211651631&amp;amp;sr=8-1"&gt;Sams teach yourself game programming with Visual Basic in 21 days&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://books.google.com/books?id=viBeOf2QNz0C&amp;amp;printsec=frontcover"&gt;Game programming for teens&lt;/a&gt;  (this book focusses on Blitz Basic)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;Good luck getting started!&lt;a href="http://books.google.com/books?id=viBeOf2QNz0C&amp;amp;printsec=frontcover"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1224070871373487522?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1224070871373487522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1224070871373487522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1224070871373487522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1224070871373487522'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/05/game-programming-books-for-beginners.html' title='Game Programming Books for Beginners'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-7328556179014727840</id><published>2008-05-15T09:25:00.001-07:00</published><updated>2008-11-28T22:27:37.543-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>List of Automated Build Systems</title><content type='html'>&lt;p&gt;Once you've got a game in development, it becomes important to streamline your build process, so you can quickly create a build without a lot of manual work. (I explain what a build process is at the bottom.)&lt;/p&gt;&lt;p&gt;This is a list of products I've found which aim to speed up and automate the compilation and build process.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.anthillpro.com/"&gt;AnthillPro3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.automatedqa.com/products/abs/index.asp"&gt;Automated Build Studio&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.atlassian.com/software/bamboo/"&gt;Bamboo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cruisecontrol.sourceforge.net/"&gt;CruiseControl.NET&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.electric-cloud.com/"&gt;Electric Cloud&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.finalbuilder.com/"&gt;FinalBuilder&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.hivebuild.com/"&gt;HiveBuild&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xoreax.com/main.htm"&gt;Incredibuild&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/MSBuild"&gt;MSBuild&lt;/a&gt; (part of &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/default.aspx"&gt;Visual Studio&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://nant.sourceforge.net/"&gt;Nant&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.viewtier.com/products/parabuild/index.htm"&gt;Parabuild&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jetbrains.com/teamcity/features"&gt;TeamCity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.visualbuild.com/"&gt;Visual Build&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://zutubi.com/"&gt;Zutubi&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What do you use?&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What's a build process?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;A typical build process might look like this:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Fetch the latest code and data from source control.&lt;/li&gt;&lt;li&gt;Run a perl script which updates a version number in a header file.&lt;/li&gt;&lt;li&gt;Compile the game, and the editor.&lt;/li&gt;&lt;li&gt;Run the editor in command line mode, telling it to 'pack' all the game data for the various levels of the game.&lt;/li&gt;&lt;li&gt;Run a script which packages the compiled game and game data into a windows installer 'MSI' file.&lt;/li&gt;&lt;li&gt;Copy the MSI to the network for consumption by the team.&lt;/li&gt;&lt;li&gt;Send an email to the team, saying that the new build is available.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The reality is that they get a lot more complicated than this, as some steps may fail, you might be building for multiple consoles, you might be building from multiple code branches, you might have to build for multiple languages, etc...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-7328556179014727840?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/7328556179014727840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=7328556179014727840' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7328556179014727840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7328556179014727840'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/05/list-of-automated-build-systems.html' title='List of Automated Build Systems'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3161051400117088050</id><published>2008-05-15T09:02:00.001-07:00</published><updated>2008-05-15T09:02:01.748-07:00</updated><title type='text'>Components of a Console Game</title><content type='html'>&lt;p&gt;Something that comes up from time to time is the need for a full breakdown of everything which makes up a game. It's a tricky thing to do, as each game is different, and there are many approaches to any given part. Here's a quick brainstormed list though, to give an idea of what goes into a game.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Engine     &lt;ul&gt;       &lt;li&gt;You can choose to license/use an existing engine, or build your own. There are pro's and con's to both approaches.&lt;/li&gt;        &lt;li&gt;The Basics         &lt;ul&gt;           &lt;li&gt;Memory allocation&lt;/li&gt;            &lt;li&gt;Debug text output to screen and debugger&lt;/li&gt;            &lt;li&gt;File IO&lt;/li&gt;            &lt;li&gt;Reading config / xml files&lt;/li&gt;            &lt;li&gt;Build process&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Rendering         &lt;ul&gt;           &lt;li&gt;Shader pipeline&lt;/li&gt;            &lt;li&gt;Render opaque static objects&lt;/li&gt;            &lt;li&gt;Render skinned objects&lt;/li&gt;            &lt;li&gt;Render transparent objects&lt;/li&gt;            &lt;li&gt;More complex material effects. Lighting, environment mapping, bump/parallax, etc.&lt;/li&gt;            &lt;li&gt;Screen effects. HDR/Bloom, lens flare, depth of field etc.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Animation         &lt;ul&gt;           &lt;li&gt;Hierarchical skinned animation, including art tool exporter and pack process.&lt;/li&gt;            &lt;li&gt;Blending of animations&lt;/li&gt;            &lt;li&gt;&amp;#8216;Blend shape&amp;#8217; vertex animation&lt;/li&gt;            &lt;li&gt;Ability to modify animated meshes &amp;#8216;by hand&amp;#8217; (e.g. IK or head tracking).&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Events - the ability to send events between systems/objects.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Gameplay     &lt;ul&gt;       &lt;li&gt;Player         &lt;ul&gt;           &lt;li&gt;Player moves             &lt;ul&gt;               &lt;li&gt;Walk / run / jump&lt;/li&gt;                &lt;li&gt;Attack moves&lt;/li&gt;                &lt;li&gt;Swim&lt;/li&gt;                &lt;li&gt;Pick up weapon&lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Behaviour             &lt;ul&gt;               &lt;li&gt;Rag doll&lt;/li&gt;                &lt;li&gt;IK for foot placement&lt;/li&gt;                &lt;li&gt;Look at interesting objects&lt;/li&gt;                &lt;li&gt;Conversations&lt;/li&gt;                &lt;li&gt;Attached physics objects / cloth&lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;NPC         &lt;ul&gt;           &lt;li&gt;Ambient characters / animals&lt;/li&gt;            &lt;li&gt;Enemies&lt;/li&gt;            &lt;li&gt;Bosses&lt;/li&gt;            &lt;li&gt;Systems             &lt;ul&gt;               &lt;li&gt;State machine (often hierarchical).&lt;/li&gt;                &lt;li&gt;Attaching of FX/sound.&lt;/li&gt;                &lt;li&gt;Route planning.&lt;/li&gt;                &lt;li&gt;Method for spawning / handling high numbers.&lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Gameplay Widgets         &lt;ul&gt;           &lt;li&gt;Static object&lt;/li&gt;            &lt;li&gt;Breakable physics objects&lt;/li&gt;            &lt;li&gt;Weapons&lt;/li&gt;            &lt;li&gt;Treasure chest&lt;/li&gt;            &lt;li&gt;Collectables&lt;/li&gt;            &lt;li&gt;Pushable objects&lt;/li&gt;            &lt;li&gt;Doors&lt;/li&gt;            &lt;li&gt;Vehicles&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Non-Gameplay Widgets         &lt;ul&gt;           &lt;li&gt;Butterflies.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Networking / Multiplayer     &lt;ul&gt;       &lt;li&gt;Guaranteed / Non guaranteed messaging system.&lt;/li&gt;        &lt;li&gt;Synchronization strategy.&lt;/li&gt;        &lt;li&gt;Testing harness.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tools (some mentioned in other points)     &lt;ul&gt;       &lt;li&gt;Art pipeline for objects, environment and characters.&lt;/li&gt;        &lt;li&gt;Level building tool for level layout and scripting.&lt;/li&gt;        &lt;li&gt;UI building tool.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Systems     &lt;ul&gt;       &lt;li&gt;UI         &lt;ul&gt;           &lt;li&gt;Tool for building and animating UI, Scripting system for &amp;#8216;gluing it together&amp;#8217;, Integration with game engine.&lt;/li&gt;            &lt;li&gt;Runtime component for playing the UI.&lt;/li&gt;            &lt;li&gt;Font rendering.&lt;/li&gt;            &lt;li&gt;Localization system.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Sound         &lt;ul&gt;           &lt;li&gt;Loading sounds, Memory resident sounds, Streamed sounds, 3D position support, Effects (e.g. Echo), Categorization of sounds (game/dialogue/menu), Volume controls by category, Connecting of sounds to other widgets.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Physics         &lt;ul&gt;           &lt;li&gt;Select from free or purchased middleware and integrate with engine.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;FMV         &lt;ul&gt;           &lt;li&gt;Select from free or purchased middleware and integrate with engine.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Cinematics         &lt;ul&gt;           &lt;li&gt;If game calls for conveying story, build a system for using the game engine to enact story sections.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;FX         &lt;ul&gt;           &lt;li&gt;Particles, Ribbons, Shrapnel, Lights, Water, Fire, Fog, Rain, Tool for artist to configure effects, Tool for adding effects to cinematics.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Networking / Lobby&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;UI Screens     &lt;ul&gt;       &lt;li&gt;Front end         &lt;ul&gt;           &lt;li&gt;Basic: Attract mode, Main Menu, Level Select, Load/Save, Options, Cheats, Unlocked Content, Credits.&lt;/li&gt;            &lt;li&gt;Network play related: Chat room, Matchmaking, Leaderboard, Clans, News.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;In game pause menu         &lt;ul&gt;           &lt;li&gt;Map, Objectives, Inventory, Some repeated functionality from front end.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;TRC Compliance&lt;/li&gt;        &lt;li&gt;Achievement points&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Infrastructure     &lt;ul&gt;       &lt;li&gt;Automated building and testing&lt;/li&gt;        &lt;li&gt;Builds / Fire fighting&lt;/li&gt;        &lt;li&gt;Automated error reporting         &lt;ul&gt;           &lt;li&gt;&amp;#8216;Crash dump&amp;#8217; information per platform, Detailed error reports sent by email automatically when tools fail.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3161051400117088050?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3161051400117088050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3161051400117088050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3161051400117088050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3161051400117088050'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/05/components-of-console-game.html' title='Components of a Console Game'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3596172963302298093</id><published>2008-04-24T09:59:00.000-07:00</published><updated>2008-04-24T10:10:02.692-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Dr Dobbs Game Challenge - Win Cash!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dobbschallenge.com/images/stories/2008_02_05_dobbs.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://dobbschallenge.com/images/stories/2008_02_05_dobbs.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Dr Dobbs Magazine has teamed up with Microsoft for a &lt;a href="http://www.dobbschallenge.com/"&gt;game programming competition&lt;/a&gt;. You modify a game they give you (using a trial version of Visual Studio 2008), and stand a chance of winning part of a $10,000 cash prize pool.&lt;br /&gt;&lt;br /&gt;Even if you don't win, this kind of stuff is great on your resume and good for your brain. It shows that you're eager and competent, and gives you a demo you can show to people.&lt;br /&gt;&lt;br /&gt;It's likely C# based, which isn't what I'd generally &lt;a href="http://gamecreator.blogspot.com/2006/06/getting-games-programming-job-tip-1.html"&gt;recommend focusing on&lt;/a&gt;, but it's a useful language to know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3596172963302298093?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3596172963302298093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3596172963302298093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3596172963302298093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3596172963302298093'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/04/dr-dobbs-game-challenge-win-cash.html' title='Dr Dobbs Game Challenge - Win Cash!'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-8576998622488039726</id><published>2008-04-11T10:19:00.000-07:00</published><updated>2008-07-01T14:03:47.396-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Middleware'/><title type='text'>List of UI systems for games</title><content type='html'>Here's a list of third party UI systems for use in games.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Commercial Systems&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.anark.com/entertainment/gameface-features.html"&gt;Anark&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scaleform.com/products_gfx.php"&gt;Scaleform Gfx&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.omegame.com/english/products/menus_master_01.php"&gt;Menus Master&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;XUI (360 only - installed as part of Xbox 360 SDK)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Open Source&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://www.cegui.org.uk/wiki/index.php/Main_Page"&gt;CEGUI &lt;/a&gt;(Crazy Eddie's GUI) (Free and can likely be easily ported to console)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Am I missing any? Post the name and I'll add it to the list (and not publish the post, to keep the page cleaner).&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-8576998622488039726?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/8576998622488039726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=8576998622488039726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8576998622488039726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8576998622488039726'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/04/list-of-ui-systems-for-games.html' title='List of UI systems for games'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-8539685643337322631</id><published>2008-03-02T18:15:00.000-08:00</published><updated>2008-03-02T18:18:25.922-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Can't select Debug or Release configurations in Visual Studio 2005?</title><content type='html'>When you first install Visual Studio Express, it avoids confusing beginners by hiding the build configurations. Of course, this confuses the people who understood it already...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Select &lt;span style="font-weight: bold;"&gt;'Tools-&gt;Options'&lt;/span&gt; and if it's not already checked, check &lt;span style="font-weight: bold;"&gt;'Show all settings'&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Now choose &lt;span style="font-weight: bold;"&gt;'Projects and Solutions'&lt;/span&gt; and check &lt;span style="font-weight: bold;"&gt;'Show advanced build configurations'&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Perhaps now that I've blogged it, I'll remember it next time...  :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-8539685643337322631?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/8539685643337322631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=8539685643337322631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8539685643337322631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8539685643337322631'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/03/cant-select-debug-or-release.html' title='Can&apos;t select Debug or Release configurations in Visual Studio 2005?'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-8734283652694836639</id><published>2008-02-16T12:07:00.000-08:00</published><updated>2008-11-16T18:30:59.157-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>OpenSVN Review</title><content type='html'>&lt;p&gt;&lt;span style="font-weight: bold;"&gt;UPDATE #2:&lt;/span&gt; Assembla is no longer free, so I looked for other options and &lt;a href="http://gamecreator.blogspot.com/2008/11/free-subversion-hosting-at-xp-devcom.html"&gt;I've switched to XP-Dev.com&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;UPDATE #1:&lt;/strong&gt; Following writing this review, and the suggestion in the posts below, I looked into using &lt;a href="http://www.assembla.com/"&gt;Assembla&lt;/a&gt;. I've now been using it for several months for version control for home. I find it very fast, and haven't seen it go down once. I highly recommend it!&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ORIGINAL POST:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I recently bought a laptop, so that I don't have to be sat at a desk to ruin my eyes. I wanted to use my laptop for a bit of coding, but Perforce, the version control system I had been using, was installed on my desktop machine. This meant that my desktop had to be turned on, for my laptop to be able to check things in and out. This bugged me, so I started to look for solutions were my source could be hosted online.&lt;/p&gt;&lt;p&gt;There are lots of companies out there who will host your source code. They mostly use the open source systems CVS and Subversion (also known as SVN). Some companies charge monthly, with increasing fees for increasing server space and/or numbers of users. Some have a 'free' service, but the restrictions are pretty tight. If you're interested in open source development, and don't mind the world seeing your code, then there are other free hosting options out there too.&lt;/p&gt;&lt;p&gt;I found one SVN hosting site which was completely free, didn't have tight restrictions, and didn't require that your code is open source - OpenSVN (OpenSVN.csie.org). It's operated by some students at National Taiwan University. As I'm always interested in a bargain, I thought I'd give it a try. After 5 weeks of using it, here are my thoughts:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The presentation on the OpenSVN site is poor. The other project hosting sites, with their art work and stock photos of people pointing at monitors, make you feel a lot more comfortable about putting your valuable source in their hands. Plus the OpenSVN site has some kind of bad certificate, which makes IE7 give dire warnings.&lt;/li&gt;&lt;li&gt;After the initial setup of the account, you don't need to go back to their site. Just use TortoiseSVN (or a similar windows client) to manipulate your files. I chose TortoiseSVN, and after a short learning period, I really like it.&lt;/li&gt;&lt;li&gt;The server has been down on four days of the 5 weeks that I've been using it. This hasn't caused big problems for me, as I just code on my own, for fun, and am OK waiting for them to fix it. If however I was working in a group, at a serious development company, this level of down-time would be unnacceptable.&lt;/li&gt;&lt;li&gt;I've not needed tech support, but doubt that whatever they provide would be on a par with what a professional hosting company could provide.&lt;/li&gt;&lt;li&gt;Initially I was a bit concerned about whether it would be too slow. I've found it to be fast enough for my needs - just checking in/out relatively small amounts of code. I'd say it takes about 15 seconds to either check in, or get latest, for an average amount of change. If however you were thinking of storing larger binary data (e.g. textures) then it may be worse.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Overall, OpenSVN is OK. I find the occasional down time acceptable, considering that it's free. If you use it, I recommend that you also make your own backup procedures, and not rely on theirs. For home development, when it comes to backing up a version control system, I'm of the belief that it's OK to just back up the last good version. If the history gets lost, then it's just tough turkey.&lt;/p&gt;&lt;p&gt;If you're new to SVN and hosted version control, then it's a good idea to use OpenSVN first so you can get a better feel for what your needs are before shopping for a commercial/reliable service.&lt;/p&gt;&lt;p&gt;What do you use?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-8734283652694836639?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/8734283652694836639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=8734283652694836639' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8734283652694836639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8734283652694836639'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/02/opensvn-review.html' title='OpenSVN Review'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-944772704341399147</id><published>2008-02-01T16:55:00.000-08:00</published><updated>2008-07-01T14:04:16.574-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Version Control at Home</title><content type='html'>If you spend time programming at home, I strongly recommend using some kind of version control system, such as CVS, Subversion or Perforce.&lt;br /&gt;&lt;br /&gt;Basically a version control system is a repository which stores a history of all the major versions of your source files. You can modify a bunch of files, and then 'check them in' together. Since the system knows all the versions of your files, you can do things like:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Compare different versions of a file, to see what changed, and when code was introduced.&lt;/li&gt;&lt;li&gt;'Get' and old version of all your source. This can be handy if your code stops working, and you have trouble working out why. You can go back, find the version which last worked, and then compare the versions.&lt;/li&gt;&lt;li&gt;Discard the changes you've made since you last checked in, reverting back to the last good version. This is one of my favourites :)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;You can also do more advanced things, like branching the code base. This can allow you to keep a stable branch, if you're going to attempt some big/risky changes.&lt;br /&gt;&lt;br /&gt;CVS and Subversion are both free. Perforce is free for small scale personal use (2 users max). Perforce is quite popular in gaming companies too. I use Perforce at work, and so decided to use it at home too. Installing a version control system can be a bit daunting, but there are good tutorials out there if you look.&lt;br /&gt;&lt;br /&gt;I don't recommend version control to the absolute beginner, it's better to focus on learning the language and making little sample apps. But if you're going to work on one program, for a while, then I recommend it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-944772704341399147?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/944772704341399147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=944772704341399147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/944772704341399147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/944772704341399147'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/02/version-control-at-home.html' title='Version Control at Home'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3748776346583569489</id><published>2008-01-25T14:19:00.000-08:00</published><updated>2008-12-09T10:41:05.121-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><title type='text'>Gateway T5450 Laptop M-6750 Review</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_t3G6O0vkb1k/R5piA3TMvZI/AAAAAAAAABo/wEPGRfIhZlM/s1600-h/GatewayLaptop.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5159544090090323346" style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://4.bp.blogspot.com/_t3G6O0vkb1k/R5piA3TMvZI/AAAAAAAAABo/wEPGRfIhZlM/s320/GatewayLaptop.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I recently picked up this laptop on sale at Best Buy (of all places!) for $750.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- 3GB of ram is great. (It means less disk thrashing, which means faster performance)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- 250 GB HDD (minus a bit for some fluff) is a good amount of storage.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- The 1.66 GHz Core 2 Duo seems good enough for my needs. The large memory helps keep it fed.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- Generally, I find performance in Vista to be fine, including with the fancy Aero interface running.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- It's lovely and shiny. The red lid, and wrist rest area look great. It's got a brushed steel look around the keyboard. The screen is one of those high gloss ones (which worried me at first, but I now like). Plus Vista looks pretty. All round, it's a lovely machine to look at.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- It's nice having the built-in webcam and microphone for Skype.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- The 'Fn' key is in the corner of the keyboard, instead of the left 'Ctrl' key, as it is on most normal keyboards. This means I'm constantly messing up copy/paste type operations.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- The built in speakers are really weak, though this is true for most laptops.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- The integrated / shared memory graphics card won't be good for modern games, but it's fine for regular windows. Plus the extra large ram makes up for it using main memory.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- Comes with a bunch of trialware and other junk which takes a while to remove ('&lt;a href="http://www.pcdecrapifier.com/"&gt;PC Decrapifier&lt;/a&gt;' got rid of about half).&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- The volume slider touchpad doesn't work as well as I'd like.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- The webcam doesn't always work, sometimes requiring a reboot, though that might be due to something I've done.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;- {EDIT} A quiet but slightly annoying whistling type noise sometimes comes through the sound card. I've found that it goes away when sounds are made (e.g. MP3 or windows noises), so I think the sound card drivers might be a little off. It annoyed me a little at first, but I'm used to it now.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;strong&gt;Overall:&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I'm really glad I bought it. The few niggles I list aren't a big deal for me. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;{Edit - Wow, this post got a lot of hits. It seems some people have had a lot of problems with the machine. Mine's still fine 7 months on, but buyer beware...}&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3748776346583569489?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3748776346583569489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3748776346583569489' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3748776346583569489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3748776346583569489'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2008/01/gateway-t5450-laptop-m-6750-review.html' title='Gateway T5450 Laptop M-6750 Review'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_t3G6O0vkb1k/R5piA3TMvZI/AAAAAAAAABo/wEPGRfIhZlM/s72-c/GatewayLaptop.jpg' height='72' width='72'/><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-7262212041048712988</id><published>2007-11-21T14:16:00.000-08:00</published><updated>2008-12-09T10:41:05.419-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Heavy Iron Programming Challenge</title><content type='html'>We’ve added a programming challenge to the Heavy Iron site. People wanting to apply for a programming position can either send in their resume as usual, or have a go at our programming challenge. Doing the challenge is a good way of showing off your coding skills, and it’s also fun. (Well, I find it fun:)&lt;br /&gt;&lt;br /&gt;The challenge takes the form of a C++ program we’ve written, which isn’t working as well as it could. It’s quite fun and graphical in nature.&lt;br /&gt;&lt;br /&gt;To try the challenge, go to the &lt;a href="www.heavy-iron.com"&gt;Heavy Iron&lt;/a&gt; site, click ‘Now Hiring’ on the main page, then click on ‘Programming’ on the right hand side and follow the instructions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_t3G6O0vkb1k/R0Sva1hnzfI/AAAAAAAAAA4/l6bJpklPle4/s1600-h/Challenge.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_t3G6O0vkb1k/R0Sva1hnzfI/AAAAAAAAAA4/l6bJpklPle4/s320/Challenge.jpg" alt="" id="BLOGGER_PHOTO_ID_5135422350688767474" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-7262212041048712988?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/7262212041048712988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=7262212041048712988' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7262212041048712988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7262212041048712988'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/11/heavy-iron-programming-challenge.html' title='Heavy Iron Programming Challenge'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_t3G6O0vkb1k/R0Sva1hnzfI/AAAAAAAAAA4/l6bJpklPle4/s72-c/Challenge.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1903980616187650466</id><published>2007-10-08T09:00:00.001-07:00</published><updated>2007-10-08T09:05:25.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Intel Threading Challenge</title><content type='html'>Intel are running a &lt;a href="http://softwarecontests.intel.com/threadingchallenge/?cid=sw:multicore028"&gt;programming challenge&lt;/a&gt; based around the area of multi-threading. They pose a programming problem, and you submit code which solves the problem using multi-threading.&lt;br /&gt;Winners of the rounds get cash, and the overall winner gets an Apple laptop.&lt;br /&gt;&lt;br /&gt;It's worth having a go, because:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Often, not many people apply because it requires effort. So your chances of winning are reasonable.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You'll likely learn something, or at least dust off your skills.&lt;/li&gt;&lt;li&gt;It's good to mention at interview, and gives you some more demo code.&lt;/li&gt;&lt;li&gt;Being able to think of problems in terms of multiple threads/cores is becoming highly important, and a desired skill.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1903980616187650466?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1903980616187650466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1903980616187650466' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1903980616187650466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1903980616187650466'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/10/intel-threading-challenge.html' title='Intel Threading Challenge'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3662210465347095207</id><published>2007-09-30T17:48:00.000-07:00</published><updated>2007-09-30T17:54:11.545-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WorkflowProfiler'/><title type='text'>WorkflowProfiler v1.1</title><content type='html'>I've made a couple of minor changes to &lt;a href="http://workflowprofiler.awardspace.com/"&gt;WorkflowProfiler&lt;/a&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The 'From' field now defaults to including the username, as well as the machine name.&lt;/li&gt;&lt;li&gt;There was a minor bug with the 'Text1' user string field. All user strings were starting with the character '1'.&lt;/li&gt;&lt;li&gt;There was a '/' character missing in the C# example in the readme file.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We're now starting to use it at Heavy Iron, and getting some interesting results. I've been wanting this type of usage data for years... :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3662210465347095207?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3662210465347095207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3662210465347095207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3662210465347095207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3662210465347095207'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/09/workflowprofiler-v11.html' title='WorkflowProfiler v1.1'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1433566251870188217</id><published>2007-09-29T13:23:00.000-07:00</published><updated>2007-09-29T13:33:27.907-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rand'/><title type='text'>Zero Punctuation Game Review</title><content type='html'>&lt;div align="left"&gt;I just came across the &lt;a href="http://www.escapistmagazine.com/articles/view/editorials/zeropunctuation"&gt;'Zero Punctuation'&lt;/a&gt; reviews on &lt;a href="http://www.escapistmagazine.com/"&gt;Escapist Magazine&lt;/a&gt;. Very funny stuff. Here's a recent review of Peggle, a casual game.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed name="VE_Player" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" src="http://update.videoegg.com/flash/proxy.swf?jsver=" width="400" height="332" type="application/x-shockwave-flash" flashvars="gc=c2hvd0FkPXRydWUmYWRWYXJzPWFyZWE9Z2FtZXMmc2l0ZT1lc2NhcGlzdG1hZ2F6aW5lJmZpbGU9aHR0cCUzQSUyRiUyRnNlbGZzZXJ2ZTMwMCUyRWRvd25sb2FkJTJFdmlkZW9lZ2clMkVjb20lMkZnaWQzODklMkZjaWQxMzg5JTJGV1YlMkZDUyUyRjExOTA2Mjk2NTdIVDF3ZWFzMWdwaVhpUE9kWTdTVSZzd2ZwYXRoPWh0dHAlM0ElMkYlMkZ1cGRhdGUlMkV2aWRlb2VnZyUyRWNvbSUyRmZsYXNoJTJGcHJveHklMkVzd2YlM0Zqc3ZlciUzRDElMkU0JmF1dG9QbGF5PWZhbHNlJnNob3dBZFByaW1hcnk9dHJ1ZSZ3bW9kZT13aW5kb3cmYWxsb3dGbGFzaDlGdWxsc2NyZWVuPXRydWU=" quality="high" allowfullscreen="true" allowscriptaccess="always" scale="noscale" wmode="window"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1433566251870188217?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1433566251870188217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1433566251870188217' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1433566251870188217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1433566251870188217'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/09/zero-punctuation-game-review.html' title='Zero Punctuation Game Review'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6290106157368395582</id><published>2007-09-02T09:48:00.000-07:00</published><updated>2007-09-30T17:39:13.896-07:00</updated><title type='text'>Announcing WorkflowProfiler</title><content type='html'>&lt;p&gt;I just finished writing &lt;a href="http://workflowprofiler.awardspace.com/"&gt;WorkflowProfiler&lt;/a&gt;. It’s a freeware program for event logging across a network.&lt;br /&gt;&lt;br /&gt;Normally, if you have a group of people using an application which was created in house, it’s very difficult to objectively state how well the application is performing.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;How often does it crash?&lt;/li&gt;&lt;li&gt;How much time do users spend waiting for lengthy operations to finish?&lt;/li&gt;&lt;li&gt;How often do users use certain pieces of functionality?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;WorkflowProfiler allows you to gather this type of information, by allowing you to fire events to a server from each user’s machine, using a command line operation. The server collects this information, and produces &lt;a href="http://workflowprofiler.awardspace.com/examplereport.html"&gt;HTML reports&lt;/a&gt; to summarize the information.&lt;br /&gt;&lt;br /&gt;Knowing things like how often crashes happen, or how much time is being wasted, allows you to quantify how much money you’re losing as a result of the problems, and prioritise what should be worked upon to best improve productivity.&lt;br /&gt;&lt;br /&gt;WorkflowProfiler is useful for any industry, but here are some examples of how it could help answer questions about the workflow of a game developer:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;How often does the editor crash?&lt;/li&gt;&lt;li&gt;How many times per day do people launch the game?&lt;/li&gt;&lt;li&gt;How long do we spend waiting for the editor to create game data files?&lt;/li&gt;&lt;li&gt;How long do we spend converting sound or video to compressed formats?&lt;/li&gt;&lt;li&gt;How long do we spend getting the latest data from source control?&lt;/li&gt;&lt;li&gt;Does anyone still use the ‘wipe all caches’ button, since we told them they didn’t need to?&lt;/li&gt;&lt;li&gt;How long do we spend waiting for lightmaps to be created?&lt;/li&gt;&lt;li&gt;Etc.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6290106157368395582?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6290106157368395582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6290106157368395582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6290106157368395582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6290106157368395582'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/09/announcing-workflowprofiler.html' title='Announcing WorkflowProfiler'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-5817767291645220773</id><published>2007-07-31T22:08:00.000-07:00</published><updated>2007-07-31T22:13:56.911-07:00</updated><title type='text'>Game Developer Map</title><content type='html'>I've started my own little Google map of local &lt;a href="http://maps.google.com/maps/ms?hl=en&amp;ie=UTF8&amp;amp;msa=0&amp;msid=107592412151871027974.000436314d431ee75c00d&amp;amp;ll=33.660353,-117.872314&amp;spn=2.029984,3.735352&amp;amp;amp;z=8&amp;amp;om=1"&gt;game development studios&lt;/a&gt;.&lt;br /&gt;I'm not trying to map the world with it, but I think I'll perhaps build up a list of all the commercial games studios in California.&lt;br /&gt;&lt;br /&gt;If your studio is missing, drop me a post or email...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-5817767291645220773?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/5817767291645220773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=5817767291645220773' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5817767291645220773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5817767291645220773'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/07/game-developer-map.html' title='Game Developer Map'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1671129982392906557</id><published>2007-07-30T09:26:00.000-07:00</published><updated>2007-07-30T09:29:47.414-07:00</updated><title type='text'>Buy n Large</title><content type='html'>If you've not been there yet, head on over to &lt;a href="http://www.buynlarge.com/"&gt;http://www.buynlarge.com/.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1671129982392906557?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1671129982392906557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1671129982392906557' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1671129982392906557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1671129982392906557'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/07/buy-n-large.html' title='Buy n Large'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-7135862040407865208</id><published>2007-07-15T23:39:00.000-07:00</published><updated>2008-01-25T14:31:31.345-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rand'/><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><title type='text'>Mio C220 GPS First Impressions</title><content type='html'>I recently bought my first GPS for the car, a Mio C220. What first attracted me to it was that, at $199, it was the cheapest one :). I then read some reviews online, and people seemed pretty happy with it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What you get&lt;br /&gt;&lt;/strong&gt;It’s a pocket sized device, with a color touch screen, and a 400MHz processor. The map comes loaded on a standard removable SD card. It’s pre-loaded with the map for North America, but it comes with a DVD with more maps. It comes with a car charger and a suction cup for sticking it to your windscreen. It’s also got a built in speaker for giving directions.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Impressions&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The UI was a bit confusing at first, but you get used to it pretty quickly.&lt;/li&gt;&lt;li&gt;The touch screen works pretty well, though it’s best if you’re using your little finger and are not driving. Using fat fingers and driving at the same time is a recipe for surprise lane changes.&lt;/li&gt;&lt;li&gt;The big thing I initially missed was a ‘text to speech’ function. Instead of saying ‘In 100 yards, take the 66 north’ it says ‘In 100 yards, turn right’. This can be frustrating as freeway turns are often on the same side of the road and close together. At first I had issues which would have been helped if it had said the name / direction of the road to take. However, you gradually improve about ‘seeing’ how far distances are, glancing at the map screen, and generally interpreting what it wants you to do.&lt;/li&gt;&lt;li&gt;One of the things that a review said was that it had a quick screen update time. I’d say the screen updates at between 5-10 frames per second. The result is good. I wouldn’t want one which updated slower.&lt;/li&gt;&lt;li&gt;The device is pretty small and lightweight, which is nice. Some other GPS devices have bigger screens. That would be nice, but I think the C220 is about big enough.&lt;/li&gt;&lt;li&gt;Some other GPS devices can play MP3’s or show photos etc. Personally I’m not a big fan of cross over devices. I like phones which just call people, cameras which just take pictures, and fridges which don’t know when I’m out of yogurt. So I actually like that this GPS just serves one purpose. It means I’m not paying for more than I want, and the manufacturer didn’t have to compromise on the creation of the device, and could focus on its core task.&lt;/li&gt;&lt;li&gt;It doesn’t come with a USB cable. Though, the USB socket is a standard small socket, which I already have a cable for. Also I don’t anticipate needing to plug it in to my PC very often; just when I want to swap in the UK map for a visit home.&lt;/li&gt;&lt;li&gt;It also doesn’t come with a protective pouch. It’d be nice to have one for when you take it out of the car, as otherwise it just has an exposed screen.&lt;/li&gt;&lt;li&gt;Overall, I like it very much. It takes a lot of the stress out of driving to new places.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-7135862040407865208?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/7135862040407865208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=7135862040407865208' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7135862040407865208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/7135862040407865208'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/07/mio-c220-gps-first-impressions.html' title='Mio C220 GPS First Impressions'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2376720597169242748</id><published>2007-07-11T21:11:00.000-07:00</published><updated>2007-07-15T23:42:44.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rand'/><title type='text'>This week in ducks...</title><content type='html'>Sorry the posts have dried up a bit lately. I'll get back to it soonish...&lt;br /&gt;&lt;br /&gt;In the meantime, here's a &lt;a href="http://www.dailymail.co.uk/pages/text/print.html?in_article_id=464768&amp;amp;in_page_id=1770"&gt;fun bit of news about ducks&lt;/a&gt;. I'm a fan of ducks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2376720597169242748?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2376720597169242748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2376720597169242748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2376720597169242748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2376720597169242748'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/07/this-week-in-ducks.html' title='This week in ducks...'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-821205720971611210</id><published>2007-06-25T19:14:00.000-07:00</published><updated>2007-06-25T19:20:17.855-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Productivity'/><title type='text'>Getting Stuff Done - Weekly Time Budget</title><content type='html'>&lt;p align="left"&gt;After you've &lt;a href="http://gamecreator.blogspot.com/2007/06/getting-stuff-done-break-down-your-goal.html"&gt;broken down your goal&lt;/a&gt; and &lt;a href="http://gamecreator.blogspot.com/2007/06/getting-stuff-done-committing.html"&gt;committed&lt;/a&gt; to it, and as an alternative to &lt;a href="http://gamecreator.blogspot.com/2007/06/getting-stuff-done-scheduling.html"&gt;scheduling&lt;/a&gt;, my favourite way of getting stuff done is to decide to commit a certain amount of time per week to devote to a task. At the point that you commit to the work, you decide something like:&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;&lt;strong&gt;“Until the task is completely done, I’m going to spend 3 hours (180 minutes) per week, every week, tackling just this problem.”&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p align="left"&gt;Some observations and rules come from this:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;You can make up this time any time you like. Before school, after work, on the weekend, staying up late one night etc. Within one week you have flexibility, you can front load or back load your week depending on how you’re feeling and your schedule.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Remember that the first few weeks will be easier to complete the time, as the task is new and interesting. Don’t go too high with the time commitment or it will become too hard to stick to.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;When you’ve met your quota for the week, it’s nice to force yourself to take a break from it for the rest of the week. This means you’re ready to start the next week without being burnt out on the task.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Decide when your week is going to run from, to avoid you trying to cheat yourself by shifting it when you don’t want to work. For example, your week might start on Monday morning, with all the minutes needing to be done by the following Sunday night.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-821205720971611210?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/821205720971611210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=821205720971611210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/821205720971611210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/821205720971611210'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/06/getting-stuff-done-weekly-time-budget.html' title='Getting Stuff Done - Weekly Time Budget'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2645727556835477200</id><published>2007-06-15T22:25:00.000-07:00</published><updated>2007-07-15T23:44:13.581-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Bryce 5.5 is now free...</title><content type='html'>Gamasutra just &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=14346"&gt;announced&lt;/a&gt; that Bryce 5.5, the 3D modelling package, is now free to &lt;a href="http://www.download.com/Bryce/3000-6677_4-10696717.html?tag=lst-0-1"&gt;download&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2645727556835477200?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2645727556835477200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2645727556835477200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2645727556835477200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2645727556835477200'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/06/bryce-55-is-now-free.html' title='Bryce 5.5 is now free...'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-5812536894446318236</id><published>2007-06-15T22:19:00.000-07:00</published><updated>2007-06-15T22:24:47.001-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Productivity'/><title type='text'>Getting Stuff Done - Scheduling</title><content type='html'>&lt;p&gt;So far, we’ve gone through the stages of deciding exactly what the goal is, and deciding whether we’re seriously committed to doing the work to meet it. The final thing we need to do is to provide some kind of ticking metronome to remind us to get it done.&lt;/p&gt;&lt;p&gt;The most common approach is to set up a schedule. It’s pretty simple:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;There are a variety of programs you can use for scheduling, such as Open Workbench. If you’ve got less than 100 items in the list though, I recommend just using a spreadsheet. &lt;/li&gt;&lt;li&gt;Break down your goal into chunks, and predict/decide when you expect them to be complete. &lt;/li&gt;&lt;li&gt;Break down the tasks to a pretty fine level of granularity. When scheduling a large project, it's common to keep tasks under three days each.&lt;/li&gt;&lt;li&gt;You’re committing to doing your very best to meet the schedule, doing whatever effort it takes to hit the dates or beat them. &lt;/li&gt;&lt;li&gt;The schedule kind of takes the role of a person; someone telling you what is expected of you, beating the drum. &lt;/li&gt;&lt;li&gt;You can adapt the schedule if really needed, but you need the will power to not just stretch it out because you’re being lazy. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-5812536894446318236?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/5812536894446318236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=5812536894446318236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5812536894446318236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/5812536894446318236'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/06/getting-stuff-done-scheduling.html' title='Getting Stuff Done - Scheduling'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-9114009329463684401</id><published>2007-06-10T16:53:00.000-07:00</published><updated>2007-06-10T17:06:28.307-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Productivity'/><title type='text'>Getting Stuff Done - Committing</title><content type='html'>&lt;p&gt;Now that you’ve &lt;a href="http://gamecreator.blogspot.com/2007/06/getting-stuff-done-break-down-your-goal.html"&gt;broken your goal down&lt;/a&gt;, are you really serious about doing the work required to get it done? Are you ready to commit to getting it done, regardless of how you’re often not going to enjoy it?&lt;br /&gt;It will mean regular sacrifice (of either time, money or both). There will be times when:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;You regret committing to it.&lt;/li&gt;&lt;li&gt;You feel you are wasting your time.&lt;/li&gt;&lt;li&gt;The amount of remaining work suddenly grows greatly.&lt;/li&gt;&lt;li&gt;The work is too tedious, and you’re surrounded by far more interesting things.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;At these points, you’re going to have to keep on doing it regardless&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Take your time, and think carefully about your answer. If you consider the question and quickly get a strong ‘yes’, then you’re likely not thinking it through fully. Once you’re in, you’re promising to yourself that you’re going to do it. It’s like getting a dog, or getting married, or getting a tattoo. You’re committing to something which will bring please and pain, not just getting the upside.&lt;br /&gt;&lt;br /&gt;Let me make something clear. If you decide to not commit, then that’s OK. You’ve just saved yourself from a lot of headaches, wasted time and pointless day dreaming. It also leaves you free to commit to something else. &lt;/p&gt;&lt;p&gt;If instead, you don’t make the decision, then you stay in a cycle of pipe dreaming and half baked attempts at chipping away at the task. You can delude yourself that you're getting something done, and brag about it to your friends, but over time your enthusiasm will likely fade and you'll stop doing it - because you're not committed to it.&lt;br /&gt;&lt;br /&gt;So, take your time, perhaps a week or two if it's big, and then decide whether you're ready to commit.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-9114009329463684401?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/9114009329463684401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=9114009329463684401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9114009329463684401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9114009329463684401'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/06/getting-stuff-done-committing.html' title='Getting Stuff Done - Committing'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2661813840561822760</id><published>2007-06-04T08:17:00.000-07:00</published><updated>2007-06-04T08:26:35.820-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Productivity'/><title type='text'>Getting Stuff Done – Break down your goal</title><content type='html'>&lt;p&gt;Let’s say that there’s something that you need to get done. Something challenging which will take up some time, like learning a new programming language, writing a game demo, starting a company, invading Poland, etc.&lt;br /&gt;&lt;br /&gt;First, what is it that you’re wanting to do? Try and be as specific as you can. Write it down as if you were writing an email to ask someone else to do it. Break the high level goal down into some of the main stages.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Basic Goals&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Learn CG.&lt;/li&gt;&lt;li&gt;Make a game, sell it and retire laughing. &lt;/li&gt;&lt;li&gt;Sort out my savings. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Better Goals&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Learn CG&lt;/em&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Download Ogre, run the samples, and find one to hack. &lt;/li&gt;&lt;li&gt;Read up on Ogre materials, and read some CG samples. &lt;/li&gt;&lt;li&gt;Make a cell shader effect and demo it by modifying the sample. &lt;/li&gt;&lt;li&gt;Write a cloth simulation and put the cell shader on it. &lt;/li&gt;&lt;li&gt;Test it out on a couple of friends’ machines. &lt;/li&gt;&lt;li&gt;Record a video of the output and put it on my resume site for employers to see. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;Make a Pac man clone&lt;/em&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Use my existing knowledge of Ogre and C++ to write a clone. &lt;/li&gt;&lt;li&gt;Use Blender to make the models/animations. &lt;/li&gt;&lt;li&gt;Get free sounds off the web, and play them with OpenAL.&lt;/li&gt;&lt;li&gt;Pay for some music off the web. &lt;/li&gt;&lt;li&gt;Polish and debug the game, including beta testing with friends. &lt;/li&gt;&lt;li&gt;Make a website, including forum and purchase page. &lt;/li&gt;&lt;li&gt;Get a friend to do the art for the website. &lt;/li&gt;&lt;li&gt;Release the game. &lt;/li&gt;&lt;li&gt;Make patches to fix issues. &lt;/li&gt;&lt;li&gt;Do lots of marketing work. &lt;/li&gt;&lt;li&gt;Retire rich. &lt;/li&gt;&lt;li&gt;Start laughing. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;Sort out my savings&lt;/em&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Talk to my family about how they save and what types of accounts they have. &lt;/li&gt;&lt;li&gt;Ask at work about how the pension scheme works, and decide whether I want to join. &lt;/li&gt;&lt;li&gt;Read the book on investing that I was given for my birthday. &lt;/li&gt;&lt;li&gt;Start an automated monthly deposit to my savings account. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Having a better idea of what’s involved with the task will help you work out whether the scope of work is appropriate, and let you see what you’re getting yourself into. If you’re starting to learn C and your overall goal is to ship a World of Warcraft killer, then you might want to think of some smaller goals to get you started.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2661813840561822760?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2661813840561822760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2661813840561822760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2661813840561822760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2661813840561822760'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/06/getting-stuff-done-break-down-your-goal.html' title='Getting Stuff Done – Break down your goal'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2665890038414413689</id><published>2007-05-25T10:15:00.000-07:00</published><updated>2007-07-15T23:42:53.196-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rand'/><title type='text'>Nudging</title><content type='html'>I just came across the concept of '&lt;a href="http://www.nytimes.com/2007/05/16/business/16leonhardt.html?ex=1180152000&amp;en=8cc8bf9a4b56f8b1&amp;ei=5070"&gt;nudging&lt;/a&gt;'. Making a small change to how you're already doing things, to make a big difference.&lt;br /&gt;&lt;br /&gt;I feel it can apply to the day to day running of a games studio (or any organization). If you can make it slightly easier for people to do the right thing (e.g. report a bug, schedule accurately, not check in compile errors) then it can have a big overall effect in your quality.&lt;br /&gt;&lt;br /&gt;It's pretty common sense, but it's easy to lack that sometimes...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2665890038414413689?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2665890038414413689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2665890038414413689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2665890038414413689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2665890038414413689'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/05/nudging.html' title='Nudging'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-4600374726268598479</id><published>2007-05-20T20:13:00.000-07:00</published><updated>2010-04-05T08:54:31.811-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Sketchup</title><content type='html'>&lt;a href="http://www.sketchup.com/"&gt;Sketchup&lt;/a&gt; is a modelling tool which Google bought a little while ago. It’s used, in part, to create buildings and such for the &lt;a href="http://earth.google.com/"&gt;Google Earth&lt;/a&gt; project. It’s not as sophisticated as something like Maya, but it’s easy to use to create simple static models. It comes in two forms, a free version, and a more feature rich version for $500. There’s also an SDK you can ask them for (email sdk@sketchup.com and they'll ask you to complete a Non Disclosure Agreement), which allows you to read sketchup files.&lt;br /&gt;&lt;br /&gt;It occurred to me that the free version, and SDK, could be used as a level editor for simple home projects or shareware games.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.moonpod.com/English/about_wordpirate.php" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_t3G6O0vkb1k/S7oGbLo050I/AAAAAAAADow/NvaaV9ag5Pg/s1600/200x200wordpiratead.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_t3G6O0vkb1k/S7oGbLo050I/AAAAAAAADow/NvaaV9ag5Pg/s400/200x200wordpiratead.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5456680962563041090" /&gt;&lt;/a&gt;&lt;br /&gt;The idea for how to build levels would be similar to how I said that &lt;a href="http://gamecreator.blogspot.com/2006/08/favourite-tools-inkscape.html"&gt;Inkscape&lt;/a&gt; could be used. The general level geometry is built using the normal modelling tools, and then gameplay information is layered over the top. For example a box with a spider texture on it, would turn into a spider enemy in game, or an object with a wood texture, would become a wooden dynamic physics object. The limitations come when you want to do scripting, such as configuring a platform to move back and forth, or triggering an event when the player reaches a certain point.&lt;br /&gt;&lt;br /&gt;As with using middleware, you should aim to bend your designs to fit with what you're given. Though the limitations might change the game you're making, the time saved in having such a stable and feature rich editor on day one would be massive.&lt;br /&gt;&lt;br /&gt;Level editing aside, Sketchup is a lot of fun. If you’ve not had a play, I recommend watching this video, and having a play yourself. Also take note of the huge free collection of models in the &lt;a href="http://sketchup.google.com/3dwarehouse/"&gt;warehouse&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There's a great 15 minute video which shows you the features &lt;a href="http://sketchup.google.com/gsu5vtviewer.html#id=0"&gt;here&lt;/a&gt;, and you can download Sketchup &lt;a href="http://sketchup.google.com/download.html"&gt;here&lt;/a&gt; (the free one is the button on the left).&lt;br /&gt;&lt;br /&gt;Here's a timelapse view of someone building a house in sketchup...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;{Edit May 2009} I just spotted on &lt;a href="http://jamesewelch.wordpress.com/2008/03/07/how-to-load-a-google-sketchup-model-into-a-xna-game/"&gt;Jim's blog&lt;/a&gt; that exporters for XNA '.X' format are available for Sketchup. More on this at my &lt;a href="http://gamecreator.blogspot.com/2009/06/free-models-for-xna.html"&gt;newer post&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rJcMe1OFBRQ"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/rJcMe1OFBRQ" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-4600374726268598479?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/4600374726268598479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=4600374726268598479' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4600374726268598479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/4600374726268598479'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/05/sketchup.html' title='Sketchup'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_t3G6O0vkb1k/S7oGbLo050I/AAAAAAAADow/NvaaV9ag5Pg/s72-c/200x200wordpiratead.gif' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-963272028756369075</id><published>2007-05-12T11:28:00.000-07:00</published><updated>2007-07-15T23:44:13.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Free Visual Studio - Update</title><content type='html'>Remember me saying that you can get a &lt;a href="http://gamecreator.blogspot.com/2007/04/get-free-copy-of-visual-studio-2005.html"&gt;free copy of Visual Studio Standard&lt;/a&gt; by taking a couple of labcasts? Well I did it, paid the $11 shipping, and received my copy the other day!&lt;br /&gt;&lt;br /&gt;It was a little strange at first. You complete the second labcast, there’s no confirmation that you’re going to get anything, and then two weeks later you get a mail with a link to the redemption page. Ohh, and make sure you use IE.&lt;br /&gt;&lt;br /&gt;The Standard edition normally costs something like $300, so it’s a good deal. The offer is still running until June 30th / while supplies last, so you can still &lt;a href="http://www.microsoft.com/business/vb2005upgrade/default.mspx"&gt;get your own copy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;(United States Only)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-963272028756369075?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/963272028756369075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=963272028756369075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/963272028756369075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/963272028756369075'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/05/free-visual-studio-update.html' title='Free Visual Studio - Update'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6852211323332696447</id><published>2007-05-01T07:28:00.000-07:00</published><updated>2007-05-01T07:41:33.339-07:00</updated><title type='text'>Summer Internship?</title><content type='html'>Just a quick note to say that &lt;a href="www.heavy-iron.com"&gt;Heavy Iron&lt;/a&gt; is looking for summer interns.&lt;br /&gt;&lt;br /&gt;It's for any Software Engineering / Computer Science students interested in video game programming in C/C++. We are looking for solid C/C++ coders, with good problem solving ability, who can take on any technical challenges from bug fixing, to implementing new game features.&lt;br /&gt;&lt;br /&gt;It's a paid, full-time position. I'd recommend it to students who are local (we're in Los Angeles, 5 mins north of LAX), as flying out and finding accommodation is a bit of a hassle.&lt;br /&gt;&lt;br /&gt;If you'd like more information, you can mail me at   &lt;span style="font-weight:bold;"&gt;mister_pope (at) hotmail dot com&lt;/span&gt;. (I live in fear of spam bots)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.tca2000.co.uk/spambot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px;" src="http://www.tca2000.co.uk/spambot.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6852211323332696447?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6852211323332696447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6852211323332696447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6852211323332696447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6852211323332696447'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/05/summer-internship.html' title='Summer Internship?'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6113654119788371013</id><published>2007-04-28T12:09:00.000-07:00</published><updated>2007-04-28T12:18:51.610-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Questions from a game programming student</title><content type='html'>A student at Full Sail recently mailed me some questions, so I thought I’d answer them as a blog post.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is an average day in your life working at Heavy Iron Studios or just in the game industry?&lt;/strong&gt;&lt;br /&gt;I’ll answer this in a future post some time… Basically, for a programmer, it’s a lot of sitting and coding, but we also talk and joke around a bit. I like it…&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Can you describe the type of people that you wish to work with and what personality traits make these people stand out to you?&lt;/strong&gt;&lt;br /&gt;The key attributes we look for are an ability to code C/C++, good problem solving ability, and a reasonable level of education / literacy.&lt;br /&gt;On the personality front, we like to see people who are going to fit in. At Heavy Iron we’ve got quite a relaxed/friendly atmosphere, and the programmers are all helpful to each other. Working with people who think they’re the best programmer on the planet, or who don’t get along well with others isn’t something most people want. It’s best to be humble and friendly – if you are smarter than others, then you can help them improve, and if you’re not, then you’re open enough to learn.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How do you feel about accelerated technical education schools like mine?&lt;/strong&gt;&lt;br /&gt;Like any school, it really comes down to the individual. Going to Full Sail should allow you to put ‘Look - I’m educated’ on your resume, which will get your foot in the door. After that it’s down to the interview process to show you’ve got the skills. If you work hard on your course and do extra coding in your spare time for fun, then you’ve got as good a chance as anyone.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Do feel more people are hired for a specific area of expertise, or a general knowledge of all aspects in game programming?&lt;/strong&gt;&lt;br /&gt;Most people we hire are generalists. Our programmers tend to touch lots of areas of the game code, engine and tools, and so we want people who can quickly pick up anything. This doesn’t mean that we’d not want someone with a speciality however.&lt;br /&gt;I’d say that to be a specialist in something you’d at least want one or two published commercial games where you worked on a specific feature from the ground up. Ideally you’d have written the same type of system more than once, from the ground up. That way you will have had chance to try different approaches to the solution.&lt;br /&gt;For someone in your situation, I recommend not attempting to specialise too much to early on. Try touching everything once – rendering, sound, physics, AI, memory allocation, etc – and then find what you like. It’ll make you a better specialist if you’re a generalist first.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How can I stand out above all the other programmers out there?&lt;/strong&gt;&lt;br /&gt;If you could regurgitate live frogs, that would do it for me…&lt;br /&gt;Just be as good as you can at what you do. Write games and demos in your spare time – and don’t let anything stop you (I’m waiting for my friend to work on it with me – I’m coming up with the worlds best idea – I’m going to draw the graphics first etc.). If your resume has a link to your site, and it shows things like simple games, use of physics API’s, graphics demos, shaders, then I think you should find it hard to not get a job. If you’ve not got those skills or demos, then get cracking – pick what interests you and start doing it. If you graduate and can’t get a job, then give yourself the 40 hour per week job of creating those demos. Your skills will improve and you’ll stand out!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is your favorite game? &lt;/strong&gt;&lt;br /&gt;That’s tough. I’ll list a few, going backward through time.&lt;br /&gt;- Resident Evil 4 on the Gamecube was absolutely fantastic, and it’s $20 new. Bargain!&lt;br /&gt;- Command and Conquer and Total Annihilation were good.&lt;br /&gt;- Captive for the Atari ST was good. (Think dungeon master but with Robots)&lt;br /&gt;- ‘Elite’ was a space trading game from the 8 bit days. This was a great game. I’d say it’s the reason why about half of the game programmers in England got inspired to make games. (OK, I might be going a bit far, but I’m not alone.)&lt;br /&gt;- Also, I think my favourite Heavy Iron game was ‘SpongeBob SquarePants: The Movie’. It’s a kids game, but it was a lot of fun to make and play.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Is there any other advice you can offer to an aspiring game developer?&lt;/strong&gt;&lt;br /&gt;Just the &lt;a href="http://gamecreator.blogspot.com/search/label/Getting%20a%20games%20job"&gt;tips&lt;/a&gt; I’ve been posting. Oh, and I’ve said it before but – apply directly to studios instead of using recruiters. It saves the company money, which they like, and is also more personal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6113654119788371013?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6113654119788371013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6113654119788371013' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6113654119788371013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6113654119788371013'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/04/questions-from-game-programming-student.html' title='Questions from a game programming student'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1789143410182737568</id><published>2007-04-26T20:16:00.000-07:00</published><updated>2010-01-29T09:42:50.457-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MoonPod'/><title type='text'>Moonpod Trailers</title><content type='html'>I'm getting quite into this posting videos from youtube mullarcky. My friends at &lt;a href="http://www.moonpod.com/"&gt;Moonpod&lt;/a&gt; have posted trailers for their two games there, and I thought I'd join in with spreading the word...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Starscape&lt;/strong&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EhyuTYTsog0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EhyuTYTsog0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mr. Robot&lt;/strong&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AjuuoLakA1w"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/AjuuoLakA1w" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I'll get back into the swing of text based posts soon... I promise... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1789143410182737568?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1789143410182737568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1789143410182737568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1789143410182737568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1789143410182737568'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/04/moonpod-trailers.html' title='Moonpod Trailers'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3793920378729991970</id><published>2007-04-21T18:49:00.000-07:00</published><updated>2007-04-23T09:36:38.474-07:00</updated><title type='text'>Sumotori Dreams</title><content type='html'>As I think I mentioned, I like the &lt;a href="http://www.fun-motion.com/"&gt;fun-motion&lt;/a&gt; blog. It put me on to this free little game. Very impressive and very funny!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hOvq3-oG5BM"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hOvq3-oG5BM" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;More pics and videos at the &lt;a href="http://web.t-online.hu/archee83/sumotori/"&gt;official page&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3793920378729991970?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3793920378729991970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3793920378729991970' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3793920378729991970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3793920378729991970'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/04/sumotori-dreams.html' title='Sumotori Dreams'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3761347336044324761</id><published>2007-04-10T21:42:00.000-07:00</published><updated>2007-04-10T21:43:16.070-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Getting a game programming job - What new programmers work on</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;A common question I get asked, is what do new programmers (or interns) work on? It varies between companies, projects and the individual, but generally it tends to include things like the following:&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Firefighting. Coping with the constant flow of random issues      that come up. This is good for learning all the different parts of the code      base.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;User interface for the front end, in-game pause menu, and the      in game HUD.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Fixing ‘TRC’ issues. Things like making sure that the game does      the right thing when the controller is pulled out.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Creating localized versions of the game.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Supporting internal tools, such as a level editor.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Working on graphical effects and sound effects.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Teaming up with someone with more experience on some part of      the game, like the player code or enemies, and helping out where needed.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3761347336044324761?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3761347336044324761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3761347336044324761' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3761347336044324761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3761347336044324761'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/04/getting-game-programming-job-what-new.html' title='Getting a game programming job - What new programmers work on'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1367535678003907282</id><published>2007-04-01T22:24:00.000-07:00</published><updated>2007-07-15T23:44:13.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Get a free copy of Visual Studio 2005 Standard</title><content type='html'>For a limited time, you can get a copy of &lt;a href="http://www.microsoft.com/business/vb2005upgrade/default.mspx"&gt;Visual Studio 2005 Standard&lt;/a&gt; by taking two online labcasts. Cool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1367535678003907282?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1367535678003907282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1367535678003907282' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1367535678003907282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1367535678003907282'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/04/get-free-copy-of-visual-studio-2005.html' title='Get a free copy of Visual Studio 2005 Standard'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6493120815692033712</id><published>2007-03-29T20:31:00.000-07:00</published><updated>2007-07-15T23:44:13.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Excel Tips</title><content type='html'>Lately I’ve been spending a lot of time in Excel, and I thought I’d pass on a few tips. Hopefully I'll give you a tip you don't know :)&lt;br /&gt;Open Excel at the same time, and try them out.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dragging the current cell to extend to other cells&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Select a cell, and key in either the name of a month, the name of a day, or a whole number.&lt;/li&gt;&lt;li&gt;Now put your mouse over the small black square in the bottom right corner of the cell, and drag it either vertically or horizontally over some more cells.&lt;/li&gt;&lt;li&gt;When you let go, Excel will fill the cells with a procession of appropriate values, if a pattern can be found. E.g. January, February, March, etc…&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fill Down&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Select a cell, fill it with some text.&lt;/li&gt;&lt;li&gt;Now select that cell, and a series of cells below.&lt;/li&gt;&lt;li&gt;Now press ‘Ctrl D’&lt;/li&gt;&lt;li&gt;Et Voila, the value in the first cell is copied to the lower cells.&lt;/li&gt;&lt;li&gt;This is similar to dragging the small black square, as listed above, but this won’t spot sequences (which is often desirable) and can also done without using the mouse.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Format Painter&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Next to the toolbar icons for copy and paste is ‘Format Painter’. I didn’t know what it was for a long time.&lt;/li&gt;&lt;li&gt;First, select a cell, put some text in it, color it, give it a border, make the text bold etc.&lt;/li&gt;&lt;li&gt;Now select another cell and just put some text in it.&lt;/li&gt;&lt;li&gt;Select the first cell, then click ‘Format Painter’, then click the second cell.&lt;/li&gt;&lt;li&gt;Hey presto – all the formatting information from the first cell is copied to the second. This also works for copying regions of formatting.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;F2&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pressing F2 while a cell is selected allows you to edit the cell, without having to click on the edit box at the top of the screen. (This works in other places in Windows too, e.g. renaming a file in Explorer.)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6493120815692033712?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6493120815692033712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6493120815692033712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6493120815692033712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6493120815692033712'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/03/excel-tips.html' title='Excel Tips'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2728428524619447909</id><published>2007-03-21T19:17:00.000-07:00</published><updated>2007-03-21T19:18:49.432-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>ODE Determinism</title><content type='html'>A while ago I had a play with two free physics systems, ODE and Newton. I started by using ODE, and in this post will summarize my experiences with it.&lt;br /&gt;&lt;br /&gt;After a while of flipping objects around I tried making a simulation. I specifically wanted the simulation to be deterministic, meaning that if I set the same simulation up twice and said ‘go’, the same sequence of events would happen. (E.g. A precariously balanced tower would always fall down one direction, let’s say left.)&lt;br /&gt;&lt;br /&gt;I found that ODE wasn’t deterministic (E.g. the tower would unpredictably fall left or right each time). I dug through the forums and eventually found something quite interesting. When ODE collides two objects together, it generates multiple contact points. For efficiency and stability, it chooses the contact points it’s going to use randomly, and over time this statistically averages out to represent the full contact surface. At this point you might be scoffing, and saying that you wouldn’t do it that way. I say once you’ve written your own physics system and think it’s easy, then you can scoff :)&lt;br /&gt;&lt;br /&gt;So I tried a hack. I tried calling “srand(0)” before the start of each simulation run. This should mean that for the same objects, and the same sized time step, the same sequence of events should happen, and when collisions happen, the same order of random numbers should be generated, meaning the simulation shouldn’t diverge. I tried this, and almost to my surprise it worked! The simulation would run the same way time after time.&lt;br /&gt;&lt;br /&gt;However I then realized another facet of the determinism which I hadn’t foreseen. My simulation was deterministic, but if I added another physics object which was off in the distance, and not directly colliding with the main focus of the simulation then I would get a different deterministic result (E.g. the tower would always fall left, until you add a brick somewhere in the distance, and now the tower would fall right). The cause is that the new physics object is causing an extra collision, and therefore throwing off the sequence of random numbers.&lt;br /&gt;&lt;br /&gt;The next hack I could do would be to change the Rand function which ODE uses to return a fixed number. This should cause all collisions to resolve the same way.&lt;br /&gt;&lt;br /&gt;Unfortunately it was a while ago that I worked with ODE, and I can’t quite remember whether I tried the second hack. By this point the determinism problem and also problems getting objects to fully come to rest were frustrating me and so I decided to try out Newton.&lt;br /&gt;&lt;br /&gt;Before I close I’d just like to say that though it may look like I’m giving ODE a hard time, there are lots of users of it, that many applications don’t need determinism, and that I’m delighted that the clever people who wrote it went to the trouble of doing so. Having played with bits of physics code I can appreciate the difficulty in building a physics library, and am grateful that I don’t have to write my own.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2728428524619447909?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2728428524619447909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2728428524619447909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2728428524619447909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2728428524619447909'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/03/ode-determinism.html' title='ODE Determinism'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-848470111602232916</id><published>2007-03-12T20:18:00.000-07:00</published><updated>2007-03-12T20:25:41.340-07:00</updated><title type='text'>Mr Robot is unleashed!</title><content type='html'>My friends at &lt;a href="http://www.moonpod.com"&gt;Moonpod&lt;/a&gt; have recently released their second indie game '&lt;a href="http://www.moonpod.com/English/about_mr.robot.php"&gt;Mr Robot&lt;/a&gt;'. I've mentioned their &lt;a href="http://gamecreator.blogspot.com/2006/09/moonpod-developer-diary.html"&gt;developer diary&lt;/a&gt; in the past, they're not currently writing it, but I'll let you know when they restart it.&lt;br /&gt;&lt;br /&gt;Mr Robot is an interesting mix of old school isometric platforming and RPG turn based fighting. It's been getting some great reviews, and various 'game of the month' type accolades. I heartily recommend having a play of the free demo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-848470111602232916?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/848470111602232916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=848470111602232916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/848470111602232916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/848470111602232916'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/03/mr-robot-is-unleashed.html' title='Mr Robot is unleashed!'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1658433621442782534</id><published>2007-02-27T19:14:00.000-08:00</published><updated>2007-02-27T19:15:23.244-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Getting a game programming job - Keep on coding after university</title><content type='html'>I’ve spoken before about the huge benefit of working on demos in your spare time. I’m going to say the same thing again in a different way in an attempt to spur a few more people into action.&lt;br /&gt;&lt;br /&gt;I interview quite a few people who’ve been to university and done the courses, and quite likely were good at coding their assigned projects. However once university finishes they stop coding, and start looking for work. What happens is that if you don’t land a job quickly, your skills start to rust over. You can’t remember where the asterisks go, how big the data types are, the standard library functions etc. Sure, if you had google with you, you could work it out pretty quick, but that’s a weak defence in an interview. The longer you go without coding, the harder it becomes to make it past the phone interview.&lt;br /&gt;&lt;br /&gt;Here’s a different picture. You have a phone interview or programming test at 2pm, and you just spent the last three weeks working on a 3D game demo. Now you’ll likely remember lots of stuff, you’ll be in a coding frame of mind, and you might even get a demo to show them.&lt;br /&gt;&lt;br /&gt;Sounds obvious, but you’d be surprised how many people fall into this trap.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1658433621442782534?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1658433621442782534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1658433621442782534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1658433621442782534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1658433621442782534'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/02/getting-game-programming-job-keep-on.html' title='Getting a game programming job - Keep on coding after university'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-3284727850178887467</id><published>2007-02-20T20:19:00.000-08:00</published><updated>2007-02-20T20:21:39.205-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Perlin Noise</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Perlin noise is a useful technique to be aware of when making games. It’s useful for creating apparently random ‘noise’, which is restricted to a range of numbers. Some potential uses in games are:&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Make a random looking heightmap of a mountainous area, without going      outside certain bounds.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Create the jagged line for a lightning bolt between two exact      points.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Apply a subtle random wander to the game camera to make it look      like the camera is hand held, while still pointing generally at the target.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-GB"&gt;Create a tiling plasma texture.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Perlin noise works by starting with a straight line and recursively bisecting it. Each bisection point is shifted some random amount from it’s initial position. Each recursion can specify a different range from the random offset. By varying the level of recursion and the shift range for the different recursion depths, you can get a range of different types of shape.&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Actually, the above is just my simple/para-phrased understanding of Perlin. Here’s &lt;a href="http://freespace.virgin.net/hugo.elias/models/m_perlin.htm"&gt;a better page&lt;/a&gt; which really goes into it in depth.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-3284727850178887467?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/3284727850178887467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=3284727850178887467' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3284727850178887467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/3284727850178887467'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/02/perlin-noise.html' title='Perlin Noise'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2076848440652663730</id><published>2007-02-17T13:38:00.000-08:00</published><updated>2007-02-17T13:40:33.807-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>88 Interview Tips</title><content type='html'>Here's an article listing &lt;a href="http://oedb.org/library/starting-a-career/88-surefire-job-interview-tips"&gt;88 tips on getting a job&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2076848440652663730?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2076848440652663730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2076848440652663730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2076848440652663730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2076848440652663730'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/02/88-interview-tips.html' title='88 Interview Tips'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2212404711232861219</id><published>2007-02-13T21:18:00.000-08:00</published><updated>2007-02-13T21:22:15.035-08:00</updated><title type='text'>Optimize Your PC Startup Time</title><content type='html'>Other than buying a new PC, I sometimes wonder how to speed up my PC and its startup time. It used to be quick, but through that mysterious alleged process of ‘windows machines getting slower over time’, it’s been getting pretty painful lately.&lt;br /&gt;&lt;br /&gt;I decided to try and find the cause, and thought I’d document my attempts here, in the hopes of saving the world from upgrading their PC’s. (I’m all about saving the planet.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Clean Up That Systray&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I went through all the icons in my system tray, and uninstalled the ones which I wasn’t really using.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Instant Messaging&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was running Microsoft Messenger and Skype. I tried using task manager to see how much memory they use. The ‘Mem Usage’ column (‘View-&gt;Select Columns’) seems to be the current physical memory, which fluctuates too much to give you a useful number. The ‘VM Size’ seems pretty constant though. Messenger takes 26meg, and Skype takes 15meg. I decided to not start them by default, and install Trillian, and have that start by default instead. Trillian is a small download, works with Messenger, and looks like it might use less memory. That said, I found that it takes about the same as messenger, so it might not be much of a win. Still, I think that not having Skype on by default will save me something. Anyone that I talk to on Skype is also on my messenger list, so I can use Trillian to see if they are online.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Startup Folder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I had a look what was in my ‘Programs-&gt;Startup’ folder. I had ‘Google Updater, Adobe (Acrobat) Speed Launcher, and Juice (a podcasting program I’ve not really been using). I deleted all of these, as I decided they weren’t generally serving much purpose for me.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Internet Browser&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Browser startup time was something that I was curious about. I experimented with IE7, Firefox and Opera. I found that they all opened up to my home page in about the same amount of time. The difference in perceived performance was pretty intangible, so I decided to stick with what I’m used to, which is Firefox.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“MSConfig”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OK, now I’m getting all hardcore and dangerous. I don’t recommend that novices play around with this application.&lt;br /&gt;&lt;br /&gt;If you run MSConfig (‘Start-&gt;Run-&gt;type “msconfig” in the box’), there’s a tab called ‘Startup’ which lists a bunch of executables which run at startup. Looking down this list, I found plenty of things to turn off:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A version updater for ‘Musicmatch’ (mp3 player), which coincidentally was also causing me problems when shutting down windows.&lt;/li&gt;&lt;li&gt;“ITunes helper”, something that iTunes can live without.&lt;/li&gt;&lt;li&gt;“QTTask”, something that QuickTime player can live without.&lt;/li&gt;&lt;li&gt;A program which my bank gave me.&lt;/li&gt;&lt;li&gt;A web browser launcher which got installed during my broadband setup.&lt;/li&gt;&lt;li&gt;A printer software update program. (I’ve had the thing two years, it works fine, and the update never gives me new software. I left the printer spooler though.)&lt;/li&gt;&lt;li&gt;A program related to my old webcam.&lt;/li&gt;&lt;li&gt;A program which I accumulated at some point which supports a remote control for my DVD drive. No thanks.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Other Cleanup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally I’ll list a few other things that I like to do occasionally to keep the machine clean.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Run spyware and anti-virus scans.&lt;/li&gt;&lt;li&gt;Look through the ‘Add/Remove Programs’ list and delete things I’m not using.&lt;/li&gt;&lt;li&gt;Delete or move things off the desktop which I’m not using.&lt;/li&gt;&lt;li&gt;Empty the recycle bin.&lt;/li&gt;&lt;li&gt;Defrag.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Result&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So after all this messing about, is my machine much faster? I’d say it’s going mildly faster, but not so much. That said, I do have a nice feeling of cleanliness, knowing that I’ve cleaned up a bunch of stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2212404711232861219?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2212404711232861219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2212404711232861219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2212404711232861219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2212404711232861219'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/02/optimize-your-pc-startup-time.html' title='Optimize Your PC Startup Time'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-8200051303219317076</id><published>2007-02-07T20:04:00.000-08:00</published><updated>2007-02-02T09:55:07.615-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Scripting Languages - An Alternative</title><content type='html'>&lt;p class="MsoNormal"&gt;In the last couple of posts I’ve presented the &lt;a href="http://gamecreator.blogspot.com/2007/01/scripting-languages-good-news.html"&gt;pros&lt;/a&gt; and &lt;a href="http://gamecreator.blogspot.com/2007/01/scripting-languages-bad-news.html"&gt;cons&lt;/a&gt; of using scripting languages such as LUA and Python in commercial games. To summarize, there are some powerful reasons for and against using them, and you need to think carefully about it before using them.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;This time I’m going to present an alternative which is commonly used, but let me say up front that this method also has pros and cons, and I’m not attempting to say that this method is better than scripting languages.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Most games have some kind of editor for building levels. In these editors you shape the environment, and also fill the world with objects of different types. Some types of objects you might place might be, player start position, enemies, crates, trigger volumes, pickups etc. Each object will have some configurable properties. Enemies might have health and strength, crates might have a configurable number of gold coins in, etc.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;The alternative to scripting languages comes in by these gameplay objects ‘sending messages’ when different events happen. In the properties for the object, you specify that when ‘X’ happens to the object, send a message called ‘Y’ to object ‘Z’. For instance, on the trigger volume object there might be an ‘on volume entered by player’ event, which could be configured to send a message called ‘Appear’ to another object called ‘Enemy62’.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;This simple connecting of objects together using events and messages allows simple scripting of the game, and basically gives simple ‘if…then…’ functionality. There’s a lot of stuff missing though. What about variables, complex conditionals, timers, functions, passing parameters with messages etc? Well, you can tack these on by adding gameplay widgets which perform these goals, and generally follow the same theme of having an point-and-click style of scripting, rather than writing code.&lt;/p&gt;    &lt;p style="font-weight: bold;" class="MsoNormal"&gt;Advantages&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;You      don’t have the problem of novice programmers writing bad code.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;You      don’t have to use a third party scripting language (i.e. the stepping into      someone else’s code problem) or have to write your own complex scripting      language interpreter.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;You      can tack scripting onto your game using the level editor which you’ll need      anyway.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;You’d      rarely have performance problems as this method doesn’t give script files      which need interpreting, but also due to having a limiting simplicity, the      amount of scripting is usually light.&lt;/li&gt;&lt;/ul&gt;    &lt;p style="font-weight: bold;" class="MsoNormal"&gt;Disadvantages&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;The      power of the scripting ability is pretty limited. Normally you just get      simple ‘if…then…’ type operations.&lt;/li&gt;&lt;li&gt;Just      because you’re not giving them a coding language, it doesn’t stop the      users from making convoluted scripts.&lt;/li&gt;&lt;li&gt;Reading      how the game scripting works can be much harder, as instead of a single      list of instructions, you have a sea of objects, each firing little      messages at each other.&lt;/li&gt;&lt;li&gt;You’ll      likely have a similar lack of IDE-like debugging tools for your scripts.&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So there we go. Scripting languages – can’t live with them, can’t live without them.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Or something like that…&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-8200051303219317076?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/8200051303219317076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=8200051303219317076' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8200051303219317076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/8200051303219317076'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/02/scripting-languages-alternative.html' title='Scripting Languages - An Alternative'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-6245642161722091332</id><published>2007-01-31T20:14:00.000-08:00</published><updated>2007-01-31T20:27:22.585-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Scripting Languages – The Bad News</title><content type='html'>Last time I introduced what scripting languages such as LUA and Python are used for in games, and some of the &lt;a href="http://gamecreator.blogspot.com/2007/01/scripting-languages-good-news.html"&gt;positive aspects of using them&lt;/a&gt;. This time we’ll go through some of the negatives generally found with scripting languages. Note that each scripting language is different, and may not suffer from all the problems listed.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Non-programmers don’t make great programmers. As you often ask non-programmers to do the scripting, they will often make novice mistakes, need help writing simple code, or make really nasty code (spaghetti code, bad naming of variables and functions, heavy use of global variables, etc). This can result in a buggy game, and end up using programmer time as the programmers are called in to fix things.&lt;/li&gt;&lt;li&gt;Scripting languages often lack a sophisticated debugger, like the one the C programmers will be using. This makes things very tough for the scripter, as they have to resort to inefficient debugging methods such as doing ‘printf’s to show how far the script ran, and what values specific variables have.&lt;/li&gt;&lt;li&gt;Fixing warnings from the script compiler can be difficult for a non-programmer.&lt;/li&gt;&lt;li&gt;Though you might start off thinking that you’re only going to write a little code in the scripting language, you often end up writing more than you intended (e.g. enemy AI), and script execution (which is usually a lot slower than the execution of C code) becomes a performance bottleneck for your game.&lt;/li&gt;&lt;li&gt;As with any piece of middleware, you’re bringing in a large block of someone elses code. At some point you’ll likely need to track down a memory leak or otherwise debug inside the code. For example, you might be calling the scripting API incorrectly, which is causing a memory leak, so you discover that memory is leaking inside the scripting system, and start stepping in to it, to track down why. This can be difficult if the code is not written in an easy to understand manner.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;It’s not a long list of negatives, but in combination, by the end of a project, these problems can cause a lot of headaches.&lt;br /&gt;&lt;br /&gt;As you might expect, it’s too simple to just give scripting languages an overall thumbs up or down. The choice of whether to use them needs to be carefully made for each game. The particular scripting language, what it will be used for, and who will be using it all play big factors in making a decision.&lt;br /&gt;&lt;br /&gt;Next time I’ll present a common alternative to using scripting languages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-6245642161722091332?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/6245642161722091332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=6245642161722091332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6245642161722091332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/6245642161722091332'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/01/scripting-languages-bad-news.html' title='Scripting Languages – The Bad News'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-9064096066537258240</id><published>2007-01-31T19:04:00.000-08:00</published><updated>2007-01-31T19:14:43.390-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Console comparison</title><content type='html'>I'm forever forgetting the differences in specs between PS3, Xbox360 and Wii. I've been meaning to write a comparison for a while, but thankfully found &lt;a href="http://www.winsupersite.com/showcase/xbox360_vs_ps3.asp"&gt;someone else has written one&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A couple of the most fun parts of the comparison are the CPU and Memory. Wii has about 1/8 of the memory of the other plats,  and the Wii has a single core which is less than 1 GHz (as opposed to 6+ cores at 3.2 GHz). I still want a Wii mind you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-9064096066537258240?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/9064096066537258240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=9064096066537258240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9064096066537258240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/9064096066537258240'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/01/console-comparison.html' title='Console comparison'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-974958875412518680</id><published>2007-01-22T22:48:00.000-08:00</published><updated>2007-01-22T22:51:00.845-08:00</updated><title type='text'>DOH!!!</title><content type='html'>I just upgraded to 'new blogger', and have managed to lose my template.&lt;br/&gt;&lt;br/&gt;I have a copy of my old template, but it doesn't work with the new system, so it'll take me some time to track down what has changed...&lt;br/&gt;&lt;br/&gt;If there's one thing I like about blogging, it's writing template html :( &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-974958875412518680?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/974958875412518680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=974958875412518680' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/974958875412518680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/974958875412518680'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/01/doh.html' title='DOH!!!'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-1366769368388707277</id><published>2007-01-22T22:12:00.000-08:00</published><updated>2007-01-22T22:11:46.610-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Scripting Languages - The Good News</title><content type='html'> Many commercial games use scripting languages such as LUA or Python as part of their engine. Here’s a run down of what they’re used for, and some of the good points of using them.&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Scripting languages are generally used for making ‘things happen’ in the game world. For example “when the player walks here, make the enemy appear”, “after this much time has passed, play this sound”, “if the enemy loses 50% of his health, tell him to start using his special attack move”. &lt;br/&gt;&lt;/li&gt;&lt;li&gt;Looking at these types of needs, you can see how they’d fit quite nicely into code. They read like if..then statements, followed by function calls. But it’s also pretty simple, it seems we could live without templates, intrinsics, header files, operator overloading, and other advanced language features.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;To integrate the scripting engine into the game, and have the scripts be capable of doing useful things, the programmers have to wrap C/C++ functions in a way which makes them callable from the script. Also the programmers have to provide a way of launching scripts when certain events happen. To take the first example above, when the player enters a trigger volume, it must be capable of launching a script. In that script, the script would then make a call on the engine to tell a specific enemy (perhaps by a name in a string) to appear. A pseudo code script could look like this:&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;On_PlayerEnter_Volume44 ( )&lt;br/&gt;{&lt;br/&gt; EnemyAppear ( “Enemy62_Soldier” )&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;As the game is going to have lots of this type of game logic by the time it ships, it would be nice if we kept all this game specific hackery away from our nice clean game engine. Putting it into script files separate from the engine code makes the division nice and clear.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;If you use a simple language, someone who’s not a programmer could write the scripts. This can save valuable programming time, and give the game designers greater control.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;The scripting languages can either be interpreted at run time, or recompiled without the game engine stopping. This means that you could run the game once, and then repeatedly iterate on the scripts without having to restart the game. This can give a big saving on iteration time, compared with stopping the game, recompiling, and re-running.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;As open source scripting languages have already been developed and used on many other products and platforms, you can very quickly integrate a feature rich scripting language into your game, without having to build and debug your own.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Scripting languages give you a bunch of basic features like variables, math functions, and string handling functions. These might sound like trivial features, but a common alternative to scripting languages struggles to replace these pieces of functionality.&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;Well that sounds great! You’d be crazy not to use them :)&lt;br/&gt;Next time I’ll go through some of the down sides of using a scripting language.&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-1366769368388707277?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/1366769368388707277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=1366769368388707277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1366769368388707277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/1366769368388707277'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/01/scripting-languages-good-news.html' title='Scripting Languages - The Good News'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-2171838661443436911</id><published>2007-01-22T22:07:00.000-08:00</published><updated>2007-01-22T22:10:50.294-08:00</updated><title type='text'>I'm back!</title><content type='html'>Sorry for the infrequent posts over the last couple of months. I got married, my folks were in town for several weeks, and generally there was lots of stuff going on...&lt;br/&gt;&lt;br/&gt;Now things have calmed down a bit, and I'm hoping to make more regular posts.&lt;br/&gt;&lt;br/&gt;Mark. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-2171838661443436911?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/2171838661443436911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=2171838661443436911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2171838661443436911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/2171838661443436911'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/01/im-back.html' title='I&apos;m back!'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116767827116257789</id><published>2007-01-01T11:02:00.000-08:00</published><updated>2007-01-17T03:49:42.413-08:00</updated><title type='text'>How to Pick a Games Console</title><content type='html'>&lt;span lang="EN-GB"&gt;So which console is the one to get? Xbox 360, PS3 or Wii?&lt;br /&gt;&lt;br /&gt;Someone (I can’t remember who) once gave me the following simple piece of advice about how to pick which console to buy.&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Work out which games you really want to play, and base your choice on that.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;You inevitably end up wanting all consoles for different games, but if you think of a good number of games, you’ll hopefully start to see a pattern.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116767827116257789?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116767827116257789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116767827116257789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116767827116257789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116767827116257789'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2007/01/how-to-pick-games-console.html' title='How to Pick a Games Console'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116710755857767738</id><published>2006-12-25T20:30:00.000-08:00</published><updated>2006-12-25T20:32:38.810-08:00</updated><title type='text'>Wii wish you a Merry Christmas</title><content type='html'>It’s a rule. You’re not allowed to make any kind of Wii related article, without having some kind of pun in the title.&lt;br /&gt;&lt;br /&gt;I’ve had a couple of goes on a Wii now. I’ve played Excite Truck, Wii Sports, a Monkey Ball mini game, and I’ve had a go at creating a Mii. I’ve also seen one connect to the internet and visit a regular website. Here are a few impressions:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Wii Sports is fun. It has about five main game types, of which some offer limited longevity (boxing), but some of the others, such as golf and tennis are worth coming back to.&lt;/li&gt;&lt;li&gt;It’s really cool that it connects wirelessly to the internet and gives you a proper web browser (Opera based). As a test, we connected to YouTube and watched a video. It all works, but due to the limited resolution, you generally need to zoom in and scroll around the page to read it. For text entry a virtual keyboard appears, which you type on by aiming the Wiimote at the screen and shooting the letters sort of like a light gun. I’m sure a third party hardware manufacturer will do a keyboard before long.&lt;/li&gt;&lt;li&gt;When the Wiimote is used to point at the screen like a light gun / mouse, it’s very nice. The pointer is nice and steady and easy to control. One fun thing is that the pointer icon on the screen rotates if you twist the remote. In Excite Truck I noticed the pointer jittering. I’m going to take a guess that when the pointer position is smooth, the application is doing some averaging out of the position to hide the jitter. If this is the case, then there might be a slight lag in how well the pointer follows your actions, but I didn’t notice a problem.&lt;/li&gt;&lt;li&gt;Monkey Ball has something like 50 mini games, which each find different uses for the controller. I didn’t play it much, but this would very likely be a good game to get for Wii, as the original was good.&lt;/li&gt;&lt;li&gt;I find the Mii creation to be great fun. You personalize a little 3D person to look like yourself (or whoever) and then games can give you the option to play as your Mii. In Wii Sports, the little character who’s doing the sport can be the Mii you created. You can configure multiple Mii’s on one box, and I believe that when you see which of your friends are online, you see their Mii’s. Very cool. It’s quite reminiscent of the south park character creator.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The controller works well.&lt;/li&gt;&lt;li&gt;It’s great fun for everyone, even people who never play games.&lt;/li&gt;&lt;li&gt;Free online service (as opposed to monthly payments for things like Xbox Live).&lt;/li&gt;&lt;li&gt;Nice and small.&lt;/li&gt;&lt;li&gt;$250.&lt;/li&gt;&lt;/ul&gt;Cons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The limited resolution is going to detract from the usefulness of the browser (I think).&lt;/li&gt;&lt;li&gt;The CPU and GPU aren’t the best, but then that’s not the selling point.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Overall I’m greatly impressed. I’ll be picking on up as soon as the drought is over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116710755857767738?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116710755857767738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116710755857767738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116710755857767738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116710755857767738'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/12/wii-wish-you-merry-christmas.html' title='Wii wish you a Merry Christmas'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116616202128324965</id><published>2006-12-14T21:53:00.000-08:00</published><updated>2006-12-19T23:57:57.976-08:00</updated><title type='text'>My Life Story (abridged)</title><content type='html'>Oh come on, it’s my blog, I can be self-absorbed.&lt;br /&gt;&lt;br /&gt;I was born in England at a young age.&lt;br /&gt;&lt;br /&gt;When I was about 8, we got a ZX Spectrum computer (similar power level to the Commodore 64). This came with a version of basic pre-installed, and it was at this point that I started trying to code. I also decided that ‘when I grew up’ I was going to be a games programmer (as well as an artist and an author – two areas in which I’m no more skilled than I was when I was 8).&lt;br /&gt;&lt;br /&gt;Ten years on, I still wanted to be a games programmer, but really, my skills were pretty poor. I went to Sheffield University to study Software Engineering, and then managed to land a job at Gremlin Interactive. I’d done some 3D graphics in my dissertation but hadn’t done much C coding. &lt;br /&gt;&lt;br /&gt;I worked there for two years. It was the time when 3D accelerators were starting to appear, and everyone on PC was moving to DirectX 3. After my two years there, I’d become somewhat disillusioned. We’d spend a year or more slogging our brains out to make a game, which then has a shelf life of two weeks and sinks without trace (which happens for a lot of games). I wanted to work on something with more meaning!!!&lt;br /&gt;&lt;br /&gt;So I packed that in and went to work for a company that made software for call centers! I learned Java, beans, server stuff, COM, JSP, ASP and a ton of other stuff I have almost no recollection of. It was fun for a couple of years, but then I came to the realization that, short of joining/forming programmers without borders, there wasn’t a lot of meaning to be had, and that I was finding serious software, seriously boring.&lt;br /&gt;&lt;br /&gt;At this point, my old workmate from Gremlin called to invite me to a new studio that ‘Rage’ started. It didn’t take much deliberation. I was back in games, and I enjoyed it more than ever.&lt;br /&gt;&lt;br /&gt;I planned on staying at Rage for a long time, but after a couple of years the company folded. We were all allowed to spend our last days of work time applying for other jobs, and someone mentioned to me that experienced people could get jobs in America. I applied to a few companies, and after a few months secured my position at Heavy Iron.&lt;br /&gt;&lt;br /&gt;At first I did some porting of games to Xbox, then I was lead programmer on a couple of games, and now I manage the programming department. I’m glad to say that I’ve been at Heavy Iron for four years so far.&lt;br /&gt;&lt;br /&gt;Without this turning into an Oscar speech, I really appreciate the cards I’ve been dealt so far. Having a job that allows me to work overseas is great. I find living abroad to be a wonderful experience. Also working in games is inherently interesting to me, and presents constant new challenges to be overcome.&lt;br /&gt;&lt;br /&gt;Yay life!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116616202128324965?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116616202128324965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116616202128324965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116616202128324965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116616202128324965'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/12/my-life-story-abridged.html' title='My Life Story (abridged)'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116616154652425565</id><published>2006-12-14T21:44:00.000-08:00</published><updated>2006-12-14T21:45:47.076-08:00</updated><title type='text'>Bad news for coders...</title><content type='html'>It turns out that the free coke is &lt;a href="http://healthbolt.net/2006/12/08/what-happens-to-your-body-if-you-drink-a-coke-right-now/"&gt;bad for you&lt;/a&gt;. Whatever next?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116616154652425565?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116616154652425565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116616154652425565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116616154652425565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116616154652425565'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/12/bad-news-for-coders.html' title='Bad news for coders...'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116554696116056171</id><published>2006-12-07T19:00:00.000-08:00</published><updated>2006-12-20T12:14:47.563-08:00</updated><title type='text'>Work/Life Balance</title><content type='html'>Working hard, for long hours, is pretty common in the games industry, especially for programmers. In this post, I’ll not go into whether this over-working is a good thing or how we could move away from it, we’ll just accept that it’s the way it currently is at many games companies.&lt;br /&gt;&lt;br /&gt;It’s very common for programmers to spend a long time at work. Some do it for the love of coding, some as a show of how macho they are at working hard, and some to show how much they’re being a martyr for the good of the game. And for the most part, it works OK. The programmers have some fun, spend time with other dedicated individuals, the oh-so important deadline gets met, the company gets its game on time, and everyone’s happy.&lt;br /&gt;&lt;br /&gt;The point where this falls down is when you scale it up to, let’s say, 20 years. If you’re not careful, you could quickly flit by the whole 20 years in a blur of deadlines, the snack cupboard, pizza, cola, high-stress, and shabby living. &lt;br /&gt;&lt;br /&gt;You can pay a high price for all the years of bad posture, no exercise and no ‘life’, from not prioritizing people outside of work, and for not exploring hobbies and interests away from the computer. You could find yourself looking back at a string of AAA titles, but find little solace in it. Worse still your health could suffer, tales of work-a-holics having heart-attacks before their time are not uncommon, and unfortunately they can hit anyone. Carpul tunnel, repetitive strain injury, neck and back problems also have a high likelihood.&lt;br /&gt;&lt;br /&gt;My aim here isn’t to depress you though. It’s a not-so-gentle reminder that you need to look after yourself and live a balanced life. If you’re too ‘one sided’, coding all the time, then in the long run you’ll suffer. It means doing tricky things like exercising and forcing yourself to get out and socialize in the real world, but it’s hugely worth doing.&lt;br /&gt;&lt;br /&gt;Aren’t I shooting myself in the foot here, scaring off new recruits? Not at all. Happy balanced workers get sick less often, will hopefully never ‘burn out’, will work as well or better than the stressed ones, and make the work environment a better place to be.&lt;br /&gt;&lt;br /&gt;So there we have it. Exercise, have hobbies, socialize, get away from computers, and be aware of when you need to take a break. You’ll live and code for longer, and enjoy life more.&lt;br /&gt;&lt;br /&gt;Oh, and always wear sunscreen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116554696116056171?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116554696116056171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116554696116056171' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116554696116056171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116554696116056171'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/12/worklife-balance.html' title='Work/Life Balance'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116505101482912848</id><published>2006-12-02T01:10:00.000-08:00</published><updated>2006-12-02T01:16:55.060-08:00</updated><title type='text'>Ratatouille</title><content type='html'>THQ has now announced that our studio (Heavy Iron) is working on the game of &lt;a href="http://www.apple.com/trailers/disney/ratatouille/"&gt;Ratatouille&lt;/a&gt; (the next Pixar movie).&lt;br /&gt;&lt;br /&gt;Here's a video of an early proof of concept...  ;)&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rIP7djqpeK0"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/rIP7djqpeK0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;(Not my video, just one found on youtube)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116505101482912848?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116505101482912848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116505101482912848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116505101482912848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116505101482912848'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/12/ratatouille.html' title='Ratatouille'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116499418579826497</id><published>2006-12-01T09:19:00.000-08:00</published><updated>2006-12-01T09:29:46.513-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>How to get a job as a Game Designer</title><content type='html'>&lt;p&gt;Being a &lt;a href="http://gamecreator.blogspot.com/2006/11/whats-game-designer_24.html"&gt;game designer&lt;/a&gt; can be a very creative pursuit. Spending time thinking about how to engage the player, building it, and then getting feedback from players is great fun.&lt;br /&gt;&lt;br /&gt;So what’s a good way of going about getting a job as a games designer? &lt;/p&gt;&lt;ul&gt;&lt;li&gt;There’s no standard academic route in, like programming and art, though a degree in something wouldn’t hurt.&lt;/li&gt;&lt;li&gt;One, not uncommon, route is to work as a games tester, and to work on getting promoted up. If you show an interest, someone will hopefully get you set up with the tools, so you can learn them and show off what you can do. &lt;/li&gt;&lt;li&gt;Similar to my &lt;a href="http://gamecreator.blogspot.com/2006/10/getting-games-programming-job-summary.html"&gt;recommendations for programmers&lt;/a&gt;, doing demos is a great way in. Download free editors for PC games. Design and build your level. Publish it on the internet for others to play, and then check out the feedback. &lt;/li&gt;&lt;li&gt;From your demo work you should be able to show paper maps, screen shots of the editor and game, and links to your published level and its feedback. &lt;/li&gt;&lt;li&gt;You can put all your demo work on a website to show off your work. Also, putting it on a website will demonstrate important skills of technical literacy and good presentation. &lt;/li&gt;&lt;li&gt;Doing several demos, to cover different game genres, is a good idea. &lt;/li&gt;&lt;li&gt;Play lots of games, and think analytically about them. Why are they fun? How could they be better? How do they handle a range of skill levels? What editor tools would have been needed to create the game. &lt;/li&gt;&lt;li&gt;Play lots of different games. The more the better. Don’t just play good games, play bad ones, and play random ones so you can make your own mind up without the suggestions of others. &lt;/li&gt;&lt;li&gt;There are also plenty of &lt;a href="http://gamecreator.blogspot.com/2006/10/books-on-games.html"&gt;books&lt;/a&gt; on game design now. You may benefit from reading a good book on the subject. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I can’t guarantee it, but if you do all the above with some dedication, then you shouldn’t have too much difficulty getting your foot in the door. In fact, some companies who release editors will actively recruit from the pool of hobbyists who are already building levels with their software.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116499418579826497?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116499418579826497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116499418579826497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116499418579826497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116499418579826497'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/12/how-to-get-job-as-game-designer.html' title='How to get a job as a Game Designer'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116437724209926099</id><published>2006-11-24T06:06:00.000-08:00</published><updated>2006-11-24T06:07:22.416-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>What's a game designer?</title><content type='html'>&lt;p&gt;I’ve spoken quite a bit on how to get a job as a games programmer. I’d also like to mention the position of games designer. The role of designers varies greatly from company to company. Some companies have no designers at all, some will have a couple, and some can have more designers than programmers. Designers spend most of their time building levels of a game, and also working on the games’ design.&lt;br /&gt;&lt;br /&gt;Game designers spend most of their days building levels in a level editor. Editors normally come in one of three flavors, custom level editor, in-game editor, or an augmented 3D package (e.g. Maya with some custom bits which are specific to the game). Designers tend to need to work very closely with the art, animation and programming departments to ensure that the level is built correctly, and that all the required pieces get made. Also, depending on what the programmers have provided, designers may configure game logic using either a simple scripting language, or some more visual way of configuring logic.&lt;br /&gt;&lt;br /&gt;Designers focus on things like: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Making the experience fun. &lt;/li&gt;&lt;li&gt;Making the game accessible to novice and expert players. &lt;/li&gt;&lt;li&gt;Building in ‘replayability’ so that people can play the game for a good duration. &lt;/li&gt;&lt;li&gt;Gradually ramping the difficulty of the game across the levels. &lt;/li&gt;&lt;li&gt;Perhaps integrating the gameplay with some kind of running plot. &lt;/li&gt;&lt;li&gt;Ensuring all the available systems get used in the game, so that no effort is wasted. &lt;/li&gt;&lt;li&gt;Helping to get levels to fit into memory or performance constraints. &lt;/li&gt;&lt;li&gt;Building main levels, but also building other things like mini-games, and bosses. &lt;/li&gt;&lt;li&gt;Depending on the company, the designers may also do other things like design and implement the functionality of the menu screens, or writing the dialogue scripts for the game. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Next time: How to become one… &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116437724209926099?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116437724209926099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116437724209926099' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116437724209926099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116437724209926099'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/11/whats-game-designer_24.html' title='What&apos;s a game designer?'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116369607776834219</id><published>2006-11-16T08:49:00.000-08:00</published><updated>2006-11-16T08:54:38.686-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Getting a job, and how much it pays...</title><content type='html'>There are a couple of good articles on the &lt;a href="http://www.gamecareerguide.com/"&gt;GameCareerGuide&lt;/a&gt; website at the moment. Steven Messinger from Rockstar writes on &lt;a href="http://gamecareerguide.com/features/301/index.php?page=1"&gt;how to get into programming games&lt;/a&gt;, and there's an article on the results of this years Game Developer &lt;a href="http://gamecareerguide.com/features/266/index.php?page=1"&gt;salary survey&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116369607776834219?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116369607776834219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116369607776834219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116369607776834219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116369607776834219'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/11/getting-job-and-how-much-it-pays.html' title='Getting a job, and how much it pays...'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116348776259116889</id><published>2006-11-13T22:56:00.000-08:00</published><updated>2006-11-13T23:02:42.836-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Coding4Fun site</title><content type='html'>Microsoft has a great site '&lt;a href="http://msdn.microsoft.com/coding4fun/default.aspx"&gt;Coding4Fun&lt;/a&gt;' which has lots of fun apps to write for people getting started with coding.&lt;br /&gt;&lt;br /&gt;Actually though, there's a lot of cool stuff for people who are pretty good at coding too. There are tutorials on making web services, windows utilities and AV related programs. If you've got a bit of time, there's bound to be something worth tinkering with here...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116348776259116889?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116348776259116889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116348776259116889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116348776259116889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116348776259116889'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/11/coding4fun-site.html' title='Coding4Fun site'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116274312271685471</id><published>2006-11-05T08:10:00.000-08:00</published><updated>2006-11-05T08:12:03.466-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Weekend Project - Microsoft Virtual Labs</title><content type='html'>Last weekend I happened across the &lt;a href="http://msdn.microsoft.com/virtuallabs/default.aspx"&gt;MSDN Virtual Labs&lt;/a&gt;. Basically they have a bunch of tutorials on how to use .NET to do snazzy things. The cool thing is that the tutorial takes place by you doing ‘remote desktop’ control of a machine that’s all set up for the tutorial. This means that you don’t have to spend ages getting all the software set up, you just jump in, following the step by step guides, setting up projects, building web apps, configuring databases etc. &lt;br /&gt;&lt;br /&gt;In a bit over an hour I followed a tutorial which had me set up a server database, a C# application which view/modifies the database, and a web app which did the same. To go from knowing nothing to having all that working in around 60 minutes is fantastic.&lt;br /&gt;&lt;br /&gt;It reminds me a little of the film Amelie, where she leads the blind man along the street for a few moments. I’ve just been exposed to a load of information, which I can’t immediately recall, but I got a good feel for the landscape.&lt;br /&gt;&lt;br /&gt;Lots of different types of labs are available. I didn’t see anything game related, but it’s good to know what kind of technology is out there for when you have to build other things like tools.&lt;br /&gt;&lt;br /&gt;Ohh, plus you can enter to win an Xbox 360 if you take the survey after the lab. When I did it though, they had ‘technical difficulties’ with that part :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116274312271685471?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116274312271685471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116274312271685471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116274312271685471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116274312271685471'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/11/weekend-project-microsoft-virtual-labs.html' title='Weekend Project - Microsoft Virtual Labs'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116257254661991449</id><published>2006-11-03T08:41:00.000-08:00</published><updated>2006-11-03T08:49:06.860-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Game Studio Express - Beta 2 Released</title><content type='html'>Microsoft have just released Beta 2 of &lt;a href="http://msdn.microsoft.com/directx/XNA/"&gt;Game Studio Express&lt;/a&gt;. It's the SDK which helps you make games for Xbox 360 Homebrew, and Windows.&lt;br /&gt;&lt;br /&gt;I think it's fantastic that they're opening up the console to homebrew developers, and also giving so much help for people to get started. The one thing which irks me is that it only supports C#. Professional game development is currently C++ based, and I don't see it changing for a while. C# is a great language which is easier in a lot of ways than C++. It's great if you're just getting started, or you don't care about non-Microsoft platforms, but if you're looking to get into games, remember to work on your C++ too. Having an Xbox360 demo, but not knowing C++ well, is not as good as having a Windows only demo which is written in C++. C# is good to know too though, as it can be used to quickly develop tools.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116257254661991449?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116257254661991449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116257254661991449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116257254661991449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116257254661991449'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/11/game-studio-express-beta-2-released.html' title='Game Studio Express - Beta 2 Released'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116192113919924470</id><published>2006-10-26T20:43:00.000-07:00</published><updated>2006-10-26T20:52:20.093-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Getting a games programming job - Tip 10 - More interview question topics</title><content type='html'>&lt;span lang="EN-GB"&gt;When I recently posted about finding programming &lt;a href="http://gamecreator.blogspot.com/2006/08/getting-games-programming-job-tip-7.html"&gt;interview questions&lt;/a&gt; online, I neglected to mention a couple of other areas that games companies like to ask about.&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;3D Math is popular. Here's a bit of a &lt;a href="http://www.geocities.com/SiliconValley/2151/math3d.html"&gt;sample&lt;/a&gt; of it I found on a quick search.&lt;span lang="EN-GB"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-GB"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;3D Rendering. There's a long article &lt;a href="http://www.extremetech.com/article2/0,1558,9722,00.asp"&gt;here&lt;/a&gt; which takes you through most of the important concepts.&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-GB"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;General Math is pretty important. I'll not give a link to it, it's a bit too big.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;One more note is that there are quite a few sites which list interview questions which Microsoft has asked in the past. A quick &lt;a href="http://www.google.com/search?q=microsoft%20interview%20questions"&gt;search&lt;/a&gt; will show up sites of questions like &lt;a href="http://halcyon.usc.edu/%7Ekiran/msqs.html"&gt;this&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116192113919924470?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116192113919924470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116192113919924470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116192113919924470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116192113919924470'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/10/getting-games-programming-job-tip-10.html' title='Getting a games programming job - Tip 10 - More interview question topics'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28047759.post-116158177434313862</id><published>2006-10-22T22:26:00.000-07:00</published><updated>2006-10-26T20:54:19.593-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting a games job'/><title type='text'>Getting a games programming job - Summary</title><content type='html'>One of my main topics has been giving tips on getting a job in console game programming. Here's a summary of all the posts on the subject:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you want to work on console games, &lt;a href="http://gamecreator.blogspot.com/2006/06/getting-games-programming-job-tip-1.html"&gt;focus on learning C/C++&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Spend your free time &lt;a href="http://gamecreator.blogspot.com/2006/06/getting-game-programming-job-tip-2.html"&gt;working on simple demos&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;It's good to &lt;a href="http://gamecreator.blogspot.com/2006/06/getting-games-programming-job-tip-3.html"&gt;know STL, but don't rely on it&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Creating a website is a great way to &lt;a href="http://gamecreator.blogspot.com/2006/07/getting-games-programming-job-tip-4.html"&gt;show off your demos&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Know what to expect of the &lt;a href="http://gamecreator.blogspot.com/2006/08/getting-games-programming-job-tip-5.html"&gt;interview process&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Some tips on &lt;a href="http://gamecreator.blogspot.com/2006/08/getting-games-programming-job-tip-6.html"&gt;sending your application&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Practice answering some &lt;a href="http://gamecreator.blogspot.com/2006/08/getting-games-programming-job-tip-7.html"&gt;interview questions&lt;/a&gt;. Also a &lt;a href="http://gamecreator.blogspot.com/2006/10/getting-games-programming-job-tip-10.html"&gt;second post&lt;/a&gt; on this.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Know what to do &lt;a href="http://gamecreator.blogspot.com/2006/09/getting-games-programming-job-tip-8.html"&gt;after the interview&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Don't take the 'easy route' in &lt;a href="http://gamecreator.blogspot.com/2006/10/getting-games-programming-job-tip-9.html"&gt;group projects&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28047759-116158177434313862?l=gamecreator.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamecreator.blogspot.com/feeds/116158177434313862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28047759&amp;postID=116158177434313862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116158177434313862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28047759/posts/default/116158177434313862'/><link rel='alternate' type='text/html' href='http://gamecreator.blogspot.com/2006/10/getting-games-programming-job-summary.html' title='Getting a games programming job - Summary'/><author><name>Mark Pope</name><uri>http://www.blogger.com/profile/10443487490891993842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/3136/1162/1600/BlogFace.jpg'/></author><thr:total>0</thr:total></entry></feed>
