<?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-6094332</id><updated>2011-09-04T07:46:30.248-07:00</updated><category term='Initialization of the Blog'/><category term='Image from Wikipedia.'/><title type='text'>The SPACE PRISONER Project - Tom Spreen</title><subtitle type='html'>This is the update blog for "Space Prisoner", a fully 3D, retro space action game for Mac OS X 10.4 or later.&lt;br&gt;Space Prisoner began as an undergraduate research project (Computer Science 490, University of Victoria, supervised by Dr. Amy Gooch, now completed).&lt;br&gt;&lt;br&gt; The goal in creating Space Prisoner was to gain a deeper understanding of 3D orientation (using quaternions), as well as collision detection and seeking algorithms. A secondary objective was to learn the OpenGL API.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6094332.post-5060642882639473416</id><published>2011-04-27T11:21:00.000-07:00</published><updated>2011-04-27T11:22:06.497-07:00</updated><title type='text'></title><content type='html'>Gerard has a new personal high score of 765,110, moving him into the top 5 worldwide! Congrats Gerard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5060642882639473416?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5060642882639473416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5060642882639473416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5060642882639473416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5060642882639473416'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2011/04/gerard-has-new-personal-high-score-of.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-6518295367749358286</id><published>2010-12-07T09:32:00.000-08:00</published><updated>2010-12-07T09:34:35.138-08:00</updated><title type='text'></title><content type='html'>Gerard continues to slowly climb up the high score list... he steps up one place to #6 worldwide, with his score of 623,570. Way to go!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-6518295367749358286?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/6518295367749358286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=6518295367749358286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6518295367749358286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6518295367749358286'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2010/12/gerard-continues-to-slowly-climb-up.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5639584937078925649</id><published>2010-09-25T10:48:00.000-07:00</published><updated>2010-09-25T10:49:36.384-07:00</updated><title type='text'></title><content type='html'>Gerard jumps from #9 to #7 worldwide with his score of 559,585. Way to go!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5639584937078925649?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5639584937078925649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5639584937078925649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5639584937078925649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5639584937078925649'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2010/09/gerard-jumps-from-9-to-7-worldwide-with.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-3859120303172934053</id><published>2010-09-19T06:40:00.001-07:00</published><updated>2010-09-19T06:40:39.835-07:00</updated><title type='text'></title><content type='html'>Gerard improved his score to 455,480. His #9 ranking remains the same - it's just tougher to beat now. Nice work Gerard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-3859120303172934053?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/3859120303172934053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=3859120303172934053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3859120303172934053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3859120303172934053'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2010/09/gerard-improved-his-score-to-455480.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5689449740744768978</id><published>2010-09-16T04:54:00.000-07:00</published><updated>2010-09-16T04:56:37.886-07:00</updated><title type='text'></title><content type='html'>Added Gerard to the High Score list - he sneaks into the top 10 with a score of 368250, good for 9th place overall.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5689449740744768978?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5689449740744768978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5689449740744768978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5689449740744768978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5689449740744768978'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2010/09/added-gerard-to-high-score-list-he.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-7209449154566960670</id><published>2010-09-09T15:49:00.000-07:00</published><updated>2010-09-09T15:50:26.851-07:00</updated><title type='text'></title><content type='html'>Oops - I accidentally broke the links on this page yesterday! It's all fixed up now. Let me know if anything doesn't work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-7209449154566960670?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/7209449154566960670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=7209449154566960670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7209449154566960670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7209449154566960670'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2010/09/oops-i-accidentally-broke-links-on-this.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-8648618155175513035</id><published>2009-09-25T10:25:00.000-07:00</published><updated>2009-09-25T10:29:12.907-07:00</updated><title type='text'></title><content type='html'>And the new world Space Prisoner champion is... Qaeyious!!&lt;br /&gt;His score of 1,814,395 on Level 20 is tops! Congratulations!&lt;br /&gt;&lt;br /&gt;He also sent me some very useful bug reports, which I'm investigating.&lt;br /&gt;Keep those bug reports and suggestions coming!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-8648618155175513035?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/8648618155175513035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=8648618155175513035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8648618155175513035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8648618155175513035'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/09/and-new-world-space-prisoner-champion.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2472849510140093289</id><published>2009-09-10T14:09:00.001-07:00</published><updated>2009-09-10T14:09:53.889-07:00</updated><title type='text'></title><content type='html'>Zeke is on the board at #13 with a score of 164,780. Way to go!&lt;br /&gt;He also sent me a cool spaceship .obj model that I'm going to test in the game. Thanks Zeke!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2472849510140093289?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2472849510140093289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2472849510140093289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2472849510140093289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2472849510140093289'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/09/zeke-is-on-board-at-13-with-score-of.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-7099241276481986817</id><published>2009-08-27T10:58:00.001-07:00</published><updated>2009-08-27T10:58:43.785-07:00</updated><title type='text'></title><content type='html'>Hamul improved his ranking to #11 with a score of 227,235. Nice work!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-7099241276481986817?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/7099241276481986817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=7099241276481986817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7099241276481986817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7099241276481986817'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/08/hamul-improved-his-ranking-to-11-with.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-430560864759582033</id><published>2009-08-26T10:08:00.001-07:00</published><updated>2009-08-26T10:08:51.835-07:00</updated><title type='text'></title><content type='html'>Fantastic new score from Qaeyious - 1,246,095 and good for 2nd place overall!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-430560864759582033?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/430560864759582033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=430560864759582033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/430560864759582033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/430560864759582033'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/08/fantastic-new-score-from-qaeyious.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2138493160093500705</id><published>2009-08-23T11:39:00.001-07:00</published><updated>2009-08-26T11:59:47.751-07:00</updated><title type='text'></title><content type='html'>I finally updated the &lt;a href="http://webhome.csc.uvic.ca/~tspreen/reviews.html"&gt;User Reviews&lt;/a&gt; page - check it out!&lt;div&gt;Thanks everyone for your input, it is much appreciated.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2138493160093500705?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2138493160093500705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2138493160093500705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2138493160093500705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2138493160093500705'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/08/i-finally-updated-user-reviews-page.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1101244790951818902</id><published>2009-08-02T12:45:00.000-07:00</published><updated>2009-08-02T12:49:11.686-07:00</updated><title type='text'></title><content type='html'>OK, so I've taken a bit of a hiatus while my busy summer proceeds. When I have more time, I will be finishing up and releasing version 2.0. Thanks for your patience folks!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the meantime, Hamul's score has been posted today, good for 11th place overall. Nice job!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1101244790951818902?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1101244790951818902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1101244790951818902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1101244790951818902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1101244790951818902'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/08/ok-so-ive-taken-bit-of-hiatus-while-my.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-318766585348760921</id><published>2009-04-23T20:08:00.000-07:00</published><updated>2009-04-23T20:16:29.234-07:00</updated><title type='text'></title><content type='html'>Some exciting new updates are on the way for Space Prisoner! I might have to call the next version 2.0, because there are some major changes to the gameplay coming up...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Timed levels - you have only a certain amount of time to rescue the prisoners. This avoids the problem of "hanging around" on the first few (easy) levels, racking up points. It also gives more of a sense of urgency to the game.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) The ability to fly OUTSIDE the cube! You'll start outside, and have to find the entranceway to get in. At any time, you can wander back outside again too, if you want. Watch out though, the wall guns have the ability to swivel their barrel to the outside and defend, so you won't be completely safe out there!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let me know what you think of these changes, and email me with any other ideas you have. I'm open to all suggestions, major or minor! The object is to make the game more fun, even if it means changing it in a big way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Tom&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-318766585348760921?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/318766585348760921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=318766585348760921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/318766585348760921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/318766585348760921'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/04/some-exciting-new-updates-are-on-way.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-3895465288893334441</id><published>2009-03-29T10:10:00.000-07:00</published><updated>2009-03-29T10:12:57.436-07:00</updated><title type='text'></title><content type='html'>Timothy Gentle rocketed to 5th on the high score list after only his 3rd time playing the game! Wow, is it really that easy?? It seems that players either find this game impossibly hard or really easy.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I may have to make some adjustments for the next version. By the way: I am planning a tentative release date for version 1.5 of May 15, 2009.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-3895465288893334441?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/3895465288893334441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=3895465288893334441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3895465288893334441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3895465288893334441'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/03/timothy-gentle-rocketed-to-5th-on-high.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-6490472544055240460</id><published>2009-03-28T14:02:00.001-07:00</published><updated>2009-03-28T14:02:22.485-07:00</updated><title type='text'></title><content type='html'>Another score improvement for Manoj... he's now #3... great work, keep it up!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-6490472544055240460?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/6490472544055240460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=6490472544055240460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6490472544055240460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6490472544055240460'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/03/another-score-improvement-for-manoj.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-8290831395275875670</id><published>2009-03-20T19:03:00.001-07:00</published><updated>2009-03-20T19:05:07.819-07:00</updated><title type='text'></title><content type='html'>Congratulations to Jeremy Russell - the new Space Prisoner Champion!&lt;div&gt;1.3 million+ ... great score!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-8290831395275875670?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/8290831395275875670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=8290831395275875670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8290831395275875670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8290831395275875670'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/03/congratulations-to-jeremy-russell-new.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5588879010088449529</id><published>2009-03-08T17:01:00.000-07:00</published><updated>2009-03-08T17:04:59.876-07:00</updated><title type='text'></title><content type='html'>2 more hiscore updates, one from Releaser Man and another one from Manoj, who climbs another step up the ladder. Rockin' scores!&lt;div&gt;&lt;br /&gt;&lt;div&gt;The next version of Space Prisoner will require at least 50,000 points to generate a SpreenCode.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5588879010088449529?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5588879010088449529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5588879010088449529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5588879010088449529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5588879010088449529'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/03/2-more-hiscore-updates-one-from.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1399554577857255039</id><published>2009-02-28T12:43:00.000-08:00</published><updated>2009-02-28T12:44:57.422-08:00</updated><title type='text'></title><content type='html'>The WolfGang from Germany has leaped into 3rd place with a great score of over half a million!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1399554577857255039?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1399554577857255039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1399554577857255039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1399554577857255039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1399554577857255039'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/wolfgang-from-germany-has-leaped-into.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2249792110066800558</id><published>2009-02-25T10:45:00.000-08:00</published><updated>2009-02-25T10:46:38.853-08:00</updated><title type='text'></title><content type='html'>Another new score by Manoj Chawla... he's climbing up the list!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2249792110066800558?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2249792110066800558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2249792110066800558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2249792110066800558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2249792110066800558'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/another-new-score-by-manoj-chowla.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-4306864334253266319</id><published>2009-02-19T05:29:00.000-08:00</published><updated>2009-02-19T05:33:21.940-08:00</updated><title type='text'></title><content type='html'>The million point threshold has been broken!&lt;div&gt;Cyril Q from Switzerland has the new worldwide high score with 1,124,010 points. Congratulations Cyril, you are the new Space Prisoner champion!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-4306864334253266319?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/4306864334253266319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=4306864334253266319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4306864334253266319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4306864334253266319'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/million-point-threshold-has-been-broken.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-4770600076237742251</id><published>2009-02-14T15:59:00.000-08:00</published><updated>2009-02-14T16:00:07.342-08:00</updated><title type='text'></title><content type='html'>New worldwide high score of 732,135 by deaddodo.&lt;div&gt;All I can say is... WOW! I think that one might hold up for a while.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-4770600076237742251?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/4770600076237742251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=4770600076237742251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4770600076237742251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4770600076237742251'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/new-worldwide-high-score-of-732135-by.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-148865236755639741</id><published>2009-02-14T08:53:00.000-08:00</published><updated>2009-02-14T08:57:51.244-08:00</updated><title type='text'></title><content type='html'>Space Prisoner 1.4 released!  There's lots of great improvements this time around:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Major performance improvements! Explosions and other graphics-intensive operations now render smoothly, even on slower Macs without dedicated graphics cards.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- NEW roll controls! Now you can roll the ship around its longitudinal (nose-to-tail) axis. Maneuvering in zero-g just got even more fun!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- NEW camera views! Now you have 7 different camera view options instead of just 4. Useful backward-looking, right side and left-side views let you scout around your ship and see what's around you.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- NEW "True Newtonian" physics model option! Pressing "N" during game play will let you experience true, frictionless outer space maneuvering - it's realistic but also pretty wild! You might just get a bit dizzy. :) Press "N" again to restore the normal, "artificial mild-friction" environment.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- NEW higher-contrast application icon&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Updates to the splash screens&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-148865236755639741?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/148865236755639741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=148865236755639741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/148865236755639741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/148865236755639741'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/space-prisoner-1.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-3150544591700614952</id><published>2009-02-13T10:39:00.000-08:00</published><updated>2009-02-13T10:44:51.390-08:00</updated><title type='text'></title><content type='html'>New high score of 470,005 from Romain in France. He got to Level 12. Très bon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-3150544591700614952?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/3150544591700614952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=3150544591700614952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3150544591700614952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3150544591700614952'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/new-high-score-of-470005-from-romain-in.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5186328475831589134</id><published>2009-02-11T20:27:00.000-08:00</published><updated>2009-02-11T20:43:16.887-08:00</updated><title type='text'></title><content type='html'>New high score of 246,525 from Brian. Nice!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also due to a suggestion from Brian: For Space Prisoner version 1.4 (to be released soon), I've added the ability to roll your spaceship about the longitudinal (nose-to-tail) axis.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For now, I have set the new roll controls to be "Q" and "W"... (at least, until I get user-configurable controls going, which is kind of a lot of work)... these new key assignments are negotiable... any suggestions?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By the way: it's simple to prove that every possible three-dimensional orientation can be achieved using just 2 out of the 3 degrees of freedom (roll, pitch, and yaw). Up until now the game had only two to work with (pitch and yaw), but adding the third certainly provides more interesting maneuvering options.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5186328475831589134?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5186328475831589134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5186328475831589134' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5186328475831589134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5186328475831589134'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/new-high-score-from-brian.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5552417207158007162</id><published>2009-02-09T12:30:00.001-08:00</published><updated>2009-02-09T12:37:01.220-08:00</updated><title type='text'></title><content type='html'>Thanks to a bug report from Doug Walters, I've managed to track down a bug which caused slowdowns during explosion sequences on machines without dedicated graphics cards.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a result, the next version of Space Prisoner (1.4) will have significant performance gains for all machines. This gain will only be noticeable if you have the slower, shared graphics memory scheme that is present on most MacBooks. It's only the very latest MacBooks (introduced a couple of months ago) which finally have dedicated graphics cards built-in. (The MacBook Pro always had them).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll be releasing Space Prisoner 1.4 soon, after I've finished a few more refinements and some more playtesting.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5552417207158007162?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5552417207158007162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5552417207158007162' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5552417207158007162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5552417207158007162'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/thanks-to-bug-report-from-doug-walters.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-567677632444417564</id><published>2009-02-05T16:40:00.001-08:00</published><updated>2009-02-05T16:46:47.114-08:00</updated><title type='text'></title><content type='html'>Released Version 1.3. Here are the changes from version 1.2 to 1.3:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Lowered the minimum score for generating a high score code. Now, if you score 10,000 points or more, Space Prisoner will generate a "SpreenCode". Email this code, along with your name and score, to tspreen@gmail.com and I will post your score on the project blog!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Added ability to erase the high score. To erase the current high score, hit "H" several times rapidly while on the splash screen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Updated Info screen, added credits&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Lowered the max rate of fire for wall guns (shots would sometimes hit each other)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Improved wall gun appearance&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Increased strength of sentinel ships (sentinel ships are the smarter, faster ships that show up in the later levels... they were also supposed to be stronger, but they weren't! This has been corrected.)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-567677632444417564?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/567677632444417564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=567677632444417564' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/567677632444417564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/567677632444417564'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/02/released-version-1.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5048491884071592667</id><published>2009-01-25T21:54:00.001-08:00</published><updated>2009-01-25T21:57:09.519-08:00</updated><title type='text'></title><content type='html'>Added a "Reviews" link (just under the download link).&lt;div&gt;&lt;br /&gt;&lt;div&gt;No high scores have come in yet... so I'm thinking that 50,000 points as the minimum might have been a little optimistic! In version 1.3, I'm going to lower the min threshold for generating a high score code to 10,000 points.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My personal high score on Space Prisoner 1.2 is 262,780.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5048491884071592667?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5048491884071592667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5048491884071592667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5048491884071592667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5048491884071592667'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/added-reviews-link-just-under-download.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-8990441024581145300</id><published>2009-01-20T04:46:00.000-08:00</published><updated>2009-01-20T04:49:39.648-08:00</updated><title type='text'></title><content type='html'>Posted a "Instructions &amp;amp; Hints" PDF which provides some good information on what the game objectives are and how to do well in Space Prisoner.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've realized that nowhere in the game did I include any real instructions (besides a list of the controls). Oops! The next version will have instructions built-in.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-8990441024581145300?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/8990441024581145300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=8990441024581145300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8990441024581145300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8990441024581145300'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/posted-instructions-hints-pdf-which.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-4042925675809702870</id><published>2009-01-19T18:22:00.001-08:00</published><updated>2009-01-19T18:24:00.113-08:00</updated><title type='text'></title><content type='html'>NOTE: If you reach 50,000 points or more, Space Prisoner will give you a special code at the end of your game! Email this code, your score, and your desired name to tspreen@gmail.com and I will post your high score on the project blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-4042925675809702870?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/4042925675809702870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=4042925675809702870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4042925675809702870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4042925675809702870'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/note-if-you-reach-50000-points-or-more.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-7758227652048879302</id><published>2009-01-18T14:27:00.000-08:00</published><updated>2009-01-18T14:30:58.839-08:00</updated><title type='text'></title><content type='html'>Version 1.2 released. Major memory leak plugged. It should be OK now.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, so clearly I should have done some more thorough playtesting!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apologies to all who suffered through the indignity of having bizzare and/or hanging displays when they downloaded version 1.0 or 1.1 and tried to start a game. I forgot an important rule: OpenGL requires that the width and height of all textures be a power of 2 (128, 256 etc)... I had one large one which didn't meet this requirement. This caused an OpenGL memory leak. My fresh, RAM-heavy machine handled it no problem... but other machines didn't.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Great start to the public version, don't you think? :-/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-7758227652048879302?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/7758227652048879302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=7758227652048879302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7758227652048879302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7758227652048879302'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/version-1_18.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1084268491478879615</id><published>2009-01-18T09:55:00.000-08:00</published><updated>2009-01-18T10:06:10.021-08:00</updated><title type='text'></title><content type='html'>Version 1.1 released. Here are the changes from 1.0:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Several old, unused resources have been removed, so the overall file size is much smaller now.&lt;/div&gt;&lt;div&gt;2) Fixed some small bugs with the splash screen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately the "swath of color" bug still exists on low-performance machines. Let me know how it works on yours.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1084268491478879615?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1084268491478879615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1084268491478879615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1084268491478879615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1084268491478879615'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/version-1.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-771535097955716823</id><published>2009-01-18T07:18:00.000-08:00</published><updated>2009-01-18T07:23:07.203-08:00</updated><title type='text'></title><content type='html'>CAUTION: Version 1.0 has a rather obvious display bug on my 2002-model 1GHz Powerbook.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The right hand side of the screen, rather than showing the nice information console, is instead flooded with various shades of green, blue and red.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, everything works fine on my 2.6 GHz Intel Macbook Pro. Let me know if you have this display problem on your machine.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-771535097955716823?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/771535097955716823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=771535097955716823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/771535097955716823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/771535097955716823'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/caution-version-1.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-8287360299808701274</id><published>2009-01-17T22:55:00.000-08:00</published><updated>2009-01-17T22:56:08.677-08:00</updated><title type='text'></title><content type='html'>Posted version 1.0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-8287360299808701274?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/8287360299808701274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=8287360299808701274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8287360299808701274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8287360299808701274'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/posted-version-1.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-7906745679741392030</id><published>2009-01-17T20:41:00.000-08:00</published><updated>2009-01-17T20:45:40.450-08:00</updated><title type='text'></title><content type='html'>Updated the blog in preparation for public release of the game.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Several small changes and improvements have also been made to the game. Stationary wall turrets now attempt to prevent you from completing your rescue mission, and new enemy Sentinel ships show up at the later levels.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As well, there are now special levels: Wall Gun levels and Money levels.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-7906745679741392030?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/7906745679741392030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=7906745679741392030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7906745679741392030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7906745679741392030'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2009/01/updated-blog-in-preparation-for-public.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5835786425928576220</id><published>2008-12-20T00:17:00.000-08:00</published><updated>2008-12-20T00:21:01.855-08:00</updated><title type='text'></title><content type='html'>The CSC 490 course was completed in August 2008. (My mark was A+).&lt;div&gt;I'm continuing work (slowly) on Space Prisoner, with the intention of eventually releasing it as shareware.&lt;/div&gt;&lt;div&gt;Stay tuned for further details.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Tom&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5835786425928576220?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5835786425928576220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5835786425928576220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5835786425928576220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5835786425928576220'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/12/csc-490-course-was-completed-in-august.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-6440062979208396735</id><published>2008-08-04T10:24:00.000-07:00</published><updated>2008-08-04T10:27:50.310-07:00</updated><title type='text'></title><content type='html'>Other changes for v0.33:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- minor adjustments to splash screen / info box to ensure consistent look on all test machines&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- small tweaks to joystick inputs&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- settled on an object array size of 550 objects (largest simultaneous # of objects observed in several hours of playtesting was 499, using the priority array index selection scheme)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-6440062979208396735?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/6440062979208396735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=6440062979208396735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6440062979208396735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6440062979208396735'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/08/other-changes-for-v0.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2248066710197680311</id><published>2008-08-03T15:11:00.001-07:00</published><updated>2008-08-03T15:16:33.744-07:00</updated><title type='text'></title><content type='html'>Changes from v0.32 to v0.33:&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- joystick support (tested with Logitech Attack3 Joystick)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- gamepad support (tested with Logitech GamePad)&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- wall collision test tweaked for better realism&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- asteroids now cause more damage when colliding with ships&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- "ships remaining" display now doesn't count the one you are currently playing with (makes it more of a "reserve ships" display)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- other small tweaks and bug fixes&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Changes from v0.31 to v032:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- computer ships now only fire when they have a decent chance to hit their target&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- splash screen updated to show points req'd for extra ship&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2248066710197680311?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2248066710197680311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2248066710197680311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2248066710197680311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2248066710197680311'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/08/changes-from-v0.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5228690421227453654</id><published>2008-07-26T19:41:00.001-07:00</published><updated>2008-07-26T19:42:48.933-07:00</updated><title type='text'></title><content type='html'>Changes from v0.30 to v0.31:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- New ship awarded every 100,000 points&lt;/div&gt;&lt;div&gt;- Tweaked logical sizes of all objects to make collisions more accurate&lt;/div&gt;&lt;div&gt;- Made HealthPack and Enemy Gold Stash powerups larger (easier to grab)&lt;/div&gt;&lt;div&gt;- Prisoners now more skilled at intercepting player ship&lt;/div&gt;&lt;div&gt;- More powerups appear per level&lt;/div&gt;&lt;div&gt;- Some changes to the enemy AI&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5228690421227453654?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5228690421227453654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5228690421227453654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5228690421227453654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5228690421227453654'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/07/changes-from-v0_26.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-8389208770571249787</id><published>2008-07-25T17:49:00.000-07:00</published><updated>2008-07-25T17:53:31.989-07:00</updated><title type='text'></title><content type='html'>Upnumbered the version from 0.20 to 0.30 to reflect the large amount of new content&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are numerous additions and changes in all areas of the game:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- About 20 new sounds added, for a total of approximately 37&lt;/div&gt;&lt;div&gt;- Several new textures added&lt;/div&gt;&lt;div&gt;- Player ship looks like the allied computer ships, but is distinguished by the UVic crest on the wings of the human-powered ship&lt;/div&gt;&lt;div&gt;- Theme music added (toggle with the "M" key)&lt;/div&gt;&lt;div&gt;- New objects: prisoners, enemy gold stashes&lt;/div&gt;&lt;div&gt;- Zoom effect when traveling from one level to the next&lt;/div&gt;&lt;div&gt;- Scoring revamped&lt;/div&gt;&lt;div&gt;- Bonus point algorithm - points depend on the success of your "save the prisoners" mission&lt;/div&gt;&lt;div&gt;- Lots of bug fixes&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-8389208770571249787?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/8389208770571249787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=8389208770571249787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8389208770571249787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8389208770571249787'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/07/upnumbered-version-from-0.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1192674415168364998</id><published>2008-07-24T11:33:00.000-07:00</published><updated>2008-07-24T11:36:23.506-07:00</updated><title type='text'></title><content type='html'>I've done a major update from v0.19 to v0.20.&lt;div&gt;It was a LOT of work but I think the game will be a lot more fun because of it.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The storyline has been completely revamped - instead of simply killing the enemy ships to complete a level, you have to rescue allied prisoners who are encased in the asteroids. The cube is a huge space prison, and your job is an ongoing rescue mission.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll have a more detailed update soon, as well as some new screenshots.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1192674415168364998?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1192674415168364998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1192674415168364998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1192674415168364998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1192674415168364998'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/07/ive-done-major-update-from-v0.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-262824680558279890</id><published>2008-07-15T13:19:00.000-07:00</published><updated>2008-07-15T13:23:01.384-07:00</updated><title type='text'></title><content type='html'>Changes from v0.18 to v0.19:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Texture-mapped skins for player and allied ships&lt;/div&gt;&lt;div&gt;- Enemy ships are bigger (makes them easier to hit)&lt;/div&gt;&lt;div&gt;- Increased arena size; new arena has more than twice the cubic footage&lt;/div&gt;&lt;div&gt;- Energy cube increases your energy more than twice as much&lt;/div&gt;&lt;div&gt;- Color of enemy shots is now orange&lt;/div&gt;&lt;div&gt;- Allied lasers now have a different sound&lt;/div&gt;&lt;div&gt;- Increased number of powerups per level&lt;/div&gt;&lt;div&gt;- Fixed bug with preferences file possibly causing a crash&lt;/div&gt;&lt;div&gt;- Fixed bug where some sounds might get prematurely chopped&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-262824680558279890?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/262824680558279890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=262824680558279890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/262824680558279890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/262824680558279890'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/07/changes-from-v0.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-3040965848770557958</id><published>2008-07-11T17:05:00.001-07:00</published><updated>2008-07-11T17:10:03.153-07:00</updated><title type='text'></title><content type='html'>Version 0.18 Additions / Improvements:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Sent this version to eight playtesters.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Two new powerups added, as well as a revamped splash screen.&lt;/div&gt;&lt;div&gt;- Energy Cube powerup: hatches from small gold asteroids. Adds to player's health (Or to an enemy's health if they grab it first). Can be shot, or destroyed in a collision.&lt;/div&gt;&lt;div&gt;- Gravity Well powerup: hatches from small gold asteroids, immediately falls straight to the -z wall. Upon impact with the wall it explodes and creates a temporary gravity field towards the -z wall. While plummeting to the floor, the Gravity Well is fatal to anything that touches it. But it can be shot, for big points.&lt;/div&gt;&lt;div&gt;- The Allied Ships are now a yellow color.&lt;/div&gt;&lt;div&gt;- The holodeck is now green and has a CR logo on the walls.&lt;/div&gt;&lt;div&gt;- Lots of files added. There are now approximately 12 .c files, all with accompanying .h files.&lt;/div&gt;&lt;div&gt;- Lots of new sounds added. They are all public domain sounds culled from the Internet.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-3040965848770557958?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/3040965848770557958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=3040965848770557958' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3040965848770557958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3040965848770557958'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/07/version-0.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5659662943180422337</id><published>2008-06-30T12:24:00.000-07:00</published><updated>2008-06-30T12:34:27.360-07:00</updated><title type='text'></title><content type='html'>Version 0.15 additions:&lt;div&gt;- new improved targeting reticle which shows up under any view (1st person, chaseCam, cornerCam etc.)&lt;/div&gt;&lt;div&gt;- targeting reticle now adjusts to ship's momentum, thus providing an accurate estimate of where your shot will go. Coding this involves taking the ship's orientation quaternion and projecting a fictional, instantaneous shot approximately 25 ship lengths in front of the player (at least that's how I chose to do it)&lt;/div&gt;&lt;div&gt;- shots are now much faster, able to traverse the length of the holodeck in about half a second. This allows for much more accurate, "laser-like" shooting&lt;/div&gt;&lt;div&gt;- you can now adjust the distance of the chaseCam from the player ship&lt;/div&gt;&lt;div&gt;- new Allied ship which hatches from certain small asteroid chunks when the asteroid is shot (these special asteroids have a reddish tint to them)&lt;/div&gt;&lt;div&gt;- the Allied ships look like the player ship, but are red instead of blue. They will actively attempt to hunt down and kill enemy ships in the arena. Quite helpful! But of course they steal points from the player this way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll be in New York City for a week, so the next update will be in 10 days or so.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5659662943180422337?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5659662943180422337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5659662943180422337' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5659662943180422337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5659662943180422337'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/06/version-0.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-4592219226220655187</id><published>2008-06-21T18:50:00.001-07:00</published><updated>2008-06-21T18:57:18.954-07:00</updated><title type='text'></title><content type='html'>&lt;div&gt;- Now that the quaternion problem is solved, I've had time to take a breather and return to some existing elements of the game that needed attention. For instance:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Increased asteroid size by a factor of 4+. This makes them easier to hit, but also tougher to avoid. In general I find that it makes the asteroids more a part of the game when they are bigger.&lt;/div&gt;- New enemy ship graphics (I added enhancements to a free model I downloaded from TurboSquid.com)&lt;div&gt;- New ChaseCam view allows more panoramic view around the ship&lt;/div&gt;&lt;div&gt;- Revised the particle systems routines to make the particles move more realistically&lt;/div&gt;&lt;div&gt;- I found that the less text I render, the better. There was a dramatic speed improvement when I removed the debugging text.&lt;/div&gt;&lt;div&gt;- Created a basic framework for powerups - a few of the smallest asteroids are of a slightly different colour, and will release a random powerup when hit. (Coming soon!)&lt;/div&gt;&lt;div&gt;- More combing of old code and fixing little errors&lt;/div&gt;&lt;div&gt;- Experimented with temporary gravity toward the -z wall (this could be a powerup)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-4592219226220655187?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/4592219226220655187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=4592219226220655187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4592219226220655187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4592219226220655187'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/06/now-that-quaternion-problem-is-solved.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1043887967408664860</id><published>2008-06-17T16:16:00.000-07:00</published><updated>2008-06-17T16:21:02.106-07:00</updated><title type='text'></title><content type='html'>Quaternion by-product work that needed doing:&lt;div&gt;- Enemy ships tracking abilities re-implemented, quaternion-style&lt;div&gt;- Shots re-implemented with quaternions&lt;/div&gt;&lt;div&gt;- Re-worked object struct, getting rid of a lot of unneeded parameters and adding others&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enemies now start off quite weak and non-aggressive, so the early levels are fairly easy&lt;/div&gt;&lt;div&gt;Enemy shields, intelligence and aggressiveness increase with each level&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lots of bug fixes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Did some internal re-naming to make the code more readable&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1043887967408664860?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1043887967408664860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1043887967408664860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1043887967408664860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1043887967408664860'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/06/quaternion-by-product-work-that-needed.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-3586538623670582560</id><published>2008-06-13T18:37:00.000-07:00</published><updated>2008-06-21T19:11:15.783-07:00</updated><title type='text'></title><content type='html'>After much reading, internet googling and experimentation, I've been able to implement quaternions as the basis for ship orientation and movement.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Still lots of work to do though, as many items (such as the shot spawn routine, and enemy analysis of which direction to move for attack) are still Euler-angle based. For now, though, v0.09 is the first version which allows true 3D movement, uninhibited by gimbal lock.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My goal for version 0.10: to have it as fully functional as the last Euler-angle based version, with shots and enemy AI all working normally but using quaternions.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-3586538623670582560?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/3586538623670582560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=3586538623670582560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3586538623670582560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3586538623670582560'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/06/breakthrough-after-much-research-and.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2729050726748135042</id><published>2008-06-04T23:58:00.001-07:00</published><updated>2008-06-05T00:08:07.723-07:00</updated><title type='text'></title><content type='html'>All ships (including the player) now have regenerative capability. Energy levels slowly restore over time; the rate of recovery is proportional to the amount of energy available.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The next major obstacle is overcoming gimbal lock; it's too obvious a problem to be ignored.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The only viable solution is conversion of the 3D orientation algorithms from Euler Angles to Quaternions, an extension of the complex numbers first studied by Hamilton in the 19th century. They were thought to be of very limited value until more recently, when their functionality as a 3D orientation system was discovered. They avoid the problem of gimbal lock completely but the tradeoff is their nonintuitive nature; it's difficult to immediately sense a direction from a given Quaternion, the way one can with Euler Angles.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2729050726748135042?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2729050726748135042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2729050726748135042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2729050726748135042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2729050726748135042'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/06/all-ships-including-player-now-have.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2869139772298686413</id><published>2008-05-28T11:35:00.000-07:00</published><updated>2008-05-28T11:38:50.766-07:00</updated><title type='text'></title><content type='html'>Upgraded text display - I use a bitmap font now instead of OpenGL's stroke font&lt;div&gt;Revised data display - horizontal energy bar, layout updated&lt;/div&gt;&lt;div&gt;Crosshairs when viewing from player ship, improves aim noticeably&lt;/div&gt;&lt;div&gt;"Laser" style shots now instead of sphere shots&lt;/div&gt;&lt;div&gt;High score is now saved to disk in user's preferences folder&lt;/div&gt;&lt;div&gt;Many small improvements to data structures&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2869139772298686413?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2869139772298686413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2869139772298686413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2869139772298686413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2869139772298686413'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/upgraded-text-display-i-use-bitmap-font.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-7809393539045299231</id><published>2008-05-15T10:54:00.000-07:00</published><updated>2008-05-21T08:12:20.630-07:00</updated><title type='text'></title><content type='html'>Added rudimentary artificial intelligence to the enemy ships; they are now "aware" of the player ship, and will actively attempt to shoot the player down.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A minor problem that I had to solve was: how to take the delta vector between the enemy ship and the player ship, and translate that into a target body attitude for the enemy ship. This was solved by a quick trip to Mathematica, and their excellent page on spherical coordinates. The conversion is as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;theta (swivel) angle = arctan(dy/dx)&lt;/div&gt;&lt;div&gt;phi (tilt) angle = arccos(dz)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;where dx, dy and dz are the attributes of a vector d describing the distance and direction from the enemy ship to the player ship. This vector must first be normalized.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-7809393539045299231?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/7809393539045299231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=7809393539045299231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7809393539045299231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7809393539045299231'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/added-rudimentary-artificial.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-7880488358006576731</id><published>2008-05-13T18:14:00.000-07:00</published><updated>2008-05-16T12:39:17.244-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Image from Wikipedia.'/><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_l8DrkYL6dx0/SCo92rCXQjI/AAAAAAAAACQ/eSvWvQoRFUk/s1600-h/Picture+1.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_l8DrkYL6dx0/SCo92rCXQjI/AAAAAAAAACQ/eSvWvQoRFUk/s320/Picture+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5200036729227526706" /&gt;&lt;/a&gt;&lt;br /&gt;As I knew would happen eventually, I've run into the well-known 3d spatial orientation problem of Gimbal Lock. When the player's ship is at extremely high (or low) angles of attack, that is, the z-angle is at or near +90 or -90 degrees, the normal left-right swiveling movement of the spaceship becomes indistinguishable from movement about the y axis (in this case, roll).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's not a huge problem, because the player can either tilt further (through the deficient z-angles) or back the tilt off into a more usable range. Initially, though, it can be confusing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If I really want to solve the problem (and I should, since in the heat of a game you don't want unexpected reaction to your keyboard commands), I may have to use Quaternions instead of Euler Angles to describe the player's orientation in 3D space.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-7880488358006576731?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/7880488358006576731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=7880488358006576731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7880488358006576731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/7880488358006576731'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/as-i-knew-i-would-eventually-ive-run.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_l8DrkYL6dx0/SCo92rCXQjI/AAAAAAAAACQ/eSvWvQoRFUk/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-369474119279181342</id><published>2008-05-13T12:54:00.000-07:00</published><updated>2008-05-13T12:59:59.189-07:00</updated><title type='text'></title><content type='html'>Items added:&lt;div&gt;- Energy bar showing player energy&lt;/div&gt;&lt;div&gt;- Levels: a level ends when all of the enemy ships are destroyed. When the new level starts, new enemies (and asteroids) spawn.&lt;/div&gt;&lt;div&gt;- Lives: the player is no longer invincible, and has a limited number of lives (3 for now).&lt;/div&gt;&lt;div&gt;- Action screen display: informs player of important state changes (eg: "Level 1", "Level Complete", "Ship Destroyed", "Game Over"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The project is now an actual game, with a start and finish.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The graphics are all still extremely basic for now; essentially they are placeholders until I finish working on gameplay basics and start concentrating on the "look" of the game. This won't be for a while yet as there are still many basic elements in need of attention, such as enemy AI, screen information, level loading parameters etc.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-369474119279181342?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/369474119279181342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=369474119279181342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/369474119279181342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/369474119279181342'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/items-added-energy-bar-showing-player.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2464409972190454730</id><published>2008-05-08T21:24:00.000-07:00</published><updated>2008-05-08T21:37:38.406-07:00</updated><title type='text'></title><content type='html'>&lt;div&gt;Added flexibility to the arena structure; it can now be any rectangle (not just a cube).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reorganized the code files. The current list is now as follows:&lt;/div&gt;&lt;div&gt;asteroid.h, asteroid.c&lt;/div&gt;&lt;div&gt;glm.h, glm.c&lt;/div&gt;&lt;div&gt;globals.h, globals.c&lt;/div&gt;&lt;div&gt;holodeck.h, holodeck.c&lt;/div&gt;&lt;div&gt;objectInits.h, objectInits.c&lt;/div&gt;&lt;div&gt;simpleShip.h, simpleShip.c&lt;/div&gt;&lt;div&gt;sounds.h, sounds.c&lt;/div&gt;&lt;div&gt;splash.h, splash.c&lt;/div&gt;&lt;div&gt;main.c&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Changed the keyboard input routines: an array of bytes now represents the on/off state of each key. A key down event turns the key's byte on, and a key up turns it off. This allows much smoother, faster and more fluid player inputs without relying on the key repeat feature of the hardware.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Added a very skeletal "Splash Screen" state in which the program is running, but there is no game playing. This screen will allow conveyance of such information high scores, settings, and info on how to play.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Added a basic scoring scheme; found and fixed some bugs and issues dealing with such questions as: if a ship gets blown up by a shot, how do we track which object actually *fired* the shot? That is, who gets credit for the kill?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2464409972190454730?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2464409972190454730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2464409972190454730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2464409972190454730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2464409972190454730'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/changed-keyboard-input-routines-array.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-2830275268251980439</id><published>2008-05-08T15:53:00.000-07:00</published><updated>2008-05-08T15:58:28.837-07:00</updated><title type='text'></title><content type='html'>Finally got the movement and shot-firing directional vectors working properly.&lt;div&gt;The ship's orientation is represented by two angles, which I call "tilt" and "swivel". Extracting a cartesian vector from these 3D spherical coordinates (i.e. a radius and two angles) is as follows:&lt;div&gt;x = cos(swivel) * sin(tilt)&lt;/div&gt;&lt;div&gt;y = sin(swivel) * sin(tilt)&lt;/div&gt;&lt;div&gt;z = cos(tilt)&lt;/div&gt;&lt;div&gt;Then, the radius r is simply the magnitude of the vector; that is, how fast the object is going.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-2830275268251980439?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/2830275268251980439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=2830275268251980439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2830275268251980439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/2830275268251980439'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/finally-got-movement-and-shot-firing.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-6150439950214779038</id><published>2008-05-06T11:52:00.000-07:00</published><updated>2008-05-06T11:58:59.726-07:00</updated><title type='text'></title><content type='html'>Many more additions to the basic structure this weekend:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;- Sounds are now implemented using OpenAL and .wav files. I've got various shot and explosion sound effects as well as a background theme that a friend wrote some years ago.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- The computer ships now have the ability to fire shots. They are still "dumb", mostly just thrusting around randomly, but I want to make sure all of the ship functionality works perfectly before concentrating too hard on AI.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Added an external spectator view option, and found (after looking at the player ship from an external viewpoint) some bugs with my orientation routines. I've managed to largely fix the bugs after some hours of frustration.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-6150439950214779038?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/6150439950214779038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=6150439950214779038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6150439950214779038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6150439950214779038'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/many-more-additions-to-basic-structure.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-6617542458755744547</id><published>2008-05-03T17:47:00.000-07:00</published><updated>2008-05-03T17:59:04.063-07:00</updated><title type='text'></title><content type='html'>- A major internal change (and surprisingly difficult to make happen), is that the user's ship, instead of being a unique, specialized (and therefore wasteful) data construct, is now identical to all of the computer controlled ships. Instead of computer-generated inputs to direction and thrust, however, the player directly manipulates the controls. But the ship itself is identical to the others. This ensures that the player's ship and the computer ships are subject to the exact same physics laws, and it also automatically makes the player ship vulnerable to pulverization by shots, asteroids and other ships, without a lot of extra code.&lt;br /&gt;- An added nice side effect to the above change is that it's now trivial to change the camera view to show the viewpoint of any object in the game.&lt;br /&gt;&lt;br /&gt;- There are now 3 different kinds of asteroids: small, medium and large size. The large and medium ones take damage when hit, and eventually crack apart into smaller asteroids.&lt;br /&gt;&lt;br /&gt;- The asteroids "tumble" through space now instead of drifting without any rotation.&lt;br /&gt;&lt;br /&gt;- Added more performance diagnostic text to the text bar. A "maxObj" display shows the maximum number of active objects seen during the game. This will help me to determine an optimal size for the object array.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-6617542458755744547?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/6617542458755744547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=6617542458755744547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6617542458755744547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/6617542458755744547'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/05/major-internal-change-and-surprisingly.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1181166399959480855</id><published>2008-04-30T15:32:00.000-07:00</published><updated>2008-04-30T15:36:15.028-07:00</updated><title type='text'></title><content type='html'>Turned CubeRoids into a full-on Apple XCode 3.0 project, rather than just using XCode as a code editor and building the executable from the command line.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The end result really isn't much different (the performance is identical), but the target executable is now a standard Macintosh application instead of a command-line executable, and XCode's structured view of the various code files will allow much improved organization.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1181166399959480855?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1181166399959480855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1181166399959480855' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1181166399959480855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1181166399959480855'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/turned-cuberoids-into-full-on-apple.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-57803322421678652</id><published>2008-04-29T19:27:00.001-07:00</published><updated>2008-04-29T19:35:30.524-07:00</updated><title type='text'></title><content type='html'>Added lots of internal structure this weekend:&lt;div&gt;&lt;br /&gt;&lt;div&gt;- Now that the text info box is running, I've added a frames per second (fps) counter to monitor performance. At the moment I'm getting between 90 and 300 fps, depending on how many active objects (ships, explosion debris etc.) are active.&lt;br /&gt;&lt;div&gt;- The "thinking" and movement routines, now that they are fully separated from the drawing routines, have been throttled to 30 cycles per second. This means that the game plays at a constant speed, regardless of frame rate, and provides compatibility for slower machines and possible future networked play.&lt;br /&gt;&lt;div&gt;- All collision checking is now handled by one routine.&lt;/div&gt;&lt;div&gt;- Collisions are sent to a Collision Dispatch function which allocates damage and performs physics deflections, depending on which objects are involved.&lt;/div&gt;&lt;div&gt;- Asteroids now take damage, and blow up when struck by a ship.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The code blocks are starting to get quite large, so I will probably have to break them up into more files soon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-57803322421678652?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/57803322421678652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=57803322421678652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/57803322421678652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/57803322421678652'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/added-lots-of-internal-structure-this.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5426315267006528020</id><published>2008-04-26T09:08:00.000-07:00</published><updated>2008-04-26T09:11:56.068-07:00</updated><title type='text'></title><content type='html'>Added text. After poring through the Red Book and researching text display options online, I decided to start out with the easiest solution, which is the included GLUT utility, glutStrokeCharacter.&lt;br /&gt;&lt;br /&gt;I moved the main action window to the left of the screen, and created a 2D, orthoganal projection text info strip on the right side. The text characters came out extremely large, so currently I am scaling them to make them fit. Later I'll play with the viewport dimensions to try to minimize the scaling operations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5426315267006528020?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5426315267006528020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5426315267006528020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5426315267006528020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5426315267006528020'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/added-text.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1073458981023586327</id><published>2008-04-25T15:23:00.001-07:00</published><updated>2008-04-25T15:26:53.330-07:00</updated><title type='text'></title><content type='html'>1) Carefully extricated all of the pure drawing code from each object type; each type now has its own pure draw routine allowing for more clarity and ease of adjustment.&lt;div&gt;2) Refined the drawing code, removing a fair number of unneccessary calls.&lt;/div&gt;&lt;div&gt;3) Adjusted the lighting model, removing unneeded code and refining the "look" of the lighting.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1073458981023586327?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1073458981023586327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1073458981023586327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1073458981023586327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1073458981023586327'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/1-carefully-extricated-all-of-pure.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-4319324863328705443</id><published>2008-04-24T16:12:00.001-07:00</published><updated>2008-04-24T16:16:06.894-07:00</updated><title type='text'></title><content type='html'>1) Began the process of converting the user from a simple cameraman to a ship:&lt;div&gt;The forward/back keys now control a thrust component instead of arbitrarily changing the position of the camera. Thrust is applied in the direction of the camera view.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Removed the pseudogravity which caused shards from exploding ships to "fall" to the "ground". The game will be based in zero-g, so all particles should react accordingly. Therefore there exists no real "floor" or "ceiling" to the cube arena, but the walls may be distinctly textured to help with orientation while playing.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-4319324863328705443?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/4319324863328705443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=4319324863328705443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4319324863328705443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/4319324863328705443'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/1-began-process-of-converting-user-from.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5223289600021492143</id><published>2008-04-24T14:36:00.000-07:00</published><updated>2008-04-24T14:37:54.501-07:00</updated><title type='text'></title><content type='html'>Revised and updated the blog content.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5223289600021492143?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5223289600021492143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5223289600021492143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5223289600021492143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5223289600021492143'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/revised-and-updated-blog-content.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-5201358474702592187</id><published>2008-04-23T14:50:00.000-07:00</published><updated>2008-04-23T14:53:30.309-07:00</updated><title type='text'></title><content type='html'>Revamped data structures to improve expandability and portability. Essentially I changed the objects array to an array of pointers instead of an array of static code.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This allows easier access to the array from various different code files, but has the unfortunate side effect of slowing things down a bit. My plan for tomorrow is to fine-tune it and carefully examine the code and see if I created a slowdown in the process of converting the data types.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-5201358474702592187?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/5201358474702592187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=5201358474702592187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5201358474702592187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/5201358474702592187'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/revamped-data-structures-to-improve.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-8533787590863879026</id><published>2008-04-21T11:56:00.001-07:00</published><updated>2008-04-21T11:57:25.702-07:00</updated><title type='text'></title><content type='html'>Added fullscreen mode and automatic 1024 x 768 resolution switching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-8533787590863879026?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/8533787590863879026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=8533787590863879026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8533787590863879026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/8533787590863879026'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/added-fullscreen-mode-and-automatic.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-3587509867076409292</id><published>2008-04-16T07:45:00.000-07:00</published><updated>2008-04-21T13:00:56.239-07:00</updated><title type='text'></title><content type='html'>• Broke up the main.c code into smaller, more manageable chunks. List of code files so far:&lt;div&gt;cubeMain.c&lt;div&gt;&lt;div&gt;globals.h&lt;/div&gt;&lt;div&gt;holodeck.c, holodeck.h&lt;/div&gt;&lt;div&gt;simpleShip.c, simpleShip.h&lt;/div&gt;&lt;div&gt;glm.c, glm.h (&lt;a href="http://www.xmission.com/~nate/opengl.html"&gt;Nate Robbins&lt;/a&gt;' code)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;• Added option to display cube as a wireframe grid (using GL_LINE_LOOP)&lt;/div&gt;&lt;div&gt;• Tinkered with size of objects array. Currently set at 3000 which runs great on my MacBook Pro.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-3587509867076409292?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/3587509867076409292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=3587509867076409292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3587509867076409292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/3587509867076409292'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/broke-up-code-into-smaller-more.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6094332.post-1111959736220206248</id><published>2008-04-15T09:45:00.000-07:00</published><updated>2008-04-16T13:13:01.234-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Initialization of the Blog'/><title type='text'></title><content type='html'>Created this blog. Its purpose is to provide easy reference to the latest state of the CubeRoids project. Updates to this blog will be at least weekly, but I hope to update it more frequently than that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6094332-1111959736220206248?l=spreenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spreenblog.blogspot.com/feeds/1111959736220206248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6094332&amp;postID=1111959736220206248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1111959736220206248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6094332/posts/default/1111959736220206248'/><link rel='alternate' type='text/html' href='http://spreenblog.blogspot.com/2008/04/testing-testing.html' title=''/><author><name>Tom Spreen</name><uri>http://www.blogger.com/profile/12568109219022464551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp3.blogger.com/_l8DrkYL6dx0/SAYQZQ0mBwI/AAAAAAAAAAY/fNKN1xO0uc8/S220/IMG_0474.JPG'/></author><thr:total>0</thr:total></entry></feed>
