<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Smartbomb &#187; things made and done</title>
	<atom:link href="http://www.owengrieve.com/category/things-made-and-done/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.owengrieve.com</link>
	<description></description>
	<lastBuildDate>Wed, 21 Dec 2011 20:45:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>The 2012 IGF Pirate Kart</title>
		<link>http://www.owengrieve.com/2011/11/20/the-2012-igf-pirate-kart/</link>
		<comments>http://www.owengrieve.com/2011/11/20/the-2012-igf-pirate-kart/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 12:42:57 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[things made and done]]></category>
		<category><![CDATA[competitions]]></category>
		<category><![CDATA[GDC]]></category>
		<category><![CDATA[generic turn-based video tennis game]]></category>
		<category><![CDATA[IGF]]></category>
		<category><![CDATA[my games]]></category>
		<category><![CDATA[pirate kart]]></category>

		<guid isPermaLink="false">http://www.owengrieve.com/?p=653</guid>
		<description><![CDATA[Murder Dog IV: Trial Of The Murder Dog Back when I first started putting effort into social media stuff, a combination of vanity and curiosity prompted me to set up some Google Alerts based on my various names. I figured that if people were going to be talking about me and my work &#8211; whatever [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://www.owengrieve.com/caps/2011-11-20_1240.png" alt="" width="561" height="418" /></p>
<p><em>Murder Dog IV: Trial Of The Murder Dog</em></p>
<p>Back when I first started putting effort into social media stuff, a combination of vanity and curiosity prompted me to set up some Google Alerts based on my various names. I figured that if people were going to be talking about me and my work &#8211; whatever form that might take &#8211; I&#8217;d be interested to know about it. Two years and nine months later I was finally sent an alert that was about me instead of <a href="http://www.abc.net.au/profiles/content/s1869295.htm?site=rural">ABC&#8217;s rural reporter for Southern Australia</a>. What made it even more exciting for me was that the article in question was written by Darius Kazemi, whose <a href="http://tinysubversions.com/">website</a> I&#8217;ve been learning a lot from since bumping into him and almost saying hello at GDC earlier this year (lesson one: I probably should have said hello).</p>
<p>The article was in Paste magazine and concerns <a href="http://www.pastemagazine.com/articles/2011/11/outsider-videogames-2012-igf-pirate-kart.html">the 2012 IGF Pirate Kart</a>. The pirate kart &#8211; available <a href="http://www.piratekart.com/">here</a> &#8211; is an oddball entry into this year&#8217;s IGF contest, a compilation of over 300 games by over 100 different authors. As you may have guessed, I was one of the contributors! I saw the call to arms going out around the Glorious Trainwrecks community on Twitter &#8211; the deadline for entries was 48 hours away, which sounded reasonable for us Klik of the Month Klub veterans. I began an explosion of work on my dog game, but became increasingly unhappy at all the little details and flourishes I would have to cut in order to make the deadline. It&#8217;s supposed to be a game that subtly recreates some of the pleasures of walking around in a real park, so of course you want things like rustling tree branches and flocks of birds flying around &#8211; you need that kind of atmosphere, or else the player will never get beyond the fact that they&#8217;re sitting at a desk and watching things move around on a screen.</p>
<p>I submitted <a href="http://www.owengrieve.com/2010/12/22/turn-based-pong/"><em>Generic Turn-Based Video Tennis Game</em></a> instead, so I could at least make some kind of practical contribution to the pirate kart instead of just talking about what a great idea it was. I made that game almost a year ago, but I&#8217;ve never gone out of my way to promote it. It doesn&#8217;t really feel much like my own work, like the majority of the game is someone else&#8217;s idea and has been a proven success for almost 40 years now, so it seems silly to claim much authorship over it. I suppose, for that same reason, it&#8217;s not such a bad choice for the kart &#8211; my personal contribution was always going to be greatly diluted by everyone else&#8217;s work anyway. But no, judging from the responses I&#8217;ve read about the game (it&#8217;s been singled out a few times, and people in Twitter have been writing reviews using the <a href="http://igf.ludonaut.de/2012/piratekart/">#igfreviews</a> hashtag), people seem to really enjoy the one small twist I made to <em>Pong</em>. I mean, it seems that everyone understands that it&#8217;s just <em>Pong</em> at heart, but they evaluate <em>Generic Turn-Based Video Game</em> as a modification more than a standalone game in itself. I think that&#8217;s an appropriate way to look at it. And I&#8217;m very relieved to hear that people like it!</p>
<p>A lot of things have been said about the pirate kart since it was submitted to the contest, often quite conflicting. I think the hardest thing for games journalists to explain to their readers is what the kart represents, or why it was submitted to the IGF. There is no one single reason why it came about! With over 100 contributors there are obvious many different motivations behind its creation, but since this is my blog I&#8217;d like to share my thoughts on the matter &#8211; I wouldn&#8217;t presume to speak for anyone else.</p>
<p>The reason why I support the pirate kart is because it embodies a design and development philosophy that I think is often wrongly discouraged by the games industry. The games are short and (frequently) silly and unpolished, but they are also intelligent, inventive and (in most cases) took very little time and minimal resources to make. Many of the authors aren&#8217;t conventional game designers at all, but just creatively-minded people who have been introduced to tools such as Ren&#8217;Py or Game Maker. It&#8217;s an example of what I wrote about in my recent posts about <a href="http://www.owengrieve.com/2011/09/03/breakdown-part-3-indie-games-and-creativity/">the democratisation of game development</a> &#8211; the idea that <em>anyone</em> can make a game, about anything that seems relevant to them.</p>
<p>That&#8217;s not to say that I have a problem with more conventional games<em></em>, just that I think we should be broadening our acceptance of games to include all of these things and more. Personally I&#8217;m not convinced that the pirate kart should be accepted into the IGF contest considering it&#8217;s a compilation, but I think as a gesture &#8211; as a statement &#8211; its entry has already received enough attention to be considered a success. And who knows? With a little luck, I might be leaving GDC with a tiny shard of broken IGF trophy next year!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.owengrieve.com/2011/11/20/the-2012-igf-pirate-kart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Microgame Design</title>
		<link>http://www.owengrieve.com/2011/04/27/on-microgame-design/</link>
		<comments>http://www.owengrieve.com/2011/04/27/on-microgame-design/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 16:18:59 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[actual game designs]]></category>
		<category><![CDATA[things made and done]]></category>
		<category><![CDATA[comedy]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[samurais]]></category>
		<category><![CDATA[trousers]]></category>
		<category><![CDATA[Wario DIY]]></category>
		<category><![CDATA[wario ware]]></category>

		<guid isPermaLink="false">http://www.owengrieve.com/?p=268</guid>
		<description><![CDATA[As I&#8217;ve previously mentioned, I love Wario Ware DIY. My only complaint is with the highly restricted content sharing tools, but they do include one redeeming feature: a semi-monthly game design contest! I entered regularly to begin with, although as time has passed I&#8217;ve spent less time noodling around in Wario Ware and more time [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.owengrieve.com/2010/06/12/wario-diy/" target="_blank">As I&#8217;ve previously mentioned, I love <em>Wario Ware DIY</em></a>. My only complaint is with the highly restricted content sharing tools, but they do include one redeeming feature: a semi-monthly game design contest! I entered regularly to begin with, although as time has passed I&#8217;ve spent less time noodling around in <em>Wario Ware</em> and more time concentrating on Game Maker projects &#8211; as much as I love working within microgame constraints, there&#8217;s not much point making games if nobody can play them. That said, I have had one minor success: one of the games I made last summer was a contest winner!</p>
<p style="text-align: justify;">The contest theme was to make a game inspired by <em>Wario Ware</em>&#8216;s built-in random name generator, and the name I randomly generated was <em>Oh, Samurai!</em> In this post, I&#8217;d like to skim over some of the main considerations that went into its design, and in doing so explain some of the principles I work to when designing microgames, most of which is just a concentrated dose of what I consider &#8216;normal&#8217; design theory.</p>
<p style="text-align: justify;"><img title="Terribly low-res preview image of Oh, Samurai!" src="http://www.owengrieve.com/caps/samurai_lores.png" alt="" width="418" height="279" /></p>
<p style="text-align: justify;"><em>(NB. This is a terrible screenshot, but it&#8217;s the best I can do right now)</em></p>
<p style="text-align: justify;">To give you a brief description of the game: A samurai is standing on one side of the screen, ready to draw his sword. A crowd of children are randomly moving around in the centre of the screen, each child carrying a balloon. When the player taps on the screen, the samurai instantly dashes to the opposite side of the screen (leaving a little &#8216;swoosh&#8217; animation where he was standing) and slices a balloon as he goes. The aim of the game is to tap once for each balloon on the screen; taps must be made in rapid succession, and once the player stops tapping the samurai sheaths his sword and all the sliced balloons burst in sequence.</p>
<p style="text-align: justify;"><strong>1) Simple controls</strong></p>
<p style="text-align: justify;"><em>Wario DIY</em>&#8216;s only form of player input comes through tapping on the touch screen. There&#8217;s no holding, no dragging, no buttons to press, only tapping. The game <em>can</em> identify taps on particular in-game objects, allowing you to create virtual buttons on the touch screen, but I&#8217;m very skeptical about this technique. I don&#8217;t like the idea of tapping on one object in order to control another &#8211; <a href="http://www.glorioustrainwrecks.com/node/1268">I once made a Klik of the Month game on the subject</a> &#8211; and the short timeframe of <em>Wario Ware </em>games means that players just don&#8217;t have time to take in complicated controls.</p>
<p style="text-align: justify;"><em>Oh, Samurai!</em> has only one verb &#8211; to slice &#8211; and it is activated by tapping anywhere on the touch screen. Some players might assume that they need to tap on the samurai; others might assume that they need to tap on the balloons; in any case, the game plays out in exactly the same way. It is intuitive in the sense that it doesn&#8217;t care what you do, as long as you do <em>something</em>. Perhaps you could call this &#8216;interface agnosticism&#8217;?</p>
<p style="text-align: justify;"><strong>2) Fireworks</strong></p>
<p style="text-align: justify;">In all my microgames, the thing I spend more time on than anything else is rigging up some fun sounds and animations to reward the player for their efforts. By necessity, this kind of feedback needs to be more instantaneous as the length of your game becomes shorter, and 4-second microgames are the razor&#8217;s edge! Tapping at a touch screen with a stylus is not very exciting, so it&#8217;s important to throw in some flashy special effects &#8211; which I would refer to as &#8216;fireworks&#8217;, if anyone bothered to ask me &#8211; to let the player know they are actually <em>doing </em>something. Every single meaningful action should make an exciting sound!</p>
<p style="text-align: justify;">In <em>Oh, Samurai!</em> players are rewarded for tapping the screen by a brief animation and a cool &#8216;slice&#8217; sound effect; they are rewarded for completing a round with a fun balloon-popping sequence; they are rewarded for winning the game with a little victory jingle; most notably, they are rewarded for failure with an animation of the samurai&#8217;s trousers falling down. I have mixed feelings about &#8216;rewarding failure&#8217;, but I think throwing in a little visual joke as a consolation prize doesn&#8217;t hurt anybody. The reason why this stuff takes me so long is because I usually get bogged down in fine details &#8211; such as ensuring that the number of popped balloons matches the number of slices, in this case.</p>
<p style="text-align: justify;"><strong>3) Variable requirements</strong></p>
<p style="text-align: justify;">Here&#8217;s a more basic point: Games are no fun if you have to input the same routine commands in order to win. I wouldn&#8217;t even call that a game. In my opinion the best games incorporate some emotive human element to prevent things from becoming too mechanical, but it&#8217;s common practice to just throw in some random numbers instead &#8211; it&#8217;s usually less technically demanding, and can be applied in a greater range of circumstances.</p>
<p style="text-align: justify;"><em>Oh, Samurai!</em> features exactly this kind of random factor, but it&#8217;s really very disappointing. The variation comes in the number of balloons on screen for the player to pop &#8211; players must input one tap of the screen for each balloon, without hesitating. Because of the sheer number of animation frames required for the different sprites &#8211; particularly the popping balloons &#8211; I didn&#8217;t have enough memory available to include many children, but at the same time I needed to include a sizable minimum number in order to challenge the player&#8217;s counting ability.</p>
<p style="text-align: justify;">In the end I made it so the game has an 80% chance of displaying 5 balloons, and a 20% chance of displaying 4 balloons. This is a very small difference, and it only really starts to become challenging after about a dozen speed-ups. This is probably the worst element of the game.</p>
<p><strong>4) Humour</strong></p>
<p>This one&#8217;s entirely subjective, but I like to squeeze jokes into all my games &#8211; in fact, I have trouble doing pretty much anything in life with a straight face. Even when I&#8217;m making games about suicide and misery, I usually make time for some dark humour. A samurai slicing up kids&#8217; balloons is needlessly mean-spirited but still cute! And if I have to explain why a man&#8217;s trousers falling down is funny then there is no helping you.</p>
<p><strong>5) Holistic design</strong></p>
<p>This is a phrase I like to throw around a lot and it&#8217;s worth explaining again in this context (before someone convinces me that it&#8217;s meaningless). In short, I try to ensure that every element of the game&#8217;s design has a relationship to the other elements &#8211; that they have a strong &#8216;purpose&#8217; for being the way they are. It also involves trying to squeeze what you can out of your limitations &#8211; in this case, that means working with a limited control system and tight restrictions on the number of objects and animation frames.</p>
<p>Under the terms of the contest, the game name was obviously my starting point for design. I figured <em>Oh, Samurai!</em> would have to be a game about a samurai doing something he shouldn&#8217;t be doing, and &#8211; yes, drawing lazily on samurai stereotypes such as <a href="http://www.youtube.com/watch?v=faGjUY8Jo7M">Goemon Ishikawa XIII</a> (warning: link is an anime music video) &#8211; I felt like it would have to involve slicing things up. To keep things simple, one tap of the screen would equal one slice of the sword, and that would be the only control.</p>
<p>I didn&#8217;t want any graphic violence, but I did want to include the trope of things only becoming sliced up <em>after</em> the samurai has sheathed his sword. Disappointing children seemed like a good idea &#8211; childish, light-hearted, un-samurai-life behaviour &#8211; and once I found a good &#8216;pop!&#8217; sound effect I settled on bursting a collection of balloons. I often use the availability of sound effects to determine the content of my game, rather than the other way around &#8211; particularly in Wario DIY, it&#8217;s a lot more effective to draw your sprites so that they match your sounds. The number of children, as explained earlier, was determined by a  combination of needing to challenge the player ability to count within  four seconds, and the animation frame limits hard-coded into the editor. The music was mostly generated by the automatic composer, but the details and instruments were tweaked to make it sound upbeat and vaguely oriental, in keeping with the samurai comedy theme.</p>
<p><strong>Conclusion</strong></p>
<p>All in all I&#8217;m pretty happy with how the game turned out, but it&#8217;s a shame there isn&#8217;t more to be done with distributing the game. I have no idea how many people have played it, there&#8217;s no way for them to send me feedback, and after a month or two it was taken off the server and became unavailable again. The only permanent archives of contest winners can be found on fansites such as <a href="http://vixynya.blog6.fc2.com/">VixyNyan&#8217;s</a>, which require you to use .sav editing tools (like <a href="http://home.usay.jp/pc/etc/nds/">miotool</a> or <a href="http://scupizzaboy.blogspot.com/2010/04/this-is-last-one-today-i-swear.html">CrygorTool</a>) to hack the microgame data into your game &#8211; far from ideal! If you really want to go down this route and play <em>Oh, Samurai!</em> you can download the .mio file <a href="http://www.purplejam.co.uk/stuffs/%5B04-05%5D%20G-THEM-0005%20(E)%20(2010-07-23)%20(ENG)%20Oh,%20Samurai!.mio">here</a>.</p>
<p>More importantly, I think it exemplifies a lot of the principles I work into all of my microgames, and pretty much all the games I make in general. It&#8217;s important to have a clear interface that is rewarding to use &#8211; players should be thinking about the effects of their actions, not the act of physical input* &#8211; but you also need a substantial depth that holds up once the player has stopped to think about the game.</p>
<p>Basically what I&#8217;m saying is that a good game needs to be good in the short-term, and the long-term, and also the medium-term. Don&#8217;t all gasp at once!</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>*You might want to be a jerk here and talk about games like GIRP and QWOP, but none of these ideas are hard requirements for good game design &#8211; they&#8217;re simply the things <em>I</em> keep in mind when <em>I</em> am designing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.owengrieve.com/2011/04/27/on-microgame-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dog Game &#8211; Work in Progress</title>
		<link>http://www.owengrieve.com/2011/02/25/dog-game-work-in-progress/</link>
		<comments>http://www.owengrieve.com/2011/02/25/dog-game-work-in-progress/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 00:39:26 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[things made and done]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[dog]]></category>
		<category><![CDATA[dogs]]></category>
		<category><![CDATA[game maker]]></category>
		<category><![CDATA[my games]]></category>
		<category><![CDATA[silent]]></category>

		<guid isPermaLink="false">http://www.owengrieve.com/?p=338</guid>
		<description><![CDATA[I am working on a game but it's not finished yet. Play it here!]]></description>
			<content:encoded><![CDATA[<p>I have vowed to release at least one new game every three months this year, and I wanted to upload a playable version of my first project before I go to GDC. It&#8217;s a game about playing fetch with a dog in a park. Partly it&#8217;s a sort of <em>Artillery</em> style game about throwing the ball, but mostly it&#8217;s a rhythm game where you make the dog do simple tricks.</p>
<p><img class="alignnone" title="Dog Game (Beta)" src="http://www.owengrieve.com/caps/dog_game_beta.png" alt="Dog Game (Beta)" width="508" height="398" /></p>
<p><strong>INSTRUCTIONS:</strong></p>
<p>Hold the left mouse button to build power, then release the button to throw the ball towards your mouse cursor.</p>
<p>Once the dog is returning with the ball, left-click to make the dog jump and right-click to make it juggle the ball in the air.</p>
<p>As soon as you land from a jump &#8211; or catch the ball &#8211; click again to build up your jump or juggle combo.</p>
<p>The game will end after five throws.</p>
<p><a href="http://www.purplejam.co.uk/stuffs/dog_beta.zip">Click here to download Dog Game (Beta)</a> (Windows only &#8211; sorry!)</p>
<p>The finished game will be released later in the year, with added graphics and sound and &#8216;narrative&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.owengrieve.com/2011/02/25/dog-game-work-in-progress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Turn-Based Pong</title>
		<link>http://www.owengrieve.com/2010/12/22/turn-based-pong/</link>
		<comments>http://www.owengrieve.com/2010/12/22/turn-based-pong/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 13:52:27 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[actual game designs]]></category>
		<category><![CDATA[things made and done]]></category>

		<guid isPermaLink="false">http://www.owengrieve.com/?p=277</guid>
		<description><![CDATA[I done a game.]]></description>
			<content:encoded><![CDATA[<p>People often tell me that the single most common reason why amateur creative projects fail is because they are unrealistically ambitious. Usually they are telling me this in response to some complaint I have about the latest game I&#8217;m working on, so it&#8217;s not usually something I want to hear, but I&#8217;m smart enough not to ignore depressing advice. Around this time last year I was trying to think of ways to expand my portfolio while looking for work, and asked myself: What kind of game would be so simple, so totally idiotproof, that I couldn&#8217;t possibly fail to complete it? The logical answer was <em>Pong</em>.</p>
<p><a href="http://www.owengrieve.com/wp-content/uploads/2010/12/Pong.png"><img class="size-medium wp-image-279 alignnone" title="Pong" src="http://www.owengrieve.com/wp-content/uploads/2010/12/Pong-300x225.png" alt="Pong" width="300" height="225" /></a></p>
<p>Perhaps I could have come up with an easier game, but <em>Pong </em>is also extremely elegant &#8211; perfectly balanced in strategic terms, and a good mix of reaction and prediction. If you need convincing, I&#8217;d suggest you read the theory of <a href="http://www.pongism.org/" target="_self">Pongism</a>. There was no doubt in my mind that I could knock together a working version in Game Maker, but obviously there was little value in making an exact copy. What kind of changes could I make that would notably change the gameplay without losing its elegance? I thought about games like <em>Llamatron </em>and <em>Galaxian</em>, before realising that it probably wasn&#8217;t going to help much. I didn&#8217;t want to add or remove anything, just change the way the game was played, and I realised the key to that was to change the timing of the game. It followed that the simplest way to change its timing was to make it turn-based &#8211; to split the game into a &#8216;movement&#8217; phase where the ball is locked but the paddles can move, and an &#8216;action&#8217; phase where the paddles are locked and the ball can move.</p>
<p>Then I got a new job and suddenly the portfolio stuff didn&#8217;t seem so important and the idea was shelved. Here is another valuable lesson in why creative projects don&#8217;t get finished.</p>
<p>Over the last year I&#8217;ve been regularly taking part in <a title="Klik of the Month Klub" href="http://www.glorioustrainwrecks.com/node/44" target="_self">Klik of the Month Klub</a>, a 2-hour game-making contest fought using the most awkward and unusuable tools it has ever been my misfortune to encounter. This month I decided to kick it up a notch and enter <a title="Ludum Dare" href="http://www.ludumdare.com/compo/" target="_blank">Ludum Dare</a>. I thought it might be a fun way to start my Christmas holiday! Well, right from the start I was disappointed when &#8216;discovery&#8217; was chosen to be the theme of the contest &#8211; considering how popular <em>Minecraft </em>has become since the summer, I was expecting a lot of the games to follow similar themes of digging and spelunking. In a more general sense, <em>every adventure game ever</em> involves discovering strange new locations, characters and artifacts. I wanted to something a bit more unusal, more like the kind of weird junk I turn out for Klik of the Month Klub, so I thought about ways to turn the theme around and make it more interesting.</p>
<p>Instead of being about the act of discovery, my game would be about the fear of being discovered! You are hiding something from someone you care about and you will jump through hoops to prevent them learning your terrible secret. Perhaps you are a serial killer who has invited his friends round for a dinner party, but has carelessly left a load of corpses and murderous implements lying around the house? I decided this was too morbid &#8211; like with <a href="http://www.owengrieve.com/2010/06/12/wario-diy/" target="_self">my experiments with <em>Wario Ware DIY</em></a>, I think I prefer making games that are broadly family-friendly. How about this: You are a gay teenager and you are trying to hide this fact from your family! It was an interesting idea, and if the subject matter was handled well it could have ended up as a really good game.</p>
<p>But then I remembered the old advice about not being over-ambitious. I scaled my ideas back, thought things over, scaled them back, thought things over, and eventually ended up thinking about my idea for turn-based <em>Pong </em>again. It was perfect! Hide the ball and make it a game of deception, where players use radar sweeps and other tools to bring together partial scraps of information about the ball&#8217;s location, deploy decoy balls and counter-intelligence to keep their opponent in the dark, and all in the midst of a regular, back-and-forth game of <em>Pong</em>.</p>
<p>Well. I realised early on the second day that there was no chance of me finishing the game in time to enter Ludum Dare, but I did have time to comfortably complete my original turn-based Pong idea. Instead of trying to fudge in the counter-intelligence effects, I focused on just polishing up the game I had &#8211; adding some little messages and visual effects, fixing the one little niggly bug I found regarding deflection angles, etc. I think it came out alright! The bats are a bit too small perhaps, and I think I should compile another version that runs at a smaller resolution &#8211; currently it&#8217;s running in 1280&#215;720 &#8211; but I&#8217;m happy with it. It came out pretty much exactly how I expected. The only disappointing element is the name &#8211; I couldn&#8217;t decide what to call it, and I wasn&#8217;t sure if mentioning <em>Pong </em>in the title could lead to legal issues.</p>
<p><a href="http://www.purplejam.co.uk/stuffs/turnpong.zip" target="_self">Download Generic Turn-Based Video Tennis Game HERE</a> (Windows only).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.owengrieve.com/2010/12/22/turn-based-pong/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>QBASIC And Me</title>
		<link>http://www.owengrieve.com/2009/08/31/qbasic-and-me/</link>
		<comments>http://www.owengrieve.com/2009/08/31/qbasic-and-me/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 12:24:37 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[things made and done]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[QBASIC]]></category>
		<category><![CDATA[things I made]]></category>

		<guid isPermaLink="false">http://www.owengrieve.com/?p=202</guid>
		<description><![CDATA[When I was 11, there was a computer in our school library that pupils could book in 15 minute time slots on at lunch time. My friends and I were just starting to sit up and pay serious attention to PCs, and we would often stop by during morning break and try to book multiple [...]]]></description>
			<content:encoded><![CDATA[<p>When I was 11, there was a computer in our school library that pupils could book in 15 minute time slots on at lunch time. My friends and I were just starting to sit up and pay serious attention to PCs, and we would often stop by during morning break and try to book multiple sesions between us. In later years we sweet-talked our science teacher into letting us use her class computer during lunch breaks, but that&#8217;s another story.</p>
<p>At the time, I was excited enough just to be using a PC. There was no internet connection, and the computer refused to run <em>Warcraft II</em>, but for a time I was quite happy to just noodle around in Windows and DOS. Probably the most exciting activity we could legitimately engage in was to browse <em>Encarta</em> for interesting multimedia clips &#8211; I was going to make a joke about this, but to this day I like to idle away time on Wikipedia when I&#8217;m bored.</p>
<p>Anyway, events took a dramatic turn one day when a friend came into school with wide eyes and a floppy disk, telling wild stories about a exciting program he had stumbled upon. That program was <a href="http://www.petesqbsite.com/" target="_blank">QBASIC</a>, an IDE created by Microsoft and distributed with later versions of DOS &#8211; we all had a copy at home, since we had all installed DOS from the same disks. Later that day, we crowded around the library computer as he revealed the contents of his disk. He had written a simple game about anagrams&#8230; a jumble of letters would appear, and the player had to type in the unscrambled word or phrase. There was no randomisation, just a simple model of:</p>
<p>- Display a phrase<br />
- (Wait for player input)<br />
- If the input is correct, move on to the next phrase; if not, then repeat the current phrase</p>
<p>It was a terrible game, but we were all interested by the idea of writing our own programs. Like many British schoolchildren of a certain age, we had a little experience of writing BASIC code on a BBC Micro in maths class, but this was another world. We all went home that afternoon and began teaching ourselves to code from the Help files &#8211; copy/pasting code samples, fiddling with their parameters and observing the results, that sort of thing.  We were also delighted to find some sample games were included &#8211; <em>NIBBLES</em> (which was basically <em>Snake</em>) and <em>GORILLAS</em> (which was basically <em>Artillery</em>). Both games were far too complicated for us to understand the inner workings of, but they shined a light on what could be achieved.</p>
<div id="attachment_203" class="wp-caption alignnone" style="width: 510px"><a href="http://www.owengrieve.com/wp-content/uploads/2009/08/gorillas_screenshot.png"><img class="size-full wp-image-203" title="gorillas_screenshot" src="http://www.owengrieve.com/wp-content/uploads/2009/08/gorillas_screenshot.png" alt="Gorillas, yesterday" width="500" height="273" /></a><p class="wp-caption-text"> </p></div>
<p>Soon, we had all mastered the same handful of commands:</p>
<p>- CLS (clears the screen)<br />
- PRINT (used to write messages on the screen)<br />
- INPUT (allows the user to type things in)<br />
- IF [...] THEN (allows conditional commands &#8211; used to create logic gates)<br />
- GOTO (jumps the program to the specified line number)<br />
- END (ends the program)</p>
<p>We used line numbers to create &#8216;bookmarks&#8217; for useful blocks of code (although in practice we tended to number every line), and learned that putting $ on the end of a word created a string variable (used to store text in speech marks &#8211; eg. name$ = &#8220;Buck Handsome&#8221;) and putting a % on the end of a word created an integer variable (used for numbers, without speech marks &#8211; eg. age% = 47), which could be manipulated using normal maths. And if you followed all of that, you already have all the tools you need to create your own games in BASIC.</p>
<p>A simple program would look something like this:</p>
<p style="padding-left: 30px;">10 CLS<br />
20 PRINT &#8220;What is the capital of Burkina Faso?&#8221;<br />
30 INPUT answer$<br />
40 IF answer$ = &#8220;Ouagadougou&#8221; THEN GOTO 60<br />
50 GOTO 10<br />
60 END</p>
<p>QBASIC programs run as a linear sequence of commands. You can read it very simply, like a book &#8211; start at the first line, and simply follow the instructions, line by line. If you ran this program, it would keep asking you to name the capital of Burkina Faso until you gave the correct answer, whereupon the program would end.</p>
<p>The important thing, from a &#8216;game&#8217; perspective, is the logic gate created by lines 40 and 50. If the answer is correct, the program jumps ahead to line 60; if the answer is <em>anything else</em>, the program continues to line 50, which loops back to the start. The IF [...] THEN command is a simple tool for evaluating the player&#8217;s input &#8211; it facilitates the success/failure dynamic which underpins traditional gameplay, and can be layered up to create intricate logic trees. It is what makes this program a &#8216;game&#8217;, even if it <em>is</em> a rubbish, simple game. If you removed lines 40 and 50, the player could type in any answer and the program would always react in the same way, <a href="http://www.owengrieve.com/2009/03/31/games-as-an-art-form/" target="_blank">destroying any notions of interactivity, consequences and agency</a>.</p>
<p>To get back to my story, I had a moment of clarity one day &#8211; I think it was Easter bank holiday, 1995 &#8211; and realised that I could use the random number function to simulate dice rolls. By tracking enough variables (x position, y position, hit points, maximum hit points, magic points, maximum magic points, attack, defence, etc), I could therefore model a simple role-playing game, inspired by boardgames such as <em>Talisman</em> and <em>Hero Quest</em>. This was a far more ambitious project than anything my friends and I had previously attempted, but since it was a long weekend and I had nothing better to do, I dived right in and came back to school on Tuesday with a bugged, but complete, first version of <em>Land of the Lotus</em>.</p>
<p>The game was still terrible &#8211; a single, square room, 3&#215;3 tiles large, containing one immobile enemy who could only attack in response to the player&#8217;s attacks. But it had a locked door with a working key, three different player classes, and pleasingly generic gameplay. Its pokey little ASCII graphics didn&#8217;t quite suggest a <em>living</em> world, but a comatose world that occasionally twitched its fingers, at least. I was overjoyed!</p>
<p>I showed my friends and some of us got together and tried to build on this success &#8211; personally, I don&#8217;t think I got round to completing any other games, although I wrote a few little applications to crunch numbers for <em>Warhammer</em> and the like. For one of my friends, QBASIC was the starting point for a career in games programming (although he mostly uses C++ these days), and others &#8211; including myself &#8211; still use the same basic skills it taught us when writing scripts. The moral of this story is that I think QBASIC is a simple and fun way to learn basic principles of procedural logic. It won&#8217;t teach you much of anything about object-orientated programming, but on the other hand you can learn everything you need to know to get a game running in just five minutes.</p>
<p><s>Later this week</s> At some future point in time, I will upload <em>Land of the Lotus: HD Remix</em>, an updated version of the game I threw together 14 years ago, along with the source code. It&#8217;s still not a great game by any stretch of the imagination, but I&#8217;ve ironed out the bugs, improved the interface, re-written most of the in-game text and annotated my code. And it&#8217;s still better than <a href="http://marketplace.xbox.com/en-GB/games/offers/00000000-0000-4000-8000-000058550130?cid=SLink" target="_blank">some of the things you&#8217;ll find on XBox Live Marketplace</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.owengrieve.com/2009/08/31/qbasic-and-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

