<?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-2306810918010750830</id><updated>2011-04-21T13:05:19.198-07:00</updated><title type='text'>togoGame Dev</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-877677333365234798</id><published>2008-11-29T17:31:00.000-08:00</published><updated>2008-12-02T19:51:56.450-08:00</updated><title type='text'></title><content type='html'>&lt;span style=";font-family:courier new;font-size:100%;"  &gt;Been working on a new concept:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;center&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=titleScr01a.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/titleScr01a.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/center&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;br /&gt;Here's a quick description of the theme:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;"It's hard to be a dad--especially when your no-good family has driven you into the depths of alcoholic rage!  Use your brawn and wit to remind your wife and child who's boss around the house, and with a few well-placed back-hands, some broken furniture, and a little luck, you might just be able to bring this house in order--and regain a little dignity in the process!"&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;The real point of this is to make a small game using Box2d for the physics and O2d for the graphics.  Both are fast and great bits of software, as far as I'm concerned.&lt;br /&gt;&lt;br /&gt;The player would look something like this:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=DD.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/DD.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/center&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=DD2.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/DD2.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;Here you can see that Box2d is up and running.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=DD3.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/DD3.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Even added a 'wife':&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=DD4.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/DD4.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's an example weapon:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=DD5.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/DD5.jpg" border="0" alt="Photobucket" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/center&gt;&lt;/span&gt;&lt;img src="file:///F:/DOCUME%7E1/Zorbicon/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-877677333365234798?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/877677333365234798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=877677333365234798' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/877677333365234798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/877677333365234798'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2008/11/been-working-on-new-concept-heres-quick.html' title=''/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-4822622799048296569</id><published>2008-02-22T20:56:00.000-08:00</published><updated>2008-02-23T12:46:18.423-08:00</updated><title type='text'>the protoDbMgr is almost here...</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=diagram1.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/diagram1.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;br /&gt;&lt;br /&gt;The 'protoDbMgr', the latest concoction, is capable of saving the basic attributes of Sprite instances via a combination of a shelf for storing complex data conveniently and a buzhug database for sorting data in large populations.  The buzhug db, however is limited as far as to what types of data can be stored.&lt;br /&gt;&lt;br /&gt;To 'convert' the Sprite instance into a format that can be inserted into the database, the shadowSprite class copies all the attributes of interest from a Sprite.  The dbMgr can then take those formatted attributes and insert them into the database.  Similarly, records can be read by shadowSprites and then the data may be initialized into a new Sprite (or other class) instance.&lt;br /&gt;&lt;br /&gt;The shelf is responsible at this point for retaining the id numbers of the objects as the value to the game_id key of the object.  The databases can be nested, so it is important to have a global dict of the ids of the objects (though this is not fully implemented yet).&lt;br /&gt;&lt;br /&gt;So far, the protoDbMgr is capable of:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;creating unique databases, referenced by a name (and path)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;adding, updating, sorting, and deleting of records&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;storing and retrieving groups of Sprites (can filter arbitrarily)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:lucida grande;"&gt;Eventually, the dbMgr will hopefully be able to store and load complex Sprites, with attached children, etc.  This is why each db has its own directory but there is only one rec_ids dict.  That way, all the objects can be accounted for and accessed easily, but at the same time be nested using record fields that reference other dbs.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-4822622799048296569?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/4822622799048296569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=4822622799048296569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/4822622799048296569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/4822622799048296569'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2008/02/protodbmgr-is-almost-here.html' title='the protoDbMgr is almost here...'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-5131553358053542733</id><published>2008-02-15T21:17:00.000-08:00</published><updated>2008-02-15T21:22:36.896-08:00</updated><title type='text'>Ahhh, well that's nice...</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=bleps.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/bleps.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;Thanks to shang, the intrepid brains behind Opioid2D, the halos around alpha pixels are now gone.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;The current flaming ring to jump through is the finalization of the base objects and map structure, with an emphasis on data persistence and ease of to-and-fro between memory and disk.  Not very exciting, but very important.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-5131553358053542733?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/5131553358053542733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=5131553358053542733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/5131553358053542733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/5131553358053542733'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2008/02/ahhh-well-thats-nice.html' title='Ahhh, well that&apos;s nice...'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-1364353292799901215</id><published>2008-02-03T19:47:00.001-08:00</published><updated>2008-02-04T00:55:15.313-08:00</updated><title type='text'>May We All Have a Valentine...</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=winshot1.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/winshot1.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Things that have changed since the last post:&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: lucida grande;"&gt;&lt;li&gt;Migrating to double the resolution for objects and ents (note face and gun)&lt;/li&gt;&lt;li&gt;Implemented basic map traversal functionality&lt;/li&gt;&lt;li&gt;Added 30+ real-world weapons (will increase substantially)&lt;/li&gt;&lt;li&gt;Started implementation of entity attributes, skills and stats&lt;/li&gt;&lt;li&gt;Some basic animations added&lt;/li&gt;&lt;li&gt;Console improved and code cleaned-up (slightly)&lt;/li&gt;&lt;li&gt;Began implementation of mini-gui (test-phase)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:lucida grande;"&gt;The code can be downloaded &lt;/span&gt;&lt;a style="font-family: lucida grande;" href="http://www.geocities.com/waynecutlet/togO2D.zip"&gt;here&lt;/a&gt;&lt;span style="font-family:lucida grande;"&gt;.  Note: you must have &lt;a href="http://www.python.org/"&gt;python&lt;/a&gt;, &lt;a href="http://www.pygame.org/"&gt;pygame&lt;/a&gt;, and &lt;a href="http://opioid-interactive.com/opioid2d/"&gt;Opioid2D&lt;/a&gt; &lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;to use this.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Run main.py to start.  The keys are as follows by state:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;NormMode:&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: lucida grande;"&gt;&lt;li&gt;W,A,S,D - move/face the current map obj&lt;/li&gt;&lt;li&gt;Numpad 1-9 - move camera&lt;/li&gt;&lt;li&gt;Numpad 5 - center camera on current obj&lt;/li&gt;&lt;li&gt;Mouse Buttons - set to test some actions&lt;/li&gt;&lt;li&gt;F1 - Toggle ConsoleMode&lt;/li&gt;&lt;li&gt;1-8 - different weapons by category&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:lucida grande;"&gt;ConsoleMode:&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: lucida grande;"&gt;&lt;li&gt;most regular keys - write to console&lt;/li&gt;&lt;li&gt;Enter - activate console command&lt;/li&gt;&lt;li&gt;Enter (blank) - last console command&lt;/li&gt;&lt;li&gt;tab - clear console text&lt;/li&gt;&lt;li&gt;Numpad 1-9 - move camera&lt;/li&gt;&lt;li&gt;Numpad 5 - center camera on current obj&lt;/li&gt;&lt;li&gt;mousewheel - scale camera&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:lucida grande;"&gt;Escape exits the program at all times.  The console executes from the scene's scope and 'ent' is a shortcut to the map.obj, 'map', and 'cam' for the camera.&lt;br /&gt;&lt;br /&gt;The talking functionality has a few interesting features.  Try 'ent.talk_string('your own text') and the mouth of the ent will open for each vowel in a word, with pauses in between.  Eventually I'd like to combine this with speech for basic communication.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=head1n.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/head1n.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=head1.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/head1.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=head1.png" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Also, weapons have been added, although they are simple, non-animated, and based on photographs.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smbp_famas.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smbp_famas.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smrev_python.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smrev_python.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smpre_svd.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smpre_svd.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smrf_ak47su.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smrf_ak47su.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smrf_m4.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smrf_m4.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smsmg_mp5.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smsmg_mp5.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/span&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smsemi_glock.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smsemi_glock.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smshot_com870.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smshot_com870.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=smgren_m105.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/smgren_m105.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;In an ent's hands, they don't look so bad, especially considering how 'detailed' the ent is.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=testman.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/testman.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-1364353292799901215?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/1364353292799901215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=1364353292799901215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/1364353292799901215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/1364353292799901215'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2008/02/may-we-all-have-valentine.html' title='May We All Have a Valentine...'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-4113095900499851756</id><published>2008-01-03T19:43:00.000-08:00</published><updated>2008-01-03T21:23:56.178-08:00</updated><title type='text'>EFX + Console</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnsht-6.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnsht-6.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Here is the console triggering an effect, which is signified by a type ('fart'), which leads to a class (fartEffect) that is then bound to the object until the termination of the effect.  Later, these effects will be incorporated into more complicated actions, such as dying.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;In the case of the little camp fire next to the highly detailed man, it is a special mapObj class that has its own functions to trigger the effects.  The fire can be lit using campfire.light() and then put out with campfire.snuff().  Furthermore, the img of the logs changes, so the embers glow when lit, and are dark when not.&lt;br /&gt;&lt;br /&gt;All I need to do now is add a coat-hanger you can bend straight, add an inventory, and fill it with marshmallows...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-4113095900499851756?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/4113095900499851756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=4113095900499851756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/4113095900499851756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/4113095900499851756'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2008/01/efx-console.html' title='EFX + Console'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-3169947195315049114</id><published>2008-01-02T16:12:00.000-08:00</published><updated>2008-01-02T17:39:28.138-08:00</updated><title type='text'>Early EFX implementation (custom class)</title><content type='html'>&lt;span style="font-family:lucida grande;"&gt;I implemented an effects class that utilizes Sprites as its basis.  This allows for the efx to be attached_to(objs), thus allowing for the  efx to be layered appropriately within the map structure:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnshtBub.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnshtBub.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Here is an example of a 'drunk' state, with booze bubbles (or whatever).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnshtBlood.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnshtBlood.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;This effect hopes to indicate when an ent takes damage (from bullets).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnshtFire.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnshtFire.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;And finally, this is a (lame) burning effect (need to add the smoke!).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnshtfart.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnshtfart.jpg" border="0" alt="Photobucket" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PS:  ...hey, this isn't smoke!!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-3169947195315049114?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/3169947195315049114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=3169947195315049114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/3169947195315049114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/3169947195315049114'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2008/01/early-efx-implementation-custom-class.html' title='Early EFX implementation (custom class)'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-3780196077007981429</id><published>2007-12-30T19:34:00.000-08:00</published><updated>2007-12-30T19:51:24.255-08:00</updated><title type='text'>Combined Test (menu &amp; map)</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnsht-5.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnsht-5.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;The map, gui, and text elements have their own layers, which are ordered accordingly.  The console has also been implemented, trapping input using state-specific event handling and executing from the Scene's scope.&lt;br /&gt;&lt;br /&gt;Unfortunately, the gui adds overhead that makes it too costly to order the tiles using layers, so the ordering glitch is back.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-3780196077007981429?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/3780196077007981429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=3780196077007981429' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/3780196077007981429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/3780196077007981429'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/combined-test-menu-map.html' title='Combined Test (menu &amp; map)'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-1376101493078778710</id><published>2007-12-28T20:43:00.000-08:00</published><updated>2007-12-28T21:54:50.649-08:00</updated><title type='text'>early GUI implementation</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnsht-4.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnsht-4.jpg" border="0" alt="Photobucket" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-1376101493078778710?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/1376101493078778710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=1376101493078778710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/1376101493078778710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/1376101493078778710'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/early-gui-implementation.html' title='early GUI implementation'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-2201562151039405849</id><published>2007-12-25T23:04:00.001-08:00</published><updated>2007-12-25T23:04:39.530-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnsht-2.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnsht-2.jpg" border="0" alt="Photobucket" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-2201562151039405849?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/2201562151039405849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=2201562151039405849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/2201562151039405849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/2201562151039405849'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/photobucket.html' title=''/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-305167180871372779</id><published>2007-12-25T20:26:00.000-08:00</published><updated>2008-01-02T17:47:24.072-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scr100z.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scr100z.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Here is a 100% view of the map using the layer-per-tile scheme, and is consequentially running quite slow.  The tiles are, however, ordered correctly so this is still a good prototype.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;The tiles and objects are initialized using images as maps that are then converted using a 'filter' (or dict) that generates an object from the data in the image by translating the color at a particular location (x,y) on the bitmap into a corresponding object on the map.  For example:&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-family: lucida grande;"&gt;&lt;table border="0" cellpadding="10" width="100%"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="50%"&gt;&lt;br /&gt;GRASS_TILES = [&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="50%"&gt;&lt;br /&gt;'gfx/tiles/Lgrass1.png',&lt;br /&gt;'gfx/tiles/Lgrass2.png',&lt;br /&gt;'gfx/tiles/Lgrass3.png',&lt;br /&gt;'gfx/tiles/Lgrass4.png'    ]&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table border="0" cellpadding="10" width="100%"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="50%"&gt;&lt;br /&gt;CEMENT_TILES = [&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="50%"&gt;&lt;br /&gt;'gfx/tiles/Lcement1b.png',&lt;br /&gt;'gfx/tiles/Lcement2b.png',&lt;br /&gt;'gfx/tiles/Lcement3b.png',&lt;br /&gt;'gfx/tiles/Lcement4b.png',&lt;br /&gt;'gfx/tiles/Lcement5b.png'    ]&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-family:lucida grande;"&gt;Are our images to be randomized for each tile type.  This can also be a single image in a list: [ 'img' ].  These are then assigned to color values in the bitmap like so:&lt;/span&gt;&lt;blockquote style="font-family: lucida grande;"&gt;&lt;table border="0" cellpadding="10" width="100%"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="40%"&gt;&lt;br /&gt;FILE_MAP_FILTER = {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="25%"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;16777215&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;65280&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;'df&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;lt'&lt;/span&gt;:&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="25%"&gt;&lt;br /&gt;CEMENT_TILES,&lt;br /&gt;GRASS_TILES,&lt;br /&gt;['gfx/tiles/Ltile01.png']&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="10%"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-family:lucida grande;"&gt;Note: the function uses 'dflt' when the color is not in the dict, but also not = 0.  (x,y) positions with a value of '0' are not assigned a tile, and are not valid keys for tile lookup.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Here is the base tile map for the map screen shown above:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;center style="font-family: lucida grande;"&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=testmap4ccopy.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/testmap4ccopy.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;The green pixels correspond to GRASS_TILES, the white to CEMENT_TILES, while the red and yellow pixels are not registered so they generate tiles from 'dflt'.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Next, objects are generated using a similar methodology.  The dicts that store them are more complicated to allow for state changes, direction, and other categorizations.  Simply put, in this case they use the values returned from pygame.surfarray.array2d(surf):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;16711680&lt;/span&gt;    :wallNW&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;16776960&lt;/span&gt;    :wallNE&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;65280&lt;/span&gt;       :wallSE&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;255&lt;/span&gt;         :wallSW&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;This is the object map:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;center style="font-family: lucida grande;"&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=testmap4x.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/testmap4x.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;In this early stage as a quick fix, I used a single-wall-per-tile functionality.  If you look carefully, you can see that the walls aren't indicated in the way they are seen on the map (see below).  The walls are put in between two tiles, so they can be attached to either one.  If you were to program it so that the wall objs were linked to the interior tiles, convex corners require a single tile to contain two walls (one for each side of the corner).  To work around this, I simply placed the walls on the outside, only using tiles inside for the convex corner (thus reversing it).&lt;br /&gt;&lt;br /&gt;The intention is to later include the functionality needed to have interiors with mapTiles that can accommodate more than one wall object, and can be arbitrarily occupied by multiple objects of different types, and exhibit other unique behaviors.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Here is an example of the map zoomed out a bit:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: lucida grande;" href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scr-artifacts.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scr-artifacts.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;*Note the artifacts on the screen to the right of the bldg... a problem with &lt;/span&gt;&lt;a style="font-family: lucida grande;" href="http://opioid-interactive.com/opioid2d/"&gt;Opioid2D&lt;/a&gt;&lt;span style="font-family:lucida grande;"&gt; (Alpha 6 3) when scaling and moving objects.  Seems to be related to edges of bounding rects and alpha pixels.&lt;br /&gt;&lt;br /&gt;The tiles are composed of images that are aligned so that the center is located appropriately:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=Lcement2b.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/Lcement2b.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;The wall tiles are then put on top:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="10" width="100%"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="1%"&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=cement1-1.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/cement1-1.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="1%"&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=Lwall01.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/Lwall01.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td valign="top" width="1%"&gt;&lt;br /&gt;&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=cement3.png" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/cement3.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;These are only test images, so they are fairly bland.  The illusion of depth functions, though, so at least I know the map's working correctly (but slow).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-305167180871372779?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/305167180871372779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=305167180871372779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/305167180871372779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/305167180871372779'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/here-is-100-view-of-map-using-layer-per.html' title=''/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-5037473369249445323</id><published>2007-12-22T00:14:00.000-08:00</published><updated>2007-12-25T23:50:14.143-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnsht-1.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnsht-1.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;This is the way the map has been rendering without using separate layers for each map tile.  They seem to shift somehow in sets along the y axis, moving one tile over on the x axis...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;Notice the FPS in this case is 83, a good number, which illustrates the utility of Opioid2D (when this problem is resolved).&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-5037473369249445323?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/5037473369249445323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=5037473369249445323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/5037473369249445323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/5037473369249445323'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/this-is-way-map-has-been-rendering.html' title=''/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-3839872967288486195</id><published>2007-12-21T03:10:00.000-08:00</published><updated>2007-12-25T21:59:28.796-08:00</updated><title type='text'>Early Stages...</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnsht.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnsht.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;This is an early representation of the basis of the map system.  Notice the FPS is only 40 (which is the minimum for the game engine), a result of the fact that the tiles won't order correctly unless you give each of them their own layer.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-3839872967288486195?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/3839872967288486195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=3839872967288486195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/3839872967288486195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/3839872967288486195'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/early-stages.html' title='Early Stages...'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-5782002400412474591</id><published>2007-12-19T16:04:00.000-08:00</published><updated>2007-12-25T23:48:43.985-08:00</updated><title type='text'>Welcome!</title><content type='html'>&lt;span style="font-family:lucida grande;"&gt;Welcome to the togoAlpha project page.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;I have been working at a snail's pace on this project from the beginning of time (or at least it feels that way). Originally a set of utilities written in qBasic for font and vector object creation, I have been using Python since 2003 to code this perhaps-a-little-to-ambitious game. While the specifics have changed over time, the overall goals have remained constant:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    A large, persistent world.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    High interactivity between player, NPCs, and environment.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    Adaptive AI that counteracts player behavior.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    Extensibility, flexibility, and portability.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    User modifiable and amendable content.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;"Well", you may say to yourself, "that sound like what any game would want to have!"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;"Correct!" I would say.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Being the type of person who was basically nursed from infancy on video games, from pong and asteriods to Final Fantasy VII and Halflife, I've been a witness to many different concepts and approaches to game design. Nearly all games, though, lack the ability for the user to alter the game they have spent $50 on and gotten bored of in a month. Operation Flashpoint by Codemasters managed to avoid this problem by allowing users to create missions, add content, and otherwise tweak the game to their liking. Needless to say, the hundreds of hours I've spent playing that game weren't spent battling through the (lame) campaigns!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;So, in the hopes of both paying homage to the oldies, such as Jagged Alliance and Syndicate, as well as newer games, eg Grand Theft Auto and Metal Gear, I've settled on a general concept:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    An isometric map (such as that in Jagged Alliance)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    Large, persistent world (eg Ultima VII or GTA)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    Assignable behavior chains (FFXII)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    Customizable player/NPC avatars (Ultima Online)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    Complex plot/behavior mechanics (Covert Action)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;    Randomized maps, objects, plots (to improve replay value)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:lucida grande;"&gt;"Plus much more..."&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;Recently, I have scrapped the original togoAPI (emptyRun, blankRun, etc) and subsequent versions of the self-authored game engine in favor of a third-party engine, Opioid2D, that is far superior to anything I could come up with at this point. Also, I've been unable to focus on content other than for testing purposes while developing the engine, as it is a very time consuming process. Thankfully, the Opioid2D engine has much of the functionality that I'd been trying to code myself (with some exceptions).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;--Zorbicon&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-5782002400412474591?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/5782002400412474591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=5782002400412474591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/5782002400412474591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/5782002400412474591'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/welcome.html' title='Welcome!'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2306810918010750830.post-1340834935910335270</id><published>2007-12-18T00:34:00.000-08:00</published><updated>2007-12-26T01:43:01.982-08:00</updated><title type='text'>Old ScreenShots...</title><content type='html'>&lt;a href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnst3b.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnst3b.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;This was &lt;/span&gt;&lt;span style="font-weight: bold; font-family: lucida grande;"&gt;'bomberMode'&lt;/span&gt;&lt;span style="font-family: lucida grande;"&gt; using emptyRun, an old engine I made that is just a game loop with helpful functions in its local namespace.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: lucida grande;" href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnsht-3.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnsht-3.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;This is from a &lt;/span&gt;&lt;span style="font-weight: bold; font-family: lucida grande;"&gt;missle command&lt;/span&gt;&lt;span style="font-family: lucida grande;"&gt; style prototype.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: lucida grande;" href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnShot2.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnShot2.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;This was my favorite, &lt;/span&gt;&lt;span style="font-weight: bold; font-family: lucida grande;"&gt;'drivingMode,'&lt;/span&gt;&lt;span style="font-family: lucida grande;"&gt; which has sound and the car can be moved around.  The projectiles used vector velocities and were part of a collision system with pygame.Rect's.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: lucida grande;" href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnShot1.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnShot1.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: lucida grande;"&gt;'Cannon Mode'&lt;/span&gt;&lt;span style="font-family: lucida grande;"&gt; used parabolic paths for projectiles and had gravity and velocity parameters.  The boxes explode and distribute debris (particle EFX).  This was a more advanced prototype of the features tested in the previous examples.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: lucida grande;" href="http://s28.photobucket.com/albums/c211/Pliblion4/?action=view&amp;amp;current=scrnshtSS.jpg" target="_blank"&gt;&lt;img src="http://i28.photobucket.com/albums/c211/Pliblion4/scrnshtSS.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;specialTest or &lt;/span&gt;&lt;span style="font-weight: bold; font-family: lucida grande;"&gt;ssMan&lt;/span&gt;&lt;span style="font-family: lucida grande;"&gt; was the culmination of the efforts on the togo engine.  Animations, collision detection, physics, behavior sequences, etc.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2306810918010750830-1340834935910335270?l=togogame.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://togogame.blogspot.com/feeds/1340834935910335270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2306810918010750830&amp;postID=1340834935910335270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/1340834935910335270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2306810918010750830/posts/default/1340834935910335270'/><link rel='alternate' type='text/html' href='http://togogame.blogspot.com/2007/12/this-was-bombermode-using-emptyrun-old.html' title='Old ScreenShots...'/><author><name>Zorbicon Heptis</name><uri>http://www.blogger.com/profile/04875924508289523832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_NYY6T2H-fNs/R32R-_M5L3I/AAAAAAAAAAM/QiB1IrQIc_0/S220/Untitled-2+copy.jpg'/></author><thr:total>0</thr:total></entry></feed>
