<?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-21101004</id><updated>2011-11-14T16:37:28.237-08:00</updated><title type='text'>Gabe's Game Design Laboratory</title><subtitle type='html'>This is a place for experimental game design and discussion of independent game development.  A place to try out things, and fail half the time, but have fun along the way.  A place for those who enjoy games to try out a few wacky ideas and give some feedback.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-21101004.post-114858419404708555</id><published>2006-05-25T12:03:00.000-07:00</published><updated>2006-05-25T12:09:54.056-07:00</updated><title type='text'>Bang! Howdy</title><content type='html'>Bang! Howdy just released a beta client.  It's a lot of fun and I reccomend checking it out.  I think they still have some work to do to get their financial model working.  I think they need better community hooks to give players a reason to want to spend money customizing their appearances, etc. (players don't pay money until they buy customization)  It's the first pseudo-MMO world I've had time to play in a long time.  If you see Billy der Kind, that's me.&lt;br /&gt;&lt;br /&gt;With a recent trip to India, wedding preparations and a lot of craziness at work I haven't had a lot of time to work on game projects.  I am working on a game that is somewhat based on the game Every Extend Extra which is to be released soon for the PSP (I got to play a demo at E3).  I really like the idea of the game but I think that it could be made more interesting with some real physics as well as a more persistent "character development" system ala upgrades between levels.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-114858419404708555?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/114858419404708555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=114858419404708555' title='326 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114858419404708555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114858419404708555'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/05/bang-howdy.html' title='Bang! Howdy'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>326</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-114375212710489851</id><published>2006-03-30T11:51:00.000-08:00</published><updated>2006-03-30T16:27:30.203-08:00</updated><title type='text'>Election (a card game)</title><content type='html'>Work's been kicking my ass recently. That and I just moved to Long Beach. Not much time for game development unfortunately. Next week I will be going to India for two weeks and so I fear that trend may continue.&lt;br /&gt;&lt;br /&gt;I'm now living with my fiance and we have more time to play games.  We really like playing &lt;a href="http://www.boardgamegeek.com/game/50"&gt;Lost Cities&lt;/a&gt; and &lt;a href="http://www.boardgamegeek.com/game/12589"&gt;Razzia&lt;/a&gt; when it's just us two (and &lt;a href="http://www.boardgamegeek.com/game/929"&gt;The Great Dalmuti&lt;/a&gt; or &lt;a href="http://www.boardgamegeek.com/game/16267"&gt;Transeuropa&lt;/a&gt; when we have some company). As great as these games are I have gotten a bit tired of them and so, the other day on our way to dinner, I came up with some rough rules for a new card game for us to play.&lt;br /&gt;&lt;br /&gt;It seems like the sort of thing that has probably been done somewhere and so I wouldn't be surprised if there is already a similar game out there. It borrows heavily from &lt;a href="http://www.knizia.de/"&gt;Reiner Knizia&lt;/a&gt;'s style of game design. It's pretty simple and straight-forward however and has one property that I think is good for couples games: there is a certain amount of strategy to it but there is also a lot of luck involved. This mix is very important for games for couples as it allows the players to get better and to think about how they play but if the skill level is somewhat unequal there is still a significant luck factor to where the less-skilled player can still win sometimes.&lt;br /&gt;&lt;br /&gt;So, here's the rules.  Let me know if you try it and what you think.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Election&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Story/Theme&lt;br /&gt;&lt;/span&gt;The idea is that you and the other players represent two parties duking it out in an election. You have a certain amount of money to spend obtaining votes. At the end of the game, the player with the most votes wins.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Setup&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;To start playing you will need 2 players and 3 decks of cards. It will be easier if the 3 decks of cards have different backs so that you can easily seperate them out later. All three decks should be thoroughly shuffled at the start of the game. Each of the two players will take one of the decks. These are their "money" decks. The third deck is the "votes" deck and the two players will vie to capture these votes during the play of the game. The "votes" decks should not contain jokers but the "money" decks should. The game can take from 1 to 5 rounds and the players should choose the number of rounds to be played at the start of the game. I recommend 3 rounds to start with. Picking 5 rounds will make for a more strategy game whereas fewer rounds will introduce more variance into the game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rounds&lt;/span&gt;&lt;br /&gt;At the start of each round one of the players should place the top 10 "vote" cards in a line in the center of the table. The line spreads out between the two players. Each player will be placing cards on their side of each of the "vote" cards.&lt;br /&gt;&lt;br /&gt;The players take turns placing "money" cards. The first player of the round will be the person with the most votes at the end of the prior round (it is actually advantageous to go second). For the first round, the strongest player should go first (or you can choose this randomly). In the event of a tied score at the end of the last round, the player who went first in the round before that still plays first.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Play&lt;/span&gt;&lt;br /&gt;Each player, on their turn, picks up the top card of their deck, looks at it, and then choose to play it next to one of the "vote" cards in the middle of the table. They cannot play it next to a card that they have already played by.&lt;br /&gt;&lt;br /&gt;Play continues until each player has laid 10 cards on the table. Each player is trying to spend more money than the other player on key votes so that they will win the election.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jokers&lt;/span&gt;&lt;br /&gt;Jokes are your chance to exercise corruption and gerrymandering. If a player draws a Joker as the very first card to be played for that round then play passes to the other player (giving the player who drew the Joker the advantage of playing second). If a Joker is drawn at any other time, the player who has drawn the Joker is allowed to switch the locations of any two "vote" cards currently on the board.  After switching two cards, the player then draws another card and takes a normal turn.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Scoring&lt;/span&gt;&lt;br /&gt;At the end of the round players figure out who captureed each of the "vote" cards. The player who has played the largest valued "money" card next to a given "vote" card takes that card. In the event of a tie, the "vote" card is removed from the board and neither player gets it. For the purposes of capturing, Poker ranks are used (i.e. the Ace is the highest card in the deck).&lt;br /&gt;&lt;br /&gt;Players then count the values of all of their captured "vote" cards. Numbered cards are worth the same amount of votes as their numerical value. Face cards are worth 10 votes. Aces are worth only 1 vote. The winner is of the game will be the player with the most votes at the end of the final round.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Thoughts&lt;/span&gt;&lt;br /&gt;The theme of the game is admittedly "pasted on". It was an afterthought but I think it works pretty well. I could see making a new version of the game with some slightly more interesting decks (there were several ideas that I went through for the Jokers, for example, which could be extended to other special cards) and putting interesting pictures on all of the "vote" cards representing different voting blocks.&lt;br /&gt;&lt;br /&gt;The game isn't as deep as Razzia or Lost Cities but we do have fun playing it. If you try it out, let me know what you think, it certainly hasn't had a lot of playtesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-114375212710489851?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/114375212710489851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=114375212710489851' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114375212710489851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114375212710489851'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/03/election-card-game.html' title='Election (a card game)'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-114230032421309843</id><published>2006-03-13T10:17:00.000-08:00</published><updated>2006-03-14T10:54:58.156-08:00</updated><title type='text'>Minus the Bear</title><content type='html'>Completely off topic:&lt;br /&gt;&lt;br /&gt;We saw &lt;a href="http://www.minusthebear.com/"&gt;Minus the Bear&lt;/a&gt; last Saturday at the Casbah down in San Diego and it was fantastic. I've never gone to a lot of live music, concerts never really grabbed me, but in a smaller venue with a band I really dig, it was a great experience -- one I hope to repeat.&lt;br /&gt;&lt;br /&gt;Check out their songs on on their website or on iTunes, the studio versions are also quite excellent. My favorite songs: &lt;span style="font-style: italic;"&gt;The Fix&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;Memphis &amp; 53rd&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Michio's Death Drive.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-114230032421309843?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/114230032421309843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=114230032421309843' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114230032421309843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114230032421309843'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/03/minus-bear.html' title='Minus the Bear'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-114065409120846104</id><published>2006-02-22T14:33:00.000-08:00</published><updated>2006-02-22T16:21:31.296-08:00</updated><title type='text'>Find-3</title><content type='html'>Finally another game is ready to post.  You can find the game &lt;a href="http://www.cs.indiana.edu/%7Estgabrie/find3.html"&gt;here&lt;/a&gt; although you will probably want to read the concept section below before trying it just so you know what you're doing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Concept&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I said I didn't want to do a Match-3 clone and here I have a Match-3 clone. Sort of. I call it "find" 3 as opposed to "match" 3 as the process of finding is a bit more intense in this version. In fact, this game should give your visual cortex quite a workout.&lt;br /&gt;&lt;br /&gt;The board is setup like a Match-3 board, with a lot of square, some of which are special and have slightly darker backgrouns. The darker squares will go to their normal color once you create a match using them. When you have removed all of the darker squares from the board you can continue to the next level.&lt;br /&gt;&lt;br /&gt;So far it should sound pretty standard. But the matching procedure is a bit more challenging. Each tile on the board has four properties: color, number, fill and shape. Each property has three possible values, i.e. red, blue and green (and now that I write this up I realize that again I should have considered color-blindness). To make a match among 3 tiles you will need to find 3 tiles that are either the same, or all different, with respect to each property.&lt;br /&gt;&lt;br /&gt;Here is an example:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cs.indiana.edu/%7Estgabrie/find3.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.cs.indiana.edu/%7Estgabrie/find3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These three have: the same shape, the same color, different fills and different numbers.  They are a match.  Here's another:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cs.indiana.edu/%7Estgabrie/find3-2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.cs.indiana.edu/%7Estgabrie/find3-2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This has different shapes, different colors, different fills and different numbers and is thus also a match.&lt;br /&gt;&lt;br /&gt;Matches can be any 3 squares on the board, &lt;span style="font-weight: bold;"&gt;they don't have to be 3 in a row.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, your goal then is to find these matches as quickly as possible and in particular to match the squares that are darkened.  Once you have cleared each such square you will move on to the next level.  If you run out of time you'll start over on level 1.  If you beat level 5 then that's it, your score will be saved in the high score and you can try again at level 1.&lt;br /&gt;&lt;br /&gt;Ok, go &lt;a href="http://www.cs.indiana.edu/%7Estgabrie/find3.html"&gt;play&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Design Process&lt;/span&gt;&lt;br /&gt;First of all, some of you may notice the matching structure that this game uses is based on as being that of the game &lt;a href="http://www.setgame.com/set/index.html"&gt;Set&lt;/a&gt;. Set is a sort of brain-teaser party game that is played with cards.  For set you only have 12 cards out on the table, not the 25 of my version, which makes it a bit more difficult.  People sit around staring at the cards until someone finds a "set" and shows it to everyone else, taking the cards.&lt;br /&gt;&lt;br /&gt;And actually, I did not set out to make a Set match-3 game.  I was just interested in the notion of creating a game that had as its challenge a visual pattern-finding task that was more interesting than the standard 3-of-the-same-color that you see in the many Bejeweled clones.  The first idea I had was a &lt;a href="http://www.popcap.com/launchpage.php?theGame=chuzzle"&gt;Chuzzle&lt;/a&gt;-style game where instead of creating 3 in a row's, you create poker hands (and I still may prototype that).  That idea went through several iterations, some action-oriented and some strategy-oriented and it led to considering colored gems with numbers and then colored gems with shapes and numbers.  At first I thought of a game where each square had up to four gems, one of four colors and up to four shapes (for a grand total of 64 possible tiles).  The idea was the same as Set: that each property had to be the same or different.  I thought it would hopefully be easier than Set (where there are 81 possible tiles) but after testing it on paper I found it to be extremely difficult.  With 3 tiles to match you can look at two and know what the third match must be, and there's a decent chance it will be on the board (about 29%).  With 4 tiles to match, after picking two you still have 2 tiles to go and have a lower chance that the two you need are on the board.  I found it just takes too much "stack depth" to think 4 tiles in and the matches seem less common anyway.  So I ended up just going with the Set rule of 4 properties and 3 of each property. &lt;br /&gt;&lt;br /&gt;I still think there is other interesting territory to delve into here.  Chuzzle with both shapes and colors, matching only for "the same" and not "different" seems like it would be interesting but it also seemed too much like the existing game and I wanted to try something a bit different.&lt;br /&gt;&lt;br /&gt;Having determined the core mechanic for the game I still had a lot of decisions to make.  How would the player progress for example?  At first I was going to just have a level where the tiles stayed exactly the same throughout and the player tried to make as many matches with that set of tiles as possible.  They would get points for each match and bonus points for filling in an entire row or column of the board or filling out special "gold squares".  In practice I found this a little boring and a little static.  So I did the obvious thing of replacing tiles as they are matched.  I thought the game needed a better sense of progression though.  I had the idea that you might need a certain amount of points to get to the next level but it seemed a bit too arbitrary and so I switched to the timer.  Design decisions, of course, which had already been made for similar match games but I could see that they made sense and seemed to be the best way to make the game fun.&lt;br /&gt;&lt;br /&gt;I added scoring -- you get level*100 points per match and you get level*50 points for each bar left in the timer bar when you complete a level.  I played with the timing a bit.  At first the timers were much quicker but after having my fiance playtest a bit I determined that it was too hard for someone who hadn't played as much as I did while developing the thing.&lt;br /&gt;&lt;br /&gt;And there you have it, the complete game. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Development Process&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The process of prototyping the game went fairly quickly this time.  I'm using classes with  my actionscript and that helps a lot to structure the code and put it into an easily readable and debuggable form.  If I ever go back to do anything with Crystal Chaos again I think I will have to update the code with what I've learned since.  I spent about 2 hours one night making all the pictures for the tiles.  Then last Monday I spent an evening coding and had a pretty decent prototype when I was done.  A few hours last night were enough to put in score, timers and add some finishing touches to the UI.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Thoughts on the Game&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I like the game myself.   It's somewhat limited in what it does but so are the other Match-3 games that it emulates.  I found the challenge to be engaging and wanted to keep playing to get higher scores although at times it could be frustrating when I just got stuck and couldn't find anything (in part this could be alleviated with a shuffle and/or a hint button).   For what it's worth, it is essentially impossible for there to be no matches on the board.  The average board has just under 30 total matches.  So when you think there can't be any matches left you just aren't finding them.&lt;br /&gt;&lt;br /&gt;It is a pretty tough game though and I wonder if it isn't a bit too mentally taxing for a "casual" game.  Or maybe it could sell on exactly that point, marketed as a brain exerciser.  So, what do you all think?  What high score can you get?  I think I scored something like a 27,500.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Next Up&lt;/span&gt;&lt;br /&gt;Well it took me a while to get this game out.  In part that's because of real life butting in but also I had a prototype on the way to here that didn't end up feeling "done" to me.  It plays a bit too easily and maybe doesn't have enough of a straightforward challenge to it.  But I want to revisit and maybe put up a playable version either way just because I like some of its ideas.  Also, as mentioned above, I have an idea for a Poker-influenced Chuzzle game that I may give a go.  We'll see. :)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-114065409120846104?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/114065409120846104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=114065409120846104' title='54 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114065409120846104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/114065409120846104'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/02/find-3.html' title='Find-3'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>54</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-113951219761562497</id><published>2006-02-09T10:15:00.000-08:00</published><updated>2006-02-09T11:09:57.666-08:00</updated><title type='text'>Update + Good Indies</title><content type='html'>I read through a copy of &lt;a href="http://www.amazon.com/gp/product/0596006527/sr=8-1/qid=1139509064/ref=pd_bbs_1/102-6383529-6468102?%5Fencoding=UTF8"&gt;Essential Actionscript 2.0 by Colin Moock&lt;/a&gt; last week and it was very helpful.  Doing all of my Flash through classes I'm finding it a lot more manageable.  I still have some problems with the dynamic typing but everything feels a lot more structured.  This past Monday I did a decent skeleton of my next game idea in a few hours and got to play it a bit.  I like the idea but I think it's a bit too easy.  So I'm still mulling over that.  On the one hand, my goal is just to get games out good or bad.  On the other hand, I'm a bit too much of a perfectionist to do that and I also think that I might have to stop and take a bit more time to do design work on this to see what is really there.&lt;br /&gt;&lt;br /&gt;In the meanwhile I've also been playing a LOT of indie games -- doing market research and shopping for inspirations.  There are, of course, a lot of interesting ideas out there.  But there's also a lot of so-so stuff.  I guess that's the problem with niche and indie markets: the lower barrier to entry fosters innovation but it also creates a market that is very hard to browse.  &lt;a href="http://www.gametunnel.com"&gt;Game Tunnel&lt;/a&gt; is a very good resource for sifting through the stacks.  Their Game of the Year awards showcase a lot of great titles.  I've also gone through the &lt;a href="http://www.reflexive.com"&gt;Reflexive&lt;/a&gt; and &lt;a href="http://www.realarcade.com%5D"&gt;RealArcade&lt;/a&gt; catalogs looking for other interesting titles.  I thought I might give a list of games that I thought were particularly fun to play or interesting from a design perspective.&lt;br /&gt;&lt;br /&gt;#1 -- &lt;a href="http://www.playfirst.com/game/oasis"&gt;Oasis&lt;/a&gt;.  Just a fantastic game with a very interesting design.  Basically the idea is a Civilization-like experience that can be played out in 10 minutes.  I'd love to do the same sort of thing with different strategy elements.  You play on a random map and spend 85 turns exploring and building up your cities.  Then you get attacked by a barbarian horde and if you survive you go on to the next level.  Simple as that.  The win condition is nice in that it leads to an interesting strategy/build-up game that doesn't require AI -- the barbarians are basically deterministic.  There are really only a few things you can do on your turn yet your choices can make a big difference in how well prepared your cities are for attack -- another design feature that I admire and would love to have in my own games.  The only problem I've found with this game is that the random maps sometimes seem to be either too easy or too hard.  Particularly too hard -- there are just some maps that I can't imagine winning no matter what you did.  Especially on the harder difficulty levels you can find that luck is too much of a factor in how well you do.&lt;br /&gt;&lt;br /&gt;#2 -- &lt;a href="http://www.scienceoftomorrow.com/mmm_forum.htm"&gt;Mexican Motor Mafia&lt;/a&gt;.  Remember GTA2?  Top-down driving fun?  Well MMA is channels that experience for a pretty fun if not short experience.  I like the style of the game and it the way it combines an upgrade system with a simple but well-executed combat game to drive its story.  You buy new cars, get new guns, and go out and do missions which can be anything from saving kids working in a drug factory to a duel with one of the local ganglords.  Combat is top-down driving where you can have a gun on your right and/or left sides which can only shoot in that direction.  There is even a slight RPG element where you get to increase certain stats after killing bosses (reload time, repair abilities, or your line of sight).  I think you could make a fun MMO with something like this.  My biggest problem with the game was just that it only lasted a few hours before I was done -- but I think I'll go back and replay on the hard difficulty level at some point.&lt;br /&gt;&lt;br /&gt;#3 -- &lt;a href="http://www.shrapnelgames.com/digital_eel/weird_worlds/6.htm"&gt;Weird Worlds&lt;/a&gt;.  This is basically Star Control 2 meets Rogue.  A new galaxy is created for every game.  You explore the galaxy, meet other alien races, find alien technologies, recruit other ships to join you, and then after 10, 20 or 30 years you retire and get scored based on your accomplishments.  It's also highly moddable.  I've played through at least a couple of dozen times and I'm still finding new things.  Combat is a sort of top-down RTS style game.  Overall it's just another simple but very fun game.&lt;br /&gt;&lt;br /&gt;#4 -- &lt;a href="http://www.pompomgames.com/"&gt;Mutant Storm&lt;/a&gt;.   I believe this game made it on to the XBox Live Arcade as well.  It's just a fantastic, very polished top-down space shooter.  You go through a series of very short levels which are all contained in one screen.  You aim with the mouse and move with the keyboard and face a number of interesting baddies and environmental challenges.  I think a really good game could be made using this engine and including some RPG or upgrade elements over a campaign.&lt;br /&gt;&lt;br /&gt;#5 -- &lt;a href="http://www.astralmasters.com/en/main.htm"&gt;Astral Masters&lt;/a&gt;.  This was a pleasant surprise for me.  It's an obvious want-to-be Magic the Gathering Online.  I expected it to be no where near as balanced or interesting as Magic but it actually succeeds quite well.  Instead of playing lands you sacrifice cards from your hand to increase your mana pool.  You can build a deck with cards from 4 different elements.  Mana is generic and the number of elements you use in a deck simply determines how much life and cards you start with (in practice 2-element decks seem to be the norm).  There are a lot of combos sprinkled throughout the cards and it is actually quite fun to experiment with them all.  The AI is surprisingly good making the campaign style single-player game they have very challenging.  I've been fleshing out some ideas about a collectible &lt;span style="font-style: italic;"&gt;tile  &lt;/span&gt;game myself and it was interesting to see some new ideas for the collectible card game genre.&lt;br /&gt;&lt;br /&gt;#6 -- &lt;a href="http://www.playfirst.com/game/spellagories"&gt;Spellagories&lt;/a&gt;. I love word games.  But I haven't found many computer word games that really grab me.  I do really like Yahoo's &lt;a href="http://games.yahoo.com/games/downloads/tx.html"&gt;Text Twist&lt;/a&gt; though and I played through several variants on this done by indies.  Spellagories was the best.  You are given a set of letters and a category.  You create words from those letters trying to figure out a word that fits the category.  Other larger words earn you points and eventually give you hints about the letters in the puzzle word.  The category function and the excitement of figuring out the category word on the first go seemed to add a lot to the game.  I've thought about doing some word games but creating a dictionary seems a bit of a burden for what I am doing now.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;That's it for now.  One thing I haven't found is a really great puzzle game that I like.  I've found a LOT of Match-3 style games but I never really found those that interesting.  Zuma style games are ok but I still prefer firing up an emulator and playing Puzzle Bobble or Snood.  I guess I should give an honorable mention to &lt;a href="http://www.fenomen-games.com/runic-one.htm"&gt;Runic One&lt;/a&gt; the puzzle game which held my interest the longest -- it's a tile laying game.  Overall this was a disappointment to me as I consider myself to be a big puzzle game player and I'm interested in creating puzzle style games myself.&lt;br /&gt;&lt;br /&gt;If anyone has any recommendations for games of any sort, let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-113951219761562497?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/113951219761562497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=113951219761562497' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113951219761562497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113951219761562497'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/02/update-good-indies.html' title='Update + Good Indies'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-113877938362897708</id><published>2006-01-31T22:20:00.000-08:00</published><updated>2006-01-31T23:39:35.726-08:00</updated><title type='text'>Crystal Chaos</title><content type='html'>Alright, I'm finally done with &lt;a href="http://www.cs.indiana.edu/%7Estgabrie/crystal_chaos.html"&gt;my first Flash creation.&lt;/a&gt; It's a Tetris sort of game with a bit of physics to it. The goal is to clear the board of all crystals and go onto the next level. Crystals disappear when you get 3 in a row (it's not a Match-3 game, I promise). After several moves, the bottom of the board will rise up and if you don't clear the board in enough moves, and a crystal goes over the top, you'll lose the game (at which point you can reload the flash to restart).&lt;br /&gt;&lt;br /&gt;Go check it out, then come back here, I'll be waiting for you.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;What level didja get to?&lt;br /&gt;&lt;br /&gt;The real question, one for me is: what was learned while making it?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Making the Game&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;It's Flash. It works. Mostly. There's one teeny bug in the physics system that I know of and you might have seen. Also, you can't restart your game. There was a bug there and I just got tired of tweaking the thing. And I am trying to tell myself that I don't have to have a completely polished product before I put it down and put it up somewhere. Which is a hard thing for me -- I tend to be a perfectionist with these sorts of things.&lt;br /&gt;&lt;br /&gt;The design process went something like this.&lt;br /&gt;&lt;br /&gt;1) Hmm, Tetris games.&lt;br /&gt;2) A few stupid ideas and an ideas I'd had in the past but discarded.&lt;br /&gt;3) What if the blocks were rotated 45 degrees?&lt;br /&gt;4) How would they delete?  3 in a row seems the best way to go.&lt;br /&gt;5) How would they fall?  I guess they should drop in a somewhat analog fashion with physics for sliding.&lt;br /&gt;&lt;br /&gt;Then I made some of it. But I was still thinking about the game as I was playing early prototypes and I realize that it just wasn't that hard, and there was no real pressure to play well. You could make groups of 3 pretty quickly and without hassle. I needed to add some pressure to up the challenge a bit. I thought about having the piece drop automatically after a few seconds. I thought about having a timer after which you had to end the level. All the while, I had been thinking that the game was sort of like &lt;a href="http://en.wikipedia.org/wiki/Puzzle_Bobble"&gt;Puzzle Bobble&lt;/a&gt; in reverse. I decided to borrow a mechanic from that. In Puzzle Bubble the ceiling slowly falls in on you. So in my game, the floor raises.&lt;br /&gt;&lt;br /&gt;So I added that. Then I added some levels. I thought about that some. At one point I was going to program in set-piece levels. On the one hand I felt that the game should probably be able to stand up on its own without set-piece levels. On the other hand, while checking out various Indie games on the market I found &lt;a href="http://www.reflexive.net/index.php?PAGE=game_detail&amp;AID=237"&gt;Soda Pipes&lt;/a&gt;, a remake of older pipeline games, which I thought wouldn't be a fraction of the game it was without set-piece levels. In the end I decided against it. Due to practical concerns more than anything else. I don't think at this point that I want to get too heavily into level design. It's an open-ended pit that I might not come out of. Maybe if I worked really hard I could make a given game 50% better with cool levels. But that's not really the point of my experiment -- I'm more interested in giving some ideas quick testd-rives and then maybe some day I'll come back to polish up a few and see how much better they get. So instead of set-piece levels I created a system where the number of colors of crystals increases as does the number of lines of crystals put out to begin with.&lt;br /&gt;&lt;br /&gt;Another variable I might have played with that I think could have changed the game is the size of the board. I liked it where I had it but I think that a more constrained board might have made the game more challenging.&lt;br /&gt;&lt;br /&gt;Overall I probably dumped about 20-25 hours into the game itself and a fair chunk of time just figuring out how to get Flash working. The physics engine was very simple, as far as physics engines go, but fun to work on. Collision detection between two squares rotated 45 degrees is stupidly easy (I gave that a seconds of thought and then realized, "duh"). I did have a lot of bugs as I worked on the thing but most were caused by an unfamiliarity with Flash, and by Flash's acceptance of code that wouldn't have type-checked in any "real" language. More about that later.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Judging the Game&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The result? I hesitate to talk about my opinions too much because well, I don't want to bias your own. I'm hoping that other people can tell me stuff about my designs that I don't see. In this case I'm not too worried. I think the game is ok, and that's it. I do enjoy playing it and trying to get to higher levels. But in general there isn't a lot of thought that goes into playing it and I, myself, can't get that excited about it. I definitely prefer good old Puzzle Bobble (which is fine, Puzzle Bobble is a fantastic game).&lt;br /&gt;&lt;br /&gt;Judging the strategy of your game is tough while designing it. Especially for something like this which is only slightly incremental and fairly different than other stuff out there at the low-level -- and a few details here and there make a lot of difference. Who could have thought, without playing them first, that Match-3 games like &lt;a href="http://en.wikipedia.org/wiki/Bejewelled"&gt;Bejeweled&lt;/a&gt; would be the sensation that they are.&lt;br /&gt;&lt;br /&gt;I've been giving &lt;a href="http://en.wikipedia.org/wiki/Lumines"&gt;Lumines&lt;/a&gt; some thought as a comparison (if you haven't played that, play &lt;a href="http://stgabe.blogspot.com/2006/01/sdl-enlighten.html"&gt;my clone&lt;/a&gt;, or better yet get the real thing, and come back to the conversation). The conept is very simple and from a high-level view it's not that clear why it would be as interesting as Tetris. It works because of a few very low level, non-obvious patterns. The fact that Lumines pieces can get stuck in checkerboard patterns which are very hard to break up is very important. It is also highly non-obvious how to setup big deletes. These two, along with a system that requires not only more thought but a lot more hand-eye coordination than my game, results in something that you literally spend hundreds of hours learning and getting better at.&lt;br /&gt;&lt;br /&gt;And I wonder how Mizuguchi got there with his design. I can see coming up with the timeline idea that Lumines uses and the idea to integrate music into this. But the gameplay is incredibly subtle and I just don't think someone could come up with something that subtle through sheer genius. I am guessing that the answer is that he just tried a lot of things on top of his timeline idea and finally noticed some patterns or got lucky and found one idea that stuck, and thus Lumines was born. Or it could be that he's just a genius, and I'm not. In the meanwhile, I'm having fun and I'll hope that trying out lots of different ideas is the way to go for me.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Using Flash&lt;/span&gt;&lt;br /&gt;So, Flash was ... ok.  I'm certainly not ecstatic about the experience.&lt;br /&gt;&lt;br /&gt;Things I strongly dislike:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;No type system. Type systems are good. While coding for work I rely heavily on them to point out my stupid typos. Flash programs happily run when I misspell a variable name and I have to do a lot of line-by-line proofreads to catch my mistakes.&lt;/li&gt;   &lt;li&gt;The IDE is horrible. I'm using Flash MX 2004 (anyone used the newer one? is it any better?). It is completely non-intuitive. Even the graphics drawing functions, for the vector graphics, are often a pain to use. And I can't seem to use my own editor for the code. Given that their editor is almost as bad as the rest of the program this is a big issue for me.&lt;/li&gt;   &lt;li&gt;The documentation is written for animators. All I needed was a "here's Flash for programmers" intro to get me started. Nope. I couldn't find any good online documentation either (although I found these &lt;a href="http://www.gamasutra.com/features/20050324/steinmeyer_01.shtml"&gt;two&lt;/a&gt; &lt;a href="http://www.drizzle.com/%7Escottb/gdc/flash-paper.htm"&gt;essays&lt;/a&gt; which discuss flash as a platform for developing games)&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt; These made the whole process a lot more difficult than it could have been. Everything felt like a hack. I couldn't find good ways to organize my code. I spent far too long debugging problems that were simple typos. All in all I felt like a lot of my energy went to fighting Flash.&lt;br /&gt;&lt;br /&gt;Things I did like:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;The vector graphics are nice, apart from the IDE. I could use another program to generate art, but I did find it very useful to just switch panes click a few times, and voila, my art had a new prettier gradient on it. And using simple gradients and vectors I can make semi-ok programmer art.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;The GUI API was quite painless to use.  Getting the mouse location, hiding the mouse, getting keys, etc., was a snap.&lt;/li&gt;   &lt;li&gt;I could see that that there was a lot of functionality that, were I to master, could make some simple effects very easy to implement.&lt;/li&gt; &lt;/ul&gt; Despite severe dislike of certain bits, I think I am going to stick with it for now. I think I need to learn a bit more about how to create classes in Flash, learn a few more tricks, and maybe develop some techniques for organizing Flash code. And if that doesn't work, I'll move on to Java which at least I'm quite familiar with.&lt;br /&gt;&lt;br /&gt;Performance-wise, the results were also a toss-up. With a physics engines and lots of pixels moving, I thought this was a good game to test out Flash with. It runs ok on my machine but it slows down a bit in the browser (not sure why). I tried it on my fiance's older laptop and it also ran ok on there although I did notice that it started to chug a bit after playing a while. I think as long as I stay away from really flashy stuff I should be fine, which is my intention for now anyway.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Conclusion&lt;/span&gt;&lt;br /&gt;Anyway, can I work on a new project yet?  I've been chomping at the bit to work on my next idea, which at the moment I think has more promise.  More on that .... soon I hope.&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-113877938362897708?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/113877938362897708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=113877938362897708' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113877938362897708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113877938362897708'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/01/crystal-chaos.html' title='Crystal Chaos'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-113808313501593948</id><published>2006-01-23T22:06:00.000-08:00</published><updated>2006-01-23T22:12:15.023-08:00</updated><title type='text'>Flashing it Up</title><content type='html'>Just to keep this page updated: Flash development is commencing.  It's messy but I'm making progress.  I severely dislike Flash MX 2004.  And I'm not too keen on working with a scripting language instead of a programming language (when I typo a variable name, and don't get a compiler error, that's a very bad thing).  But I like the vector graphics and I hope to have a working game sometime next week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-113808313501593948?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/113808313501593948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=113808313501593948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113808313501593948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113808313501593948'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/01/flashing-it-up.html' title='Flashing it Up'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-113771500964840408</id><published>2006-01-19T15:34:00.000-08:00</published><updated>2006-01-19T15:56:49.656-08:00</updated><title type='text'>Update on Enlighten</title><content type='html'>A &lt;a href="http://www.cs.indiana.edu/%7Estgabrie/enlighten.zip"&gt;new version&lt;/a&gt; is up.&lt;br /&gt;&lt;br /&gt;The change is that there are three difficulty settings.  The change took about 10 lines of code and a couple search/replaces which I'm happy with. :)&lt;br /&gt;&lt;br /&gt;My original post could have done with a better discussion of what Lumines is for those who haven't played the original.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;Lumines is a very cool Tetris-like game. The real game utilizes looped music clips and gameplay sounds that naturally fit in with the music, so that while playing you feel you are playing "with" the music. The goal is just to stay alive and delete blocks as quickly as possible. Blocks delete, in groups of 4, when you have dropped 4 same color blocks so that they form a square. Upon creating a square, that square is only "marked" for deletion and actually disappears when the timeline crosses over it. I haven't really captured a lot of what makes the game great because I didn't come up with music for it.&lt;br /&gt;&lt;br /&gt;Also, I decided that I might as well put up &lt;a href="http://www.cs.indiana.edu/%7Estgabrie/enlighten-src.zip"&gt;the code&lt;/a&gt; I used for this. You can find it here. I developed the game using DEVCPP, a free IDE for Windows. I believe you can actually download the SDL library from within DEVCPP (as a package) and it will automagically create templates for SDL projects. I was lazy and did the whole game in one C file.  You can just throw that into an SDL project and it should compile fine.  See SDL for the licensing information.  It contains a simple, small game engine along with some drawing routines (blitting, and other primitives, and simple string drawing).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-113771500964840408?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/113771500964840408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=113771500964840408' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113771500964840408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113771500964840408'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/01/update-on-enlighten_19.html' title='Update on Enlighten'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-113762132080944225</id><published>2006-01-18T12:26:00.000-08:00</published><updated>2006-01-18T22:53:38.066-08:00</updated><title type='text'>SDL &amp; Enlighten</title><content type='html'>As promised I'm going to post on my first endeavor of this project (hmm, does the project itself need a name?). If you're not that interested in the development story you can skip to &lt;a href="http://www.cs.indiana.edu/%7Estgabrie/enlighten.zip"&gt;the game itself&lt;/a&gt; (unzip all files to a directory, double-click enlighten.exe).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Idea&lt;/span&gt;&lt;br /&gt;This is actually something I worked on last year. Working for an honest-to-goodness game company and actually releasing games has made me a lot more confident about my ability to follow through on a game and create something "professional". I was looking for a way to take this a bit further with a project that I had control over.&lt;br /&gt;&lt;br /&gt;The idea was to learn more about developing titles for a PC and try out my skills at creating a fairly complex puzzle game. I decided to create a clone of &lt;a href="http://lumines.jp/"&gt;Lumines&lt;/a&gt;, a puzzle game that I was very addicted to at the time, and had great gameplay and execution which I admired (&lt;a href="http://games.kikizo.com/features/tetsuya_mizuguchi_iv_oct05_p2.asp"&gt;Tetsuya&lt;/a&gt; &lt;a href="http://www.playdevil.com/interviews/Tetsuya_Mizuguchi_IRC_Interview/Tetsuya_Mizuguchi_IRC_Interview.shtml"&gt;Mizuguchi&lt;/a&gt; has done a lot of great work, and I like what he has been doing with Q Entertainment). At the time I had several ideas about how I wanted to expand the initial concept -- I was interested in putting in some dynamic lighting models and trying light as a game mechanic. Certain blocks would emit light and without enough light it would be difficult to see and use the entire board. I called the game Enlighten with this in mind.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Execution&lt;/span&gt;&lt;br /&gt;The first task for me was to pick a development platform and create the basic engine I would need to create the game. The likeliest canidate was &lt;a href="http://msdn.microsoft.com/directx/"&gt;DirectX&lt;/a&gt;. It's nearly industry standard and has pretty much everything I'd need for the game. There were a few problems with DirectX though. It's proprietary, you can't port it, and you need Visual Studio to develop with it. I wasn't excited to blow money on copy of Visual Studio for my home computer. So I looked at my options and found &lt;a href="http://www.libsdl.org/index.php"&gt;SDL&lt;/a&gt;, a C-based library that does most everything I need, is free and is multi-platform.&lt;br /&gt;&lt;br /&gt;I set to work creating a prototype of the game. I read over some tutorials, figured out the basics of how to push pixels to the screen and read keyboard input and created a down and dirty engine for updating based on user input and rendering to a small window. Then I got to gameplay, first having blocks that dropped, then blocks that stacked, and finally blocks that filled in holes (albeit, automagically, there were no physics involved). I introduced the timeline and allowed blocks to delete. At this point I'd spent about 15 hours researching and a few hours coding. Then I added some graphical flourishes. A score readout, a menu, a background image. At some point I got side-tracked looking at graphical effects and decided to put in a plasma effect for the backdrop of the game.&lt;br /&gt;&lt;br /&gt;Getting the graphics and the code in was relatively painless. I wrote some graphics primitives, blitting stuff, some alpha blending, etc., and it just worked. Where I got bogged down was in implementing the game "physics" of Lumines. Even though I appreciated the somewhat analog nature of the original game, I hadn't appreciated just how complex the rules were for determining when to delete something. I also got bogged down into trying to implement those rules in as efficient a manner as possible, which when considering the overhead for drawing operations, was almost certainly a waste of time. It made me consider the development process of the game and wonder just how many iterations the original design went through and how they got down to exactly the rules they did. And appreciate how complex rules may be required for a simple user experience. I suspect that the game was probably designed from the perspective of the user experience itself and the rules came later.&lt;br /&gt;&lt;br /&gt;I played around with a few visual effects. What you see in the final product doesn't have all of these. I tried having a fade effect as the piece moved around the board. The alpha-blending proved a bit too expensive for the lower-end laptop I tried the game on. To get good acceleration for this, apparently, it would have been necessary to draw using OpenGL on a 2d projection -- I chose not to go that far.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;All told I spent about 20 hours planning/researching for the game and about 30 or so hours coding the thing. Not a lot of time all things considered -- basically one "work week" and I had to build up a lot of my engine from scratch. I didn't finish the gameplay completely. There are a few quirks in the gameplay, I didn't do "levels" and I never got to the lighting models I wanted to do. I looked into getting some music loops to play during the game but didn't follow through on that. But that's ok. I did get a non-trivial fun, game done with SDL in a fairly short amount of time. And I got enough expore with SDL to determine that it is definitely sufficient for smaller-scale puzzle style games although if I wanted to do some more extreme graphical effects I think I would need to integrate OpenGL into my project or move to DirectX.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Moving Forward&lt;/span&gt;&lt;br /&gt;My goals have changed a lot since I made Enlighten. Instead of trying to make one game right the first time I want to throw out a bunch of ideas and then maybe come back to those that worked particularly well or were fun -- I may even come back to Enlighten at some future date. But for now I'd like to work on some smaller ideas that are more fully my own. I did get to play around with SDL though and become more confident that I can make a decent looking PC version of a game though.&lt;br /&gt;&lt;br /&gt;I've also decided that, for the purposes of documenting this all on the web, I will get a better response if I am able to create web-based games. So I'm looking at Flash as a platform for developing games. So far Flash is proving very different from what I'm used to -- it's geared for artists, animators, movie-makers -- not programmers. Programming a game feels like a hack. But it does have a lot of nice tools for visual effects and I have an idea for a game that I'm putting through the paces now.&lt;br /&gt;&lt;br /&gt;More on that soon (I hope).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-113762132080944225?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/113762132080944225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=113762132080944225' title='50 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113762132080944225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113762132080944225'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/01/sdl-enlighten.html' title='SDL &amp; Enlighten'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>50</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21101004.post-113751474621617901</id><published>2006-01-17T07:40:00.000-08:00</published><updated>2006-01-17T08:19:06.316-08:00</updated><title type='text'>Greetings</title><content type='html'>Let me introduce myself.  I'm Steven Gabriel.  I'm a programmer, and I make video games.  I programmed my first game 20 years ago, on an Atari 800 at age 8, and I've been hooked ever since.  After bumping around academia for a while I've ended up in LA, where I've been lead programmer for several cell phone games developed by a company called &lt;a href="http://www.sennari.com"&gt;Sennari&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The purpose of this blog is to be a place for me to play around with ideas and hone my skills as a programmer and a designer of gamers. Being a rank amateur photographer and an only slightly better writer, I've noticed that you just have to take a lot of photos or write a lot before you get a few good pictures or stories.  I think the same applies to making games.  A lot of ideas sound really great on paper.  And I think a lot of people expect their first great idea to strike gold.  But having gone through the process a few times, I think I can say that there is a whole lot of change between first concepts and the actual game after development.  And I'd like to explore that area and maybe find some decent ideas along the way.&lt;br /&gt;&lt;br /&gt;I'm going to try to come up with fairly simple, casual ideas for games, prototype/develop at ludicrous speed, and just see how they come out.   The emphasis will be on speed, coming up with ideas and spitting them out, and not on production quality or art (unless I happen to be interested in a certain graphical effect).  My goal with any project will be to document where the idea came from, how development went, and how good the final product was.  If the idea works, then great!  If not, then hopefully I can learn just as much or more from why it didn't.  I'd like to add games at a fairly regular rate, probably bi-weekly or so.  At the beginning I may be trying out a few different development platforms which will take some time.&lt;br /&gt;&lt;br /&gt;And I welcome feedback.  As long as it's clear that these aren't supposed to be finished products or even necessarily good. :)&lt;br /&gt;&lt;br /&gt;To start things off, I'll post in a bit about a clone of the popular PSP game &lt;a href="http://www.ubi.com/US/Games/Info.aspx?pId=1937"&gt;Lumines&lt;/a&gt; that I've been working on in order to evaluate the &lt;a href="http://www.libsdl.org/index.php"&gt;SDL&lt;/a&gt; platform.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21101004-113751474621617901?l=stgabe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stgabe.blogspot.com/feeds/113751474621617901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21101004&amp;postID=113751474621617901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113751474621617901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21101004/posts/default/113751474621617901'/><link rel='alternate' type='text/html' href='http://stgabe.blogspot.com/2006/01/greetings.html' title='Greetings'/><author><name>StGabe</name><uri>http://www.blogger.com/profile/17357698825074044972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://www.cs.indiana.edu/~stgabrie/gabe.png'/></author><thr:total>0</thr:total></entry></feed>
