<?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-5238907515214448310</id><updated>2012-02-16T10:05:47.061-05:00</updated><category term='Coding'/><category term='General'/><category term='HTML5'/><category term='Music'/><title type='text'>Krylar's Kreations</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John</name><uri>http://www.blogger.com/profile/15567960445942428314</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-qQbnJjVGv-I/TfjYZ4VU7QI/AAAAAAAAAAQ/lU7FoI3Z2oA/s220/jnl2.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-6607921628194874849</id><published>2011-09-12T10:19:00.003-04:00</published><updated>2011-09-12T10:32:55.327-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>HTML5 Part Tres</title><content type='html'>It's been a few weeks since my last HTML5 post and I've learned even more. I know I seem wishy-washy on the language, but that's not really the case. HTML5 is destined to be a big player in the games space at some point. The problem is that the some-point in question is not today...and that sucks.&lt;br /&gt;&lt;br /&gt;Being that it's JavaScript makes it rather accessible, not to mention easy. The fact that it's distributable to many platforms is awesome too. But the fact that it's slow as crap on tablet devices, not fully supported on various browsers, has sound-sync issues, and a few other key bits makes it difficult to embrace fully.&lt;br /&gt;&lt;br /&gt;Remember, I'm talking about the CANVAS here, not just the standard HTML5 elements.&lt;br /&gt;&lt;br /&gt;Once all of these things (or at least a goodly number of them) are resolved, it will be a highly used platform for development.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;But there are some pretty kick-ass games out there using it! How can it be said that it's slow? I mean, have you seen the Aves engine???&lt;/span&gt; I have seen the Aves engine, yes, and it is quite impressive. Clearly there are some developers out there that, as we used to say during our heady development meetups, "are fed raw meet under a locked door" because they were amazingly good at development.&lt;br /&gt;&lt;br /&gt;But more than that, it shows that there ARE ways to get HTML5 to power through a lot of its current limitations.&lt;br /&gt;&lt;br /&gt;That's not the point though. The point of this ongoing review of the language is to see where the state of affairs is now, for the average developer. Can a person take HTML5, in its current state, and build something as speedy as said person can with Flash or Corona, without having to tweak and hack stuff to get that speed? And that's just the speed question. There are still questions of sound, image rotation/scaling/etc., and so on.&lt;br /&gt;&lt;br /&gt;I'm bummed about this because it's much more fun to code in HTML5 than it is in some other languages. I guess I like the nerdy element to the fact that you have to hack in order to get it to do what you really want it to do. But, again, it's not about those of us who enjoy the hack, it's about those who aren't all that good at the hack and therefore must rely on the essentials that come with the language.&lt;br /&gt;&lt;br /&gt;Still, I anxiously and optimistically await the day that HTML5's Canvas is a rollicking (and blisteringly fast) solution to games.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-6607921628194874849?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/6607921628194874849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2011/09/html5-part-tres.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6607921628194874849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6607921628194874849'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2011/09/html5-part-tres.html' title='HTML5 Part Tres'/><author><name>John</name><uri>http://www.blogger.com/profile/15567960445942428314</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-qQbnJjVGv-I/TfjYZ4VU7QI/AAAAAAAAAAQ/lU7FoI3Z2oA/s220/jnl2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-6800060732113105906</id><published>2011-07-27T14:35:00.006-04:00</published><updated>2011-07-27T15:20:19.719-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><title type='text'>HTML5 revisited</title><content type='html'>I was recently tasked at work to dig deeper into HTML5 and I'm starting to see some pretty cool stuff coming out of it. There are a buttload of games out there now using this technology.&lt;br /&gt;&lt;br /&gt;There are still a few things that, in my opinion, still make it not-quite-ready-for-prime-time. And they are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sound synchronicity issues&lt;/span&gt;. I know that you can use a Java-to-Flash bridge to get the sounds out, but that kind of cuts into the iOS distribution. If anyone happens to know of a consistent way to handle this (without using Flash), I'd love to see it!&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Code security&lt;/span&gt;. Since it's JavaScript, you can pretty much see anyone's code. Obfuscation is helpful, as is encryption, but any truly interested hacker will eventually skip through that stuff. I suppose one could wrap the code loading section in a .php file or use some other method, but it'd be super if there was a compilable option. To be fair, there are solid SWF decompilers out there too, so it's not like Flash is immune to this issue.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Browser support&lt;/span&gt;. It works great in Chrome and Safari, and it's decent in Firefox too. But what about IE? "What about it?" You say, and then you add, "Get a real browser!" You're preaching to the choir on that. Sadly, IE still owns a huge amount of users that don't know any better, and those users are going to show up to your HTML5 game and find it doesn't work all that well.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Mobile support&lt;/span&gt;. It seems to be working splendidly on my iPad, but my iPod Touch just sits there wondering what to do with anything canvas-related. &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Apple&lt;/span&gt;. We already said it seems to be working on the iPad, so what's the problem? Well, somebody smart at Apple has to realize at some point that if developers can just slam together games and make them freely available on the web (or offer some other means of monetizing them)...Apple is bound to wonder how they get their cut. Whether they use the "the HTML5 canvas doesn't run fast enough and so we don't want our users having a poor experience" excuse like they did with Flash, or not, is irrelevant. Developers can just use PhoneGap and have their HTML5 projects compiled into native code (which is what Adobe tried to do with CS5 and CS5.5...and it's still really slow). This is cool, but it does take away from the build-once, distribute everywhere concept.&lt;/li&gt;&lt;/ul&gt;So what makes me think there is still a strong likelihood that HTML5 has a strong future? I took a look at the market and saw a few interesting things.&lt;br /&gt;&lt;br /&gt;Zynga, arguably the largest social game company, purchased the Aves engine. This engine is very cool and sports some awesome Isometric graphics. It also has multiplayer support.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-gbR86VyiajU/TjBiD7GdaeI/AAAAAAAAAEc/VDNoJnoEOlQ/s1600/aves.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 273px; height: 185px;" src="http://3.bp.blogspot.com/-gbR86VyiajU/TjBiD7GdaeI/AAAAAAAAAEc/VDNoJnoEOlQ/s320/aves.jpg" alt="" id="BLOGGER_PHOTO_ID_5634110953384405474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Aves Engine&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Google is constantly keeping the Chrome browser up to date to support the latest canvas elements, and Android devices (at least my Droid does) seem to play most games pretty darn well...okay, maybe not super fast, but not bad.&lt;br /&gt;&lt;br /&gt;Disney purchased Rocket Pack, who created the HTML5 Facebook game "Warimals." It's a nifty little game that shows a number of neat nuances one can do with the canvas.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-NK6ivhyPw4k/TjBiZwqUZrI/AAAAAAAAAEk/PxoIambLcoI/s1600/warimals.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 253px; height: 200px;" src="http://2.bp.blogspot.com/-NK6ivhyPw4k/TjBiZwqUZrI/AAAAAAAAAEk/PxoIambLcoI/s320/warimals.jpg" alt="" id="BLOGGER_PHOTO_ID_5634111328539141810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Warimals&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Adobe is putting HTML5 support in their CS products and they event created a product called "Wallaby" ( http://labs.adobe.com/technologies/wallaby/ )that converts Flash to HTML5. Why would Adobe, the owner of Flash, start pushing for stuff that clearly threatens the future of Flash? My guess is because they're smart enough to recognize that it's better to jump on board and create great tools for non-developers (and developers too, let's be honest) that will help them smoothly create for either platform so that they, the aforementioned designers/developers, don't jump ship and look for other projects. Do note that Wallaby only does simple conversions, nothing game-heavy, but who's to say that may not happen eventually? After all, Adobe did work to make a porting-tool for Flash developers to get onto the iOS platform.&lt;br /&gt;&lt;br /&gt;Again, I don't think it's 100% there yet, but I am seeing the light now with HTML5. There is a lot of potential with this platform and I, for one, am hopeful that it will grow and grow and grow.&lt;br /&gt;&lt;br /&gt;Please feel free to blast me or whatever. I don't mind. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-6800060732113105906?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/6800060732113105906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2011/07/html5-revisited.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6800060732113105906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6800060732113105906'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2011/07/html5-revisited.html' title='HTML5 revisited'/><author><name>John</name><uri>http://www.blogger.com/profile/15567960445942428314</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-qQbnJjVGv-I/TfjYZ4VU7QI/AAAAAAAAAAQ/lU7FoI3Z2oA/s220/jnl2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-gbR86VyiajU/TjBiD7GdaeI/AAAAAAAAAEc/VDNoJnoEOlQ/s72-c/aves.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-5253470853917348961</id><published>2011-06-21T15:06:00.003-04:00</published><updated>2011-06-21T15:28:41.169-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>About Objects class part 1 - Complete</title><content type='html'>I finished up part 1 of the About Objects ( http://www.aboutobjects.com ) class on Friday and am hoping to take part 2 in July.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the most part is was terrific. I learned a ton of stuff about C that I didn't know (or thought I knew, but I was wrong) and the teacher was really good at conveying everything in a clear manner. Plus, he was a pretty cool dude.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The one thing I was a little disappointed in was that all day Thursday was a review of the things we learned Monday through Wednesday. This is because we had a few new people show up on Thursday that were there for the start of the Objective-C course, which follows the ANSI C one. Also, it was because a TON of information was presented through the ANSI C course and was therefore reviewed to the folks in the class that just went through it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately, this only left one day for Objective-C training. I know that the point is to lead the Obj-C into the following week (part 2) of the training course. So I'm sure for everyone that was staying for part 2 it was a great thing to have as a review. For me, though, I would have quite preferred two solid days of Obj-C. That's no fault to the About Objects folks. If I could have stayed the second week I'm sure I'd have a different view on things. :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Regardless, the day of Obj-C that I did get taught me a number of nifty little bits. For example, one thing I was unaware of was what the NS stood for at the beginning of all the foundation class stuff. So, NSArray, NSObject, NSString, etc. In case you don't know, NS = NeXTStep. This is because OS X is really a descendant of the NeXTStep OS. Now that may not seem like it's all that helpful to know, but when you're coming from a Windows background and you're seeing all this weird Objective-C stuff (NSObject and the like), it's a bit confusing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, the syntax of Obj-C is weird. To me anyway.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;NSString *desc = [[NSString alloc] initWithFormat:@"Class: %@, Name: %@", &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[self class], &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;@"Test"];&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That looked really strange to me when I first saw it, but now I'm getting the hang of it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyone interested in learning this stuff should consider About Objects. They were very nice and extremely helpful the entire way. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Other good things that I've picked up since have been a couple of iPad books (that were free!). They are:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The Objective-C Programming Language&lt;/li&gt;&lt;li&gt;Object-Oriented Programming in Objective-C&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Both of them are available on the AppStore, again, for free.&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/5238907515214448310-5253470853917348961?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/5253470853917348961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2011/06/about-objects-class-part-1-complete.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5253470853917348961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5253470853917348961'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2011/06/about-objects-class-part-1-complete.html' title='About Objects class part 1 - Complete'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-4404358428643625676</id><published>2011-06-15T10:06:00.005-04:00</published><updated>2011-06-15T11:58:07.395-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Learning iOS Development at About Objects</title><content type='html'>Since Monday I've been at a training seminar to start getting iOS development under my belt. I've played around with Flash CS5 to make pointless little apps that go through the Adobe porting process and spit out iOS code. I've also tried a few different 3rd-party tools to get a handle on how things work. But it just wasn't enough to really get a grip on things.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I just finished up a lab and we're on a 10 minute break, so here is a quick blip about the class.&lt;br /&gt;&lt;br /&gt;So AOL hooked me up with a training course at a company called About Objects ( http://www.aboutobjects.com ). It's in Reston, Virginia, located in the downtown area (called Reston Town Center). The area is very nice and there are a lot of restaurants and shops right here. The point is that you don't have to worry about where you're going to eat lunch or pick up supplies, etc. There's even an Apple store a block away in the event that you need something to support your learning.&lt;br /&gt;&lt;br /&gt;Of all the companies out there that I could find doing OS X/iOS development training, About Objects was the only one that had ANSI C. Thus, the first class in the series is ANSI C on OS X. While I've coded numerous apps in C since the late 80's, I haven't done anything in C for about 10 years. Plus, I've not done anything really deep on the Mac or iOS platforms, so starting out with a lower level language like C seemed to be a smart move. As the instructor (Jonathan Lehr, owner of About Objects) points out, it's better to get a solid understand of what's going on under the hood before you start working with the higher Objective-C language. I couldn't agree more. After spending a month banging my head on Objective-C, I finally gave up and just considered it a lesson that I needed to stick with the Windows environment. This is because I couldn't seem to find anything that really helped me get to an area that I was comfortable *before* going into an area I'm not.&lt;br /&gt;&lt;br /&gt;Things are moving quickly in this class, but in a good way. As an example, this is supposed to be a "learning C" course. On day 2 we were working with pointers. Today we move into structs, function pointers, etc. But, to me, this is the way to learn. Get a fast dump of relevant information, skip all the crap that you're not really going after, do a number of labs to help the knowledge sink in, sleep on it, and move on to the next section. I've gotten more out of two days on C than I probably did in the years I was coding in C. Jonathan conveys the information clearly and his level of knowledge about the language and OS make for numerous tidbits that have made me say, "Oh...cool" numerous times.&lt;br /&gt;&lt;br /&gt;Now keep in mind that the point of this ANSI C class is not so that you walk out knowing all there is about C. The point is that you have a solid understanding of C's strengths, quirks, and weaknesses. This is because day 4 is the start of learning Objective-C and in order to understand why Obj-C does things as it does, understanding its base component (C) is very valuable. I sure hope so because I'm hoping to finally understand Obj-C by the end of this week! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-4404358428643625676?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/4404358428643625676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2011/06/learning-ios-development-at-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4404358428643625676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4404358428643625676'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2011/06/learning-ios-development-at-about.html' title='Learning iOS Development at About Objects'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-4717039400994063426</id><published>2010-12-01T23:37:00.001-05:00</published><updated>2010-12-16T11:57:12.296-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Which language to learn for web game dev?</title><content type='html'>There are a number of different options these days when making casual games. Here is my take on the order of usefulness today:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Flash/Flex&lt;/li&gt;&lt;li&gt;HTML5&lt;/li&gt;&lt;li&gt;Java&lt;/li&gt;&lt;li&gt;Unity&lt;/li&gt;&lt;li&gt;Silverlight&lt;br /&gt;&lt;/li&gt;&lt;li&gt;etc..&lt;/li&gt;&lt;/ol&gt;Depending on your goals, any one of the above could be put to use. So why did I put in in that order?&lt;br /&gt;&lt;br /&gt;The majority of casual games right now are being developed in Flash. If you look at sites like &lt;a href="http://www.games.com/"&gt;Games.com&lt;/a&gt;, &lt;a href="http://www.mochigames.com/"&gt;Mochi&lt;/a&gt;, &lt;a href="http://www.mindjolt.com/"&gt;Mindjolt&lt;/a&gt;, and so on...you'll see that 90% (or more) of the content is Flash. Does this mean that Flash is better than the others? Nope. It just means that it's the most common use-case for developing casual games right now.&lt;br /&gt;&lt;br /&gt;The question really is how long that's going to be. HTML5 is hot on Flash's heels, and it's really shaping up to be a powerful ally to casual game developers. I just don't think it's ready to usurp Flash's position just yet. The progress is substantial, though, so give it a year or two and it'll be a formidable contender. Adobe knows this too. They have been working on Flash-&gt;HTML5 conversion systems, and  I wouldn't be surprised if they created a Flash-like IDE for the HTML5 (focusing primarily on the canvas support). As &lt;a href="http://blogs.adobe.com/jnack/2010/10/adobe-demos-flash-to-html5-conversion-tool.html"&gt;John Nack&lt;/a&gt; put it in his article regarding the conversion tool, "&lt;strong style="font-weight: normal;"&gt;Adobe lives or dies by its ability to help customers solve real problems&lt;/strong&gt;." This does seem the case and I would argue that Adobe's doing a pretty decent job of it. If they did create a full HTML5-IDE (ala Flash), I'd buy it.&lt;br /&gt;&lt;br /&gt;Java is a great language for developing games. It's been around forever and has had a lot of push. I'm not a Java game developer, but I've tinkered lightly in the past and I had to do a few projects in college (non-game) using the language. The power afforded by the Java gives the developer a lot of options. The issue I see is that when Oracle took over the company they seemed to have put games off to the side. This doesn't mean that Java no longer offers gaming as a possibility. Far from it. It just means that the company-backing to grow that area of the language is no longer in the forefront...unless something has changed that I'm unaware of.&lt;br /&gt;&lt;br /&gt;Unity is a nifty language with a robust graphics engine. It's powerful, 3D, supports builds on various platforms and distribution channels, etc. I've dabbled only lightly in it and I can say it is a very nifty world. Issue: the documentation is less than awesome. There are a lot of things that you just have to figure out. Now, if you're the tinkering type, this may be cool to you; if you're part of a team that is taking Unity and extending it to fit your particular game, then it's a very smart path to go. But if you're a hobbyist or a developer working on time-constrained projects, the learning curve may just be too great until they get their docs in order.&lt;br /&gt;&lt;br /&gt;Silverlight is interesting, but I wonder how far it's going to go. With  Microsoft behind it, one would imagine it has decent longevity. I wonder why  they'd bother pushing money in its direction when HTML5 seems to be heading  swiftly toward front-runner position. Personally, I've not developed in  Silverlight, so I can't talk to its particular strengths. Still, as time permits, I will create a least a little something so I can see how it all comes together. I just don't  see it as an area to spend too much of my time since Flash already has the lead and  since I'm guess that HTML5 will soon take the #1 spot.&lt;br /&gt;&lt;br /&gt;There are others out there that are available to learn as well, but I think the ones listed are the primary contenders at the moment. Of course I may have completely spaced on one of the other big players. If so, smack me. I'm not proud. :)&lt;br /&gt;&lt;br /&gt;The bottom line is that any of the above languages (and more) have their advantages and disadvantages, but if you're looking to pick one or two to learn at this point, I feel that picking the more relevant one makes the most sense. This isn't a case of me saying (or thinking) that Flash/ActionScript is the best and everything else is crap. I don't believe that at all. Actually, there are parts of AS3 that drive me nuts. The point is that I see little value in spending my time deeply learning Unity and Silverlight for web-game development at this time, unless, again, there is a particular need (or job-opening) that requires that expertise.&lt;br /&gt;&lt;br /&gt;Playing devil's advocate: There are a load of Flash and Java devs out there already. Companies that are invested in Silverlight, WildTangent, ActiveX, Unity, Torque, etc. are on the lookout for developers that know those technologies.&lt;br /&gt;&lt;br /&gt;It's a catch-22. You either focus your time on being a know-it-all about one or two technologies, or you play the jack-of-all-trades card and just be decent in various technologies. I've always gone the second route. The way I see it is that I'm a developer regardless of the language I use. If I am tasked with developing an application in Java, I'll focus my efforts on learning it for that purpose. Same with Silverlight, etc. So I purposefully do not try to be an expert at any single language. To do so, for me, is limiting. ...but that's really a different discussion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-4717039400994063426?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/4717039400994063426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/12/which-language-to-learn-for-web-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4717039400994063426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4717039400994063426'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/12/which-language-to-learn-for-web-game.html' title='Which language to learn for web game dev?'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-9128146473789516098</id><published>2010-11-11T14:49:00.003-05:00</published><updated>2010-11-11T17:27:32.196-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Mochi ZIP integration issue resolved</title><content type='html'>It took a couple of weeks working back and forth with the tech folks at Mochi, but we finally uncovered an interesting ooopsie.&lt;br /&gt;&lt;br /&gt;There are three ways (that I'm aware of) to build a game for Mochi distribution:&lt;br /&gt;&lt;br /&gt;1 - Use a single SWF file that contains all your components, images, sounds, etc.&lt;br /&gt;....This one works pretty well for the most part. Very few moving parts so not a lot to worry about.&lt;br /&gt;&lt;br /&gt;2 - Use a single SWF that loads external resources from a site you host.&lt;br /&gt;....Works well as long as you have a reliable server with the proper crossdomain.xml file setup and all that, but is subject to dropouts of your assets and potentially slower loading times. If you have a decent CDN it's better.&lt;br /&gt;&lt;br /&gt;3 - Use a .ZIP file that contains your SWF plus all the externally loaded assets.&lt;br /&gt;....Neat idea and has its merits, but it's not idea. Firstly, you can't use sub-directories (as of this writing anyway). Not a huge deal, but I like to try and keep my assets categorized so it bugs me a little bit. Secondly, you have to watch how you load these assets because Mochi's launchpad pages (the pages where they launch the games on) fail on external loads of the .ZIP'd content in some instances. Third, even if you use try{}...catch{} blocks on items that aren't available, using the catch to resort to different methodology for getting your assets/data, the game will fail to launch.&lt;br /&gt;&lt;br /&gt;The point of this post is to discuss what I did to get the .ZIP file local loading issue resolved in the hopes that it'll help someone else.&lt;br /&gt;&lt;br /&gt;The key component came from the Mochi techs that said I needed to have any loaders based off of the loaderURL. This snags the URL of the initiating SWF file, thus providing a fully qualified URL instead of relative. Here is a bit of sample code for what I mean:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;var loader:Loader;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;var resourceURL:String;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;var request:URLRequest;&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;loader = new Loader();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;resourceURL = loader.contentLoaderInfo.loaderURL;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;resourceURL = resourceURL.substring(0,resourceURL.lastIndexOf("/") + 1);&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;resourceURL = resourceURL + "tempflashfile.swf";  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;request = new URLRequest(resourceURL);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteHandler, false, 0, true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loaderErrorHandler, false, 0, true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;loader.load(request);&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;The key point is to make sure that instead of having just "tempflashfile.swf" as the resource URL we end up with like "http://www.yourdomain.com/tempflashfile.swf". In the case of a Mochi distribution point, this "yourdomain" would be whatever domain the game gets loaded from, of course.&lt;br /&gt;&lt;br /&gt;The next trick comes from making sure you either a) do this on ALL externally loaded items or b) you don't put in any try{}...catch{} blocks for stuff you know isn't going to be there. In other words, if you have code that checks for an external asset and defaults to an internal asset if the external one is not found...don't do that. Any non-found external asset seems to knock your game to a halt, even if you use the above methodology (at least it did for me!).  Instead, for your Mochi build, just rely on the internal asset and avoid the external check completely.&lt;br /&gt;&lt;br /&gt;If you're loading .XML files or somesuch, you will likely just be using the URLLoader and not the Loader. That's fine, but the URLLoader doesn't have a corresponding contentLoaderInfo.loaderURL data point, so you may scratch your head a bit. Just use a dummy Loader to get that full domain and stack it globally so you have it when building your resource URL.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;private var gLoader:Loader;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;private var gResourceURL:String;&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;gLoader = new Loader();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;gResourceURL = gLoader.contentLoaderInfo.loaderURL;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;gResourceURL = gResourceURL.substring(0,gResourceURL.lastIndexOf("/") + 1);&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Now you can just preface any of your URL's with the gResourceLoader (gResourceLoader + "tempflashfile.swf") and you should be fine. Creating a class out of this is a snap and will save you a bit of headache and cut down on globals too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-9128146473789516098?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/9128146473789516098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/11/mochi-zip-integration-issue-resolved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/9128146473789516098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/9128146473789516098'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/11/mochi-zip-integration-issue-resolved.html' title='Mochi ZIP integration issue resolved'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-5825302056011241214</id><published>2010-09-18T12:43:00.005-04:00</published><updated>2010-09-19T15:46:58.720-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>HTML5 is nifty</title><content type='html'>I've been coding primarily in AS3 for a few years now, but I was tasked to do some research into HTML5.&lt;br /&gt;&lt;br /&gt;While I'm still in the exploration stage, it's pretty nifty. I can see adopting this technology heavily once all browsers are on board. I'd love to be elitist about it and just say be damned to IE, but that's not my call. I know thee are workarounds for the IE shortcomings, but I kinda have to wait for actual support for the things I do.&lt;br /&gt;&lt;br /&gt;Either way it's a very interesting technology that I'll be giving mindshare to so that I'm ready for the full shift when all browsers get with the program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-5825302056011241214?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/5825302056011241214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/09/html5-is-nifty.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5825302056011241214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5825302056011241214'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/09/html5-is-nifty.html' title='HTML5 is nifty'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-7463779813113428873</id><published>2010-08-26T13:43:00.003-04:00</published><updated>2010-08-26T13:57:05.028-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Algorithms are fun</title><content type='html'>I've been working on a persnickety (yes, I actually just used that word) little algorithmic issue for a new game I'm working on. The game is kind like Phlinx and Bubble Town, so there is a little projectile that flies up toward the board and, upon matching three or more, causes the pieces to explode and disappear. &lt;br /&gt;&lt;br /&gt;That matching bit was fun in and of itself, but I got that one sorted out. The challenge now is the line-of-sight check for spotting where the projectile is allowed to land. &lt;br /&gt;&lt;br /&gt;The problem is a little tougher because the board is staggered (Row 0 starts at pixel 45 and Row 1 starts at pixel 90...for example), so you can't just simply check on an array basis. You use the array, of course, but you have to kind of treat it a bit differently.&lt;br /&gt;&lt;br /&gt;For example, consider:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[ ][ ][O][ ]&lt;br /&gt;[ ][ ][X][ ]&lt;br /&gt;&lt;br /&gt;      [P]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Since the row offsets match, we can immediately see that the projectile (P) can not get to the open position (O) because there is a piece (X) in the way.&lt;br /&gt;&lt;br /&gt;But, if we stagger the board:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  [ ][ ][O][ ]&lt;br /&gt;[ ][ ][X][ ]&lt;br /&gt;&lt;br /&gt;      [P]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;...and if we imagine an line drawn from P to O, then the piece CAN hit that spot. &lt;br /&gt;&lt;br /&gt;But how far can it go?&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  [ ][ ][ ][O]&lt;br /&gt;[ ][ ][ ][O]&lt;br /&gt;  [ ][ ][O][ ]&lt;br /&gt;[ ][ ][X][ ]&lt;br /&gt;&lt;br /&gt;      [P]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;...looking at this board, an imagining that line draw up, the projectile can find its way all the way to the top of the board here. &lt;br /&gt;&lt;br /&gt;Those are just a couple of the issues associated with this. Either way, it's a fun challenge (so far), but I'm certainly finding myself brooding more than coding at times. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-7463779813113428873?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/7463779813113428873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/08/algorithms-are-fun.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/7463779813113428873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/7463779813113428873'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/08/algorithms-are-fun.html' title='Algorithms are fun'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-567336795295438345</id><published>2010-08-04T10:04:00.008-04:00</published><updated>2010-08-04T17:24:51.559-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Flash Debugging</title><content type='html'>So as I (and seemingly tons of other Flash devs) continue to struggle with memory and CPU issues, I searched for ways to help pinpoint issues. I found two items that I'm planning to try out today to help:&lt;br /&gt;&lt;br /&gt;1 - &lt;a target="_blank" href="http://www.demonsterdebugger.com/"&gt;De MonsterDebugger&lt;/a&gt; -- an AIR app that allows you to realtime debug on many fronts.&lt;br /&gt;&lt;br /&gt;2 - &lt;a target="_blank" href="http://fla.as/ec/action.html"&gt;EventController Lib&lt;/a&gt; - a library that manages events to make sure you don't end up with lingering event managers in your code.&lt;br /&gt;&lt;br /&gt;With any luck I'll have good news on these two items soon. Either way, I'll post up how things are turning now.&lt;br /&gt;&lt;br /&gt;**UPDATE:&lt;br /&gt;&lt;br /&gt;Wow. The two items listed above are AWESOME. I highly recommend this to anyone serious about developing Flash apps/games. The bug I've been hunting forever has been found and (hopefully) squashed. And, yes, it was my fault. &lt;br /&gt;&lt;br /&gt;I fell into the trap of expecting Flash's garbage collector to be more intelligent the larger system gc's because it is smaller world. Unfortunately, it's not. So, just like C's new and delete, so it goes heavily with Flash. If you want more details, check out &lt;a target="blank" href="http://tomgabob.blogspot.com/2009/11/as3-memory-management.html"&gt;this great article by Tom at Gabob&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;It was in the comments of that article that I found the EventController Lib and from that I found the Monster Debugger. &lt;br /&gt;&lt;br /&gt;Even though I was removing the event listeners from everything, I wasn't nulling things properly. I *thought* I was, but with the Monster Debugger I was able to see a lot more than I was getting from the Flash debugger. What I saw with Monster was how I was missing quite a few of nulls, and a couple of deletes too. Oops. &lt;br /&gt;&lt;br /&gt;Anyway, now CPU usage is now quite nice (when the GC decides to kick off) and memory is staying low too. &lt;br /&gt;&lt;br /&gt;I will likely integrate the EventController Lib too since it seems to be really intelligent in how it works. First, though, I want to see how things go now that I'm nulling/deleting in (again, hopefully) all the right places.&lt;br /&gt;&lt;br /&gt;With my luck I'm probably still not 100% solved on this issue, but it's GOT to be better!&lt;br /&gt;&lt;br /&gt;** Update Part 2:&lt;br /&gt;&lt;br /&gt;Integrated EventController Lib. Nice. It was simple to integrate and it gives a simple interface for controlling events. Plus it can be easily set to log information over to Monster Debugger, so that's sweet.&lt;br /&gt;&lt;br /&gt;So far I'm liking these new toys!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-567336795295438345?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/567336795295438345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/08/flash-debuggers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/567336795295438345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/567336795295438345'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/08/flash-debuggers.html' title='Flash Debugging'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-5094768220397514112</id><published>2010-07-28T17:16:00.002-04:00</published><updated>2010-07-28T17:20:50.314-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>One year anniversary</title><content type='html'>I can't believe it, but yesterday was the one year anniversary of when I stopped drinking sodas. After downing 4-6 sodas a day (on a slow day) I decide that it was time to stop. &lt;br /&gt;&lt;br /&gt;So, I did. And...it sucked, but I ended up dropping lots of weight and my mood evened out. It took thirty days or so before I could stand being in a room with soda and not wanting to imbibe. Even now I long for an ice-cold can of Mt. Dew. &lt;sigh&gt;&lt;br /&gt;&lt;br /&gt;Point is that I stuck with it for a year. I'm glad I did it and I'm not going to go back to sodas, but...but...but damn do I want that Mt. Dew.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-5094768220397514112?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/5094768220397514112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/one-year-anniversary.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5094768220397514112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5094768220397514112'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/one-year-anniversary.html' title='One year anniversary'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-7483154145791210456</id><published>2010-07-23T23:55:00.006-04:00</published><updated>2010-07-23T23:58:07.795-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Ice Breakers: Penguin Pirates</title><content type='html'>Finally released Penguin Pirates on games.com. It's in beta right now, so I'm sure there are still a few bugs to contend with, but it's looking pretty good.&lt;br /&gt;&lt;br /&gt;Check it out at &lt;a target="_blank" href="http://www.games.com/game/ice-breakers-penguin-pirates/"&gt;http://www.games.com/game/ice-breakers-penguin-pirates/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-7483154145791210456?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/7483154145791210456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/ice-breakers-penguin-pirates.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/7483154145791210456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/7483154145791210456'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/ice-breakers-penguin-pirates.html' title='Ice Breakers: Penguin Pirates'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-4065215979383275823</id><published>2010-07-20T23:03:00.001-04:00</published><updated>2010-07-22T16:22:08.868-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Moved stuff around</title><content type='html'>In order to take the writing life more seriously, I've decided to go with the recommendations of a few industry folks I've talked to.&lt;br /&gt;&lt;br /&gt;One of the bigger dealios for this is that I had to set up a separate blog specifically for my writing adventure. That blog will have nothing but stuff about writing. This blog will still go on for the other crap that I do, which seems to be dwindling slowly to a crawl. :-)&lt;br /&gt;&lt;br /&gt;Anyway, by the time I'm done I'll have three total blogs going:&lt;br /&gt;&lt;br /&gt;1 - This one, which is for games, coding, and general nerdery.&lt;br /&gt;&lt;br /&gt;2 - &lt;a href="http://www.blogsdon.com/"&gt;The writing blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3 - &lt;a href="http://www.krethx.com"&gt;The music blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yeah, I know that's nutty, but separation of church and state seems to be needed these days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-4065215979383275823?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/4065215979383275823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/moved-writing-stuff.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4065215979383275823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4065215979383275823'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/moved-writing-stuff.html' title='Moved stuff around'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-8986678977056442109</id><published>2010-07-12T13:21:00.007-04:00</published><updated>2010-07-12T13:53:01.213-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>"Book" to roots</title><content type='html'>I have been a developer since the early 80's and have coded on a VIC-20,  C-64, C-128, TRS-80 (I, III, and IV), PC (DOS, 95, 98, XP, and now  7...skipped Vista), Mac (OS/X only), iPod Touch/iPhone (thoroughly hated coding on these), and now the  Droid. I have used Assembler, BASIC, COBOL, Pascal, Prolog, C, C++, C#,  Objective C, Java, JavaScript, PHP, PERL, HTML, ActionScript (3.0)...and likely more.  I've also written numerous game development articles and had two books  published on 2D game development as well.&lt;br /&gt;&lt;br /&gt;Well, after all of this I had finally gotten to the point (about 5 years  ago) where coding started losing the same level of excitement that it used to have. I still love coding games, but just plain coding, tinkering, and hacking is not all that thrilling anymore.&lt;br /&gt;&lt;br /&gt;Fortunately, I picked up the book "Code", by Charles Petzold last  week and I have suddenly realized the problem. I miss the days of the  VIC-20, C-64, and all the other nerdy machines made! There is so much abstraction now that the tinkering  and hacking just doesn't have that same draw. At least not for me. Mr. Petzold really brought me back to my roots with his excellent book.&lt;br /&gt;&lt;br /&gt;I'm planning to order a NerdKit (&lt;a target="_blank" href="http://www.nerdkits.com/"&gt;http://www.nerdkits.com&lt;/a&gt;) later this week, and will eventually like snag a Tower System (&lt;a target="_blank" href="http://www.towergeeks.org/page/the-tower-system"&gt;http://www.towergeeks.org/page/the-tower-system&lt;/a&gt;) before I finally join up for the Game Institute class on creating your own video game console and game (&lt;a target="_blank" href="http://www.gameinstitute.com/Video_Game_Console_Design.html"&gt;http://www.gameinstitute.com/Video_Game_Console_Design.html&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;I've never been much into electronics, so it will also be an exciting new jump into a technological area. Building stuff and the coding to it just sounds so cool that I must give myself a +2500 geek points immediately upon completion of my first project. Sadly this stuff is not cheap and in this economy there is a lot of penny-pinching going on. So it's going to take some time to get things going, but that's cool.  There are loads of FREE sites out there and plenty of cheap used books to read at nights and on the weekends when there is time.&lt;br /&gt;&lt;br /&gt;I loved tinkering with the old Commodore's and TI's back in the day and I'm already excited about the potentialities of these little kits. But (those of you who know me) this is not a take-over-the-world situation for me. I'm going to treat this as &lt;span style="font-style: italic;"&gt;nothing but a hobby&lt;/span&gt;. No  deadlines, no next-biggest-thing projects...just nerdy learning and  geeky fun. That's it.&lt;br /&gt;&lt;br /&gt;It's like a technological breath of fresh air to go back to a point  where abstraction is minimal. Many of these kits offer C as the connection point, and I'll likely utilize that on tougher projects, but wherever possible I'm using Assembler (or ML, if at all possible!). I can already imagine spending hours and hours fiddling with a project whereby I toil and toil using Assembler and various schematics to satisfy a project that simply makes an LED blink once. Yes, it's essentially pointless, but damn if it ain't cool!&lt;br /&gt;&lt;br /&gt;So, if you're looking to get that old-skool interest again, check out Petzold's book. It's an interesting read and it may serve re-spark your nerdiness too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-8986678977056442109?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/8986678977056442109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/book-to-roots.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8986678977056442109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8986678977056442109'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/07/book-to-roots.html' title='&quot;Book&quot; to roots'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-6678737167915484439</id><published>2010-06-27T11:53:00.006-04:00</published><updated>2010-06-27T13:31:24.942-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>My Grandparents</title><content type='html'>My grandmother passed away this morning. She and my grandfather (Pap-pap, as we called him) were awesome people, and I just wanted to take a few moments to thank them for all the memories.&lt;br /&gt;&lt;br /&gt;Grandma was a strong woman who told it like it was; she never pulled any punches. She was funny, kind, caring, somewhat irreverent, and a bit sarcastic. She was awesome.&lt;br /&gt;&lt;br /&gt;Pap-pap was always on the go. He was in better shape at 80 than I was at 30. He was funny, mischievous, and always joking around. He kept us on our toes!&lt;br /&gt;&lt;br /&gt;I remember growing up and faking a number of illnesses so that I could a) get out of going to school, and b) get to go to my grandparent's for the day. Every time I went there I was treated to the best southern iced tea money could buy (homemade, of course), grilled cheese sandwiches that were simply amazing, and a guaranteed trip to the toy store. Looking back, I know that she and Pap-pap knew that I was faking being sick most of the time, but they didn't say anything. I know they knew when I was really fine, though, because I'd end up doing yard work with pap-pap. This mostly consisted of Pap-pap chasing me around the yard with hedge clippers saying that I looked to need a shave. :)&lt;br /&gt;&lt;br /&gt;I also remember how grandma and pap-pap's house was the hub for me and all my friends as I got in my teen years. We would ride our BMX bikes all over the place, but I would always call Grandma and ask if it was okay to stop in for lunch. My friends would ask me constantly, "Are we going to Grandma and Pap-pap's?" They called them that too, which my grandparents seemed to quite enjoy.&lt;br /&gt;&lt;br /&gt;Pap-pap would take to looking over the bikes to see if they needed a tune up or not. He did this, of course, with his hedge clippers. At first the fellas would be looking to me with a "what the heck is he doing???" stare of horror, but soon they understood he was just joking around, especially when he would say things like, "Looks like these tires need work. I'll go get my hammer." Grandma would call him an "old fool" (to which he would giggle, as it seemed that if he could get a rise out of her it made his day) and wave all of us in for a round of grilled cheese sandwiches and iced tea. Ah, those were the days.&lt;br /&gt;&lt;br /&gt;A lot of people tell me that I should have been a comedian or an actor. I think I get a lot of that from my grandparents. Their interactions were hilarious at times. Grandma would play the role of Dean Martin while Pap-pap played the role of Jerry Lewis. Occasionally, they'd even go as far as Laurel and Hardy. While I have no designs on being a comedian or an actor, I hope my writing reflects the comedic view my grandparents ingrained in me. Most assuredly they will both find themselves as lovable characters in my world as I can think of no better dedication to two people who so highly impacted my life.&lt;br /&gt;&lt;br /&gt;Grandma and Pap-pap, thanks for being lighthearted, fun-loving, caring, entertaining, and the best grandparents a kid could ask for. I love you both!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-6678737167915484439?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/6678737167915484439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/06/my-grandparents.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6678737167915484439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6678737167915484439'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/06/my-grandparents.html' title='My Grandparents'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-14143864743327642</id><published>2010-05-21T13:43:00.003-04:00</published><updated>2010-05-21T20:04:36.465-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Origins of BlitzCoder</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style=" ;font-family:Georgia;color:black;"&gt;I received a request from one of my long time friends, Malcolm "Chiefy" Brown, to write up a piece regarding a site that I ran a number of years ago. The site was called BlitzCoder and it was all about Blitz Basic development. Chiefy happened to send me a bunch of questions to help get things started. I'm going to go ahead and answer his questions here. If there are more questions from anyone, just post a comment and I'll do my best to answer. This will make it more interactive than just an article. :D&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family:Georgia;color:black;"&gt;Chiefy's Questions&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;&lt;b&gt;1 - What sparked you to start the site?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;I was looking at the current blitzbasic.com site and was finding very little information on how to code up stuff using Blitz. I basically studied the demo stuff and the commands list and did up a few simple things and then decided to write a full game in one day. I created Rocktoids, which was a cheesy little Asteroids clone. People asked how I did it and I thought I'd write up some tutorials on that.&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;But where to put them? That's when I decided to open up BlitzCoder.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;&lt;b&gt;2 - Did you do it on your own?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;I did all the development stuff on my own, yes, but I had big support at the time from Paul "Snarty" Snart. He was the biggest cheerleader, giving tons of ideas and support as I plodded through the development cycle. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;I never expected it to be more than some tutorials, but then a forum got added and I had to start picking up PERL in order to build things into it. Snarty was managing the community along with me and he was telling everyone to come check it out. We started growing and people started asking for more and more...and more...and more. hehe&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;3 - How did you get all the parts to work together? e.g. people could LOAD their projects ONTO the site, did you know all the  www coding to do that or was it part of some website package?&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;The only thing on the site that I didn't code was the UBB bulletin board system, but even that I spent countless hours modifying. All of it was PERL with flat files for storage. Looking back, it was simply horrible coding practice. Regardless, I learned a heck of a lot.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;4 - The absence of advertising made it a really clean slick place - did you ever consider having advertising?&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Not at first, no. I personally hated the whole ads thing, but in the third year I was paying a fair share of my own money to keep the site running because it had gotten quite popular. So then I started looking for ways to make some money on it to at least break even.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;That's when I started writing the Blitz book. It was a very rewarding project to work on, but man was it HARD. Anyone who says that it's easy to write a book has never written a book. :)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;After it was published it was a double-edged sword. On the one side, it was making enough to help me break even on the site costs; on the other side, it made the site more popular and filled my email with tons of requests and questions about game coding and development, etc. I was slammed.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Fortunately, Charles "Specis" McCrimmon was fully supporting the site at that point…to the point of basically administrating the entire thing. If it hadn't been for him, I'd have lost my mind.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;5 - In the early days there must have been just a few members there, how did word spread? How did people know it was out there?&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Mostly Snarty was responsible for starting the influx of people. Then I think my tutorials started pulling more and more folks in. Then I went to a couple of BlitzCoder conferences in the &lt;/span&gt;&lt;st1:country-region st="on"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;UK&lt;/span&gt;&lt;/st1:country-region&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; (and a number throughout the &lt;/span&gt;&lt;st1:country-region st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;US&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:country-region&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;) and that added even more people. Finally, the environment that was set up was one that fostered help and didn't allow snapping at people simply for asking questions.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;The goal was to be helpful, not elitist. I've always felt that just because I'm better at something than someone else doesn't mean I haven't traveled the road that they're currently on. Also, I'm smart enough to know that there are MANY people out there better at that same thing than I am…and it's quite likely that this person I'm helping today it going to end up surpassing my skills in the long run. Plus, frankly, I just can't stand people that act elitist. They're clearly hiding some type of inferiority or they wouldn't be that way. I think this attitude spread from me to the moderators and to the rest of the people on the site.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;People weren't afraid to ask questions. They weren't afraid to participate in discussions, even if they were still noobies. It was about coding prowess, it was about enjoying the geekiness of coding in a mostly obscure language.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;When it's all said and done the community ultimately made the site as popular as it was...they deserve the credit. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;6 - Did you have bandwidth warnings/ data moving up to maximum levels to contend with?&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;In the end, the site was being slammed with so much usage that the Webhost I was using contacted me and said I had 30 days to remove the site from their servers! LOL. I felt a mix of pride and panic. I didn't have the money to do anything with this so I was going to put up a message that I was taking the site down.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;I happened to be talking to George Bray (then of Idigicon) about some book fixes that I needed to make before the next run and I told him that BlitzCoder was in trouble. He talked to Giles Hunter and they offered to take over the running of the site. From there I slowly moved away from Blitz stuff and into other languages, doing another book for Idigicon on Pure Basic.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;Well, that's about it I guess. It was a fantastic experience and there are so many fond memories of all the people that I got to meet on that site. Most of the people I know only by their Aliases, which is kind of cool actually. &lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-14143864743327642?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/14143864743327642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/05/origins-of-blitzcoder.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/14143864743327642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/14143864743327642'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/05/origins-of-blitzcoder.html' title='Origins of BlitzCoder'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-8728672444224177437</id><published>2010-05-13T10:33:00.005-04:00</published><updated>2010-05-13T10:53:02.816-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Blackbox coding</title><content type='html'>I'm in the middle of a big project for work that is very geeky and fun. I'm having a blast coding it up.&lt;br /&gt;&lt;br /&gt;Essentially I have a bunch of APIs that I have to integrate a game into each time one comes in.&lt;br /&gt;&lt;br /&gt;As anyone who codes knows, this is a tricky proposition because it takes time to understand someone else's code. Once you understand the code then you have to start working the API hooks into it. Then you do your testing and get others to help test. Finally, you ship that version of the product and then do the next integration point for the same game (hook in another API for a different launch portal). Currently we have three portals to launch out of, but there will be another 3-5 over the course of the year. This puts me in the position of each game taking like a month to do. With 15 games looming, anyone can see that's not gonna happen quickly.&lt;br /&gt;&lt;br /&gt;So I thought about it and decided to write a blackbox interface for all this junk that I can turn over to the game developer and allow them to do the integration themselves.&lt;br /&gt;&lt;br /&gt;It looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_24PjrU30kCI/S-wQ_B8YYQI/AAAAAAAAACQ/t3InbgpCbSU/s1600/blackbox.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 320px;" src="http://3.bp.blogspot.com/_24PjrU30kCI/S-wQ_B8YYQI/AAAAAAAAACQ/t3InbgpCbSU/s320/blackbox.jpg" alt="" id="BLOGGER_PHOTO_ID_5470766322387804418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So the blackbox is essentially an interface. It has a list of all the available functions that the developer can code to. The developer doesn't have to worry about the Platform specific code. I do.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;When the SWF is loaded, I set the distribution argument in the embed tags flashvars section, which tells the black box what platform to connect to.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The developer builds once on a generic platform, hand the code+build to me.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I create multiple .html files that have different distribution arguments, and then launch the game.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The blackbox handles the routing to the appropriate platform and the platform communicates with the appropriate server.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;All the data that comes back into the game is identical regardless of the platform selection because the blackbox handles the translation.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I know that this isn't a novel idea at all, but it sure is freakin' fun to code! :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-8728672444224177437?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/8728672444224177437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/05/blackbox-coding.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8728672444224177437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8728672444224177437'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/05/blackbox-coding.html' title='Blackbox coding'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_24PjrU30kCI/S-wQ_B8YYQI/AAAAAAAAACQ/t3InbgpCbSU/s72-c/blackbox.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-5770725803185500612</id><published>2010-04-26T10:04:00.002-04:00</published><updated>2010-04-26T10:23:27.327-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Shoulder separation - Not recommended</title><content type='html'>I was playing ice hockey the other night and all was well. There were two minutes remaining in the game. We were winning 6 - 2. Then it happened. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was heading into the boards to poke a puck around. It was just me and one of the fellows from the other team. Neither of us was going all that fast considering a deficit of 6 - 2 is not easily changed in 2 minutes. Sadly, our feet got tangled and I went shoulder-first in to the wall.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I've been checked full force before and everything was dandy, but a little harmless fall at like 5mph and CRUNCH. Yes, I heard an audible crunching sound. Oddly, it didn't hurt at all...for like three whole seconds. For those three seconds I was having thoughts like, "Well, a crunching sound can't be good" and "Maybe it's like when the chiropractor adjusts your spine?". Turns out that the first thought was the correct one. When the three seconds of interested-third-party thoughts concluded, the in-the-moment me returned to find a searingly horrific pain like few others I've felt over the years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I sat on the bench for the remainder of the game carefully holding my arm in place. It was less than fun. After getting back to the locker room my teammates helped me get everything together, and one of them did a makeshift sling (impressive, actually), and then I called my wife since I was in no condition to drive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We got to the Emergency Room and waited a while (something I'm sure will get better now that we have universal healthcare coming...&lt;cough&gt;) before they did x-rays and such. At first they couldn't find anything wrong. Then they tried a different angle. I believe I heard an "oh...hmmmm...&lt;whispering&gt;that's not good." I asked what was up and was told the doctor would see me.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The doctor showed up sometime later. She told me I had a fractured clavicle and likely a torn AC joint. I asked what this meant for my hockey playing days. "You'll be out 6-8 months," she said. "Blehgang?!?" I replied, or something akin to that. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following day I was able to get to a specialist (again, we're still not at that full-on universal healthcare stage here so getting an appointment is still possible). He went over my x-rays, did a few tests on my shoulder and said that the people at the ER jumped the gun a bit. He said that there is no fracture and that both my joints are intact. "You have a grade-one separation," he said. "Am I out 6-8 months, doc?" I asked, hopeful as ever. "No, probably 2-3 weeks." &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At first I was elated, then I thought "2-3 weeks???" and said, "Blehgang?!?" again. It just seemed fitting. He explained that I needed to use the arm and that it's basically going to hurt like hell. He's right about that. It does. Fortunately, I have little happy pills to help with the pain. Unfortunately, I don't like taking meds so I'm avoiding them as much as possible.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So now I'm doing stretches and such in order to work myself back to being able to play again in the next 3 weeks. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm just glad I'm able to type fully again. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-5770725803185500612?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/5770725803185500612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/shoulder-separation-not-recommended.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5770725803185500612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5770725803185500612'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/shoulder-separation-not-recommended.html' title='Shoulder separation - Not recommended'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-6111087172263903859</id><published>2010-04-19T10:04:00.002-04:00</published><updated>2010-04-19T10:16:25.802-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>End of the line redone</title><content type='html'>I redid all of "End of the Line" over the weekend using the GS-10. It just sounds 100x better this way than using the VG-99. Everything is crisp and has no digital feel to it. Sustain is also a lot better. I don't know why that is, but it is!&lt;br /&gt;&lt;br /&gt;This was liberating since I was able to pull back from using 10's on the high E. Why does that matter? Because 10's rip my fingers up. I used them because of the GK-3 pickup. Now that I have removed the GK-3 pickup from my main ax and put it instead on my secondary, my main ax is back to using 9's. They feel like butter.&lt;br /&gt;&lt;br /&gt;I was so stoked about the new sound that I also went back and sang the song over again too. There was more punch to the vocals this time around, so that will help.&lt;br /&gt;&lt;br /&gt;Now the song is off to Ron for adding in drums and percussion, and then for mixing.&lt;br /&gt;&lt;br /&gt;...off to re-recording "Wielder of the Blade" this week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-6111087172263903859?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/6111087172263903859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/end-of-line-redone.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6111087172263903859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/6111087172263903859'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/end-of-line-redone.html' title='End of the line redone'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-8516067154062584394</id><published>2010-04-19T09:36:00.003-04:00</published><updated>2010-04-19T10:03:51.273-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>AS3 memory management part II</title><content type='html'>I went through and did the plan from my &lt;a href="http://krylarskreations.blogspot.com/2010/04/as3-memory-management.html"&gt;previous AS3 memory management&lt;/a&gt; post and things are looking better. By just allocating things one time at the beginning of the game and pushing them to the display list once as well, I'm now at about 1/2 the amount of memory hogged by the time I reach level 20 of the game.&lt;br /&gt;&lt;br /&gt;This should be sufficient to solve the problem of game slowdowns.&lt;br /&gt;&lt;br /&gt;At this point I could pull all of the frames and such from the game, but I don't think I'm going to do that. If a person runs back and forth in the menu and such 100x, it'll likely bump up the memory usage a bit but not nearly as badly as the game frame is and it's frankly an edge-case anyway.&lt;br /&gt;&lt;br /&gt;The bottom line is that if you're coding up a game or application that has a number of levels to it, and is full of tons of graphical elements and such, you'll probably want to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Do all of your allocation at the start of your game&lt;/li&gt;&lt;li&gt;Use addChild(...) as you allocate and then just write a little function that "hides" your graphics by altering their x and y to be something like: -999,-999&lt;/li&gt;&lt;li&gt;Show your graphics by setting the new x and y to wherever they should actually be&lt;/li&gt;&lt;li&gt;Make sure you don't undercut the number of graphics you'll need when doing your initial allocation&lt;/li&gt;&lt;/ul&gt;Now before anyone gets all fired up about the use of globals here. You don't have to use globals. You can create a class that handles all this stuff and encapsulates things neatly. It'll add a little overhead doing this, but for purists it should work fine. For everyone else, globals are not as neat and tidy, no, but they do give that feeling of old-skool hack development. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-8516067154062584394?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/8516067154062584394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/as3-memory-management-part-ii.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8516067154062584394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8516067154062584394'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/as3-memory-management-part-ii.html' title='AS3 memory management part II'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-4042985741052210180</id><published>2010-04-13T23:56:00.002-04:00</published><updated>2010-04-14T00:26:33.752-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>AS3 memory management</title><content type='html'>...is a pain in the butt.&lt;br /&gt;&lt;br /&gt;I've known for years that the AS3 GC (Garbage Collector) runs through and cleans junk up when it is ready to, but this is somewhat crazy.&lt;br /&gt;&lt;br /&gt;Let's say you have a Sprite all set up called "Ship", and you blow it up on the screen and then want to remove the ship.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;// remove the child from the display list...I'm using GameElements here&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;&lt;br /&gt;// could just as easily be the root&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;&lt;br /&gt;GameElements.removeChild(ship);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;&lt;br /&gt;// and set the actual ship var to null&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;&lt;br /&gt;ship = null;&lt;/span&gt;&lt;/blockquote&gt;Now, the ship should be deleted and done, right? Wouldn't that be super? Turns out that you can no longer reference the ship, but Flash still has it sitting around in memory until it decides the time is right to remove it. This could take seconds or hours (or it may never remove it).&lt;br /&gt;&lt;br /&gt;The problem gets worse if you use the Flash frames, apparently. (I'm kind of guessing on this one). If you use Flash frames, everything you have populated onto the frame is going to be allocated. So any images, text-fields, etc. Now, when you're done with that frame and move onto the next--assuming you have set everything on the previous frame to null--it should all disappear. Visually, it does, but just like the aforementioned "ship", all the elements are still in memory until the Flash GC nukes them.&lt;br /&gt;&lt;br /&gt;So, now, imagine this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Frame 1: Splash screen&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Frame 2: Game Screen&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Frame 3: Level Complete screen&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Frame 4: Game Over Screen&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The game starts and we show Frame 1 for a couple of seconds and then jump over to Frame 2. Frame 2 starts up your game with all its nifty little sprites and such. You play through the level and win (yay!). Now the game moves on to Frame 3 to show you how you did, and asks you if you're ready for the next level. Stop...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 - Show Frame 1 (Splash)&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;2 - Show Frame 2 (Game)&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;3 - Remove elements from Frame 2&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;4 - Show Frame 3 (Level Complete)&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;5 - Remove elements from Frame 3&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;6 - Go back to item #2 in this list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;See a problem here? All of the elements in Frame 2 are still sitting in memory (unless Flash's GC cleaned them up...highly unlikely), and then Frame 3's are as well. We could be 20 levels into a game and ALL of the prior data is still sitting in memory. UGH!&lt;br /&gt;&lt;br /&gt;And this doesn't even touch the fact that if you have any event listeners tied to these items they'll keep firing until the GC deletes them. Even if you remove the even listener, the reference will stay there unless you set the useWeakReference to true.&lt;br /&gt;&lt;br /&gt;When creating an event listener, instead of:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;SayAgainButton.addEventListener(MouseEvent.CLICK,SayAgain);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Use:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;SayAgainButton.addEventListener(MouseEvent.CLICK,SayAgain, false, 0, true);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Again, it'll still hang out until the GC picks it up, but at least it *will* pick it up eventually.&lt;br /&gt;&lt;br /&gt;Until then, guess what happens? Yep, all the stuff you created from levels 1-19 will still be in memory firing until the GC snags it. Why? I honestly don't know. It seems rather silly to me.&lt;br /&gt;&lt;br /&gt;Oh, one more thing to note: Even if you create a symbol that has a bunch of frames sitting inside of it, and you're using gotoAndStop(...) or next() to pulse through, etc., you'll see your memory go up. This is because it's not until you actual hit a particular frame that the frame is loaded. This is actually understandable and fine, but it is something to note as you're doing stuff so you don't pull you hair out.&lt;br /&gt;&lt;br /&gt;So what is there to do?&lt;br /&gt;&lt;br /&gt;Well, that's the $1M question. What I'm going to *try*, is the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 - Remove the whole frame concept entirely. &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;2 - Create all my assets at the start of the project&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;3 - Instead of removing them from the child list and nulling them, I'm going to create a little (throw me off the screen) function that effectively does the same thing, but only retains ONE element in memory through the life of the game, no hundreds. I'll just stick the items at -999,-999 or something.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;4 - I already reuse the majority of my elements in arrays, but it seems the child list is a part of the problem (at least from my testing). So I want to have a fixed set of addChild calls instead of numerous ones. Again, this is accomplished by creating the elements at the start of the game and reusing them throughout.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Will this solve the problem? That's the question I hope to answer tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-4042985741052210180?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/4042985741052210180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/as3-memory-management.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4042985741052210180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/4042985741052210180'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/as3-memory-management.html' title='AS3 memory management'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-3047387541258441647</id><published>2010-04-06T17:30:00.000-04:00</published><updated>2010-04-06T17:30:00.931-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Coding</title><content type='html'>I had a little fun working up a Flash system that snagged and XML file and an .MP3 file, mushed about inside of them and churns out a little soundtrack with text running along at the same time.&lt;br /&gt;&lt;br /&gt;Unfortunately, I have no way of getting the XML to be smart enough to load up everything on the .MP3's timing. This just means that I have to use a tool (I use Audacity) to find the start points of each each text portion and tell the XML file where those are. &lt;br /&gt;&lt;br /&gt;The tricky bit is that Flash doesn't have a way to reset its start timer. Not a huge deal, but doing the pause and resume stuff gets a little wacky while trying to keep tabs on the location on the .MP3 and the story itself. &lt;br /&gt;&lt;br /&gt;The trick is to make sure to have a timer offset that you set when the story actually starts. And you set your start time to zero. Now you can compare safely, like:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; timeElapsed = (timeElapsed + (getTimer() - timeOffset)) / 1000;&lt;br /&gt; if (timeElapsed &gt; storyTime)&lt;br /&gt;        {&lt;br /&gt;           ....&lt;br /&gt;        }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;When you pause, make sure to set a time paused variable using the getTimer(), and also pause the .MP3 and get its current position.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; soundPausePoint = storySoundChannel.position;&lt;br /&gt; storySoundChannel.stop();&lt;br /&gt; timePaused = getTimer();&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then when you're ready to resume, you'll have all the junk you need to set your timers and your .MP3 start point accordingly.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; storySoundChannel = storySound.play(soundPausePoint);&lt;br /&gt; timeOffset = getTimer() + (timeOffset - timePaused);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Nifty, no?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-3047387541258441647?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/3047387541258441647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/coding.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/3047387541258441647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/3047387541258441647'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/coding.html' title='Coding'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-1333619087388593881</id><published>2010-04-02T20:30:00.000-04:00</published><updated>2010-04-03T11:04:53.605-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Re-recording with GS-10</title><content type='html'>Well, I re-recorded all the distorted guitars on Aeserian using the GS-10 instead of the VG-99. It sounds loads better in my opinion, so I'm glad I figured that out now instead of during the mixing phase. The sad news is that now I have to go through and re-record all the guitar bits for all the songs I've already done. Hopefully this won't take all that long. I have to redo the following tunes:&lt;br /&gt;&lt;br /&gt;1. End of the Line&lt;br /&gt;2. Mirnrith&lt;br /&gt;3. Wall&lt;br /&gt;4. Sings to You (Whisper)&lt;br /&gt;5. The Wielder of the Blade&lt;br /&gt;6. Sai&lt;br /&gt;&lt;br /&gt;I still have to record the rest of the songs, so I'm glad I caught this now. At least I don't have to redo all of them!&lt;br /&gt;&lt;br /&gt;It wouldn't be so bad if it was just the rhythm parts, but I'm not to just use a single guitar in my stuff. I think Wielder alone has like 15 different guitar bits throughout. On the plus side, I've been playing these songs for years so I know them like the back of my hand. With any luck, it'll go pretty quickly. We shall see!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-1333619087388593881?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/1333619087388593881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/re-recording-with-gs-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/1333619087388593881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/1333619087388593881'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/re-recording-with-gs-10.html' title='Re-recording with GS-10'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-8836429329060053397</id><published>2010-04-02T19:00:00.001-04:00</published><updated>2010-04-02T19:00:00.609-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Kreth'x</title><content type='html'>What's a Kreth'x, you ask? Why it is a sword, of course! It's a sentient sword at that. It is the sword used by the main character in "The Wielder of the Blade" book based in the land of Phylean. The main character's name, if you're wondering, is Rais'Alon. &lt;br /&gt;&lt;br /&gt;Kreth'x is also the name of the "band" (consisting of myself and Ron Burgoyne, so it's more of a duo than a band, but "duo" just doesn't have that awe-inspiring umph that "band" does) that is creating the heavy metal album "The Wielder of the Blade", which, if you're still following along, is a concept album based upon the book.&lt;br /&gt;&lt;br /&gt;The domain for Kreth'x is already reserved, but I've not done anything with it yet because I'm still awaiting some images. Hopefully we'll have something to show in the next few weeks on the actual site. I will, however, try to post a few images and such here as they become available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-8836429329060053397?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/8836429329060053397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/krethx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8836429329060053397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8836429329060053397'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/krethx.html' title='Kreth&apos;x'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-7971771848142682510</id><published>2010-04-02T18:30:00.001-04:00</published><updated>2010-04-02T18:30:00.148-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Roland VG-99 vs. Boss GS-10</title><content type='html'>I have both the Roland VG-99 and the Boss GS-10 and both are pretty nifty, but I'm finding that I really need both to feel comfy recording.&lt;br /&gt;&lt;br /&gt;The VG-99 is a crazy unit that has all sorts of bells and whistles, especially if you use the GK-3 pickup (which I do). With this system, I'm able to play all sorts of sounds and even control midi-devices and record into Sonar the midi notes I'm playing on the guitar. This works because the GK-3 pickup has per-string pickups instead of the standard guitar one pickup model. I can essentially make my standard 6-string electric sound like anything: a flute, a 12-string guitar, a mandolin, violins, drums, a bass, etc. &lt;br /&gt;&lt;br /&gt;The latency is a bit problematic when trying to control midi-devices, but it's not awful for recording the midi notes. The trick here is to have the midi notes recording while you're listening to a normal sound from the VG-99. Then you can manually tweak the midi notes and assign them to the instrument of choice. So you record using a standard guitar sound, but when you have Sonar (or you recording system of choice) play back the midi, it can sound like anything your midi-device supports. This is great if you're not a keyboardist but still want those keyboard sounds. Plus, using this method you can alter the notes by hand for when your timing or note placement is off a bit.&lt;br /&gt;&lt;br /&gt;So what's the problem with the VG-99? Sadly, there are a few. &lt;br /&gt;&lt;br /&gt;1. The pickup installation messes with your guitar's action. This is particularly bad if you're using heavier gauge strings. There is the slightest (barely noticeable) delay from when the string is plucked to when the sound emerges. It's so slight that the only person that will notice is the person playing 100mph. Slower players may not notice it at all.&lt;br /&gt;&lt;br /&gt;2. When you play fast stuff, it starts to sound a bit digital. It's as if there are little wav files there just playing over themselves. It gets choppy.&lt;br /&gt;&lt;br /&gt;3. Anytime I hit the D note (or chord), the guitar loses the proper stereo sound and hits full center. It only happens on D when the guitar is distorted.&lt;br /&gt;&lt;br /&gt;4. The distortions sound iffy. There's just no really kerboom to them, if you know what I mean.&lt;br /&gt;&lt;br /&gt;And this is why I hang onto the Boss GS-10. The Boss distortions are awesome. I get all the aforementioned kerboom out of the GS-10 for distortion and speed junk, and since it has the built-in speakers I can also move it around with me wherever I roam.&lt;br /&gt;&lt;br /&gt;So for midi and clean sounds, the VG-99 is a pretty nifty unit. For distortion, I prefer the GS-10 greatly.&lt;br /&gt;&lt;br /&gt;You'll get to hear them both on the upcoming "The Wielder of the Blade" album.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-7971771848142682510?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/7971771848142682510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/roland-vg-99-vs-boss-gs-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/7971771848142682510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/7971771848142682510'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/roland-vg-99-vs-boss-gs-10.html' title='Roland VG-99 vs. Boss GS-10'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-2244495721405864059</id><published>2010-04-02T17:40:00.000-04:00</published><updated>2010-04-02T17:40:00.884-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Sonar 8.5</title><content type='html'>In preparation for getting back on track with "The Wielder of the Blade" album, I upgraded from Sonar 7 to 8.5. So far I rather like it. &lt;br /&gt;&lt;br /&gt;They changed the default menus and layout a little bit in the new version. It works better for me now that I'm getting used to it.&lt;br /&gt;&lt;br /&gt;One of the nicer things is that the audio engine is more responsive. It's smoother. I haven't had any audio dropouts since the upgrade and I was getting them at least once per recording session before. I'm in the process of saving up for a new machine, which will make this puppy really purr (or, is that kitty?). For now, though, it's performing quite well on my elderly clunker. &lt;br /&gt;&lt;br /&gt;The new vocal strip is going to be quite helpful in making my singing sound good...erm, less bad. It has a lot of nifty little features and presets. I can see that there will be a bit of a learning curve on it, but it promises to be worthwhile.&lt;br /&gt;&lt;br /&gt;I plan on getting after more of the recording facets this weekend, so I'm certain problems will turn up. But my initial reaction is that Sonar 8.5 has potential.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-2244495721405864059?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/2244495721405864059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/sonar-85.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/2244495721405864059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/2244495721405864059'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/sonar-85.html' title='Sonar 8.5'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-5351506534703005078</id><published>2010-04-02T10:12:00.004-04:00</published><updated>2010-04-02T17:36:39.854-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>BlitzCoder / Blitz Basic</title><content type='html'>Old BlitzCoder Tutorials are up - I've recently received a bunch of requests for my old Blitz Basic tutorials (from the BlitzCoder era). Fortunately, &lt;a target="_blank" href="http://www.specis.me.uk/"&gt;Charles 'Specis' McCrimmon&lt;/a&gt; retains a copy of everything known to man. So he packaged it all up and sent them over. I got everything working today so anyone who's interested can check out the old tutorials and grab the old source code. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;color:#f00"&gt;NOTE:&lt;/span&gt; I'm &lt;span style="font-weight:bold;font-style:italic;"&gt;not&lt;/span&gt; supporting this stuff anymore, but if you're interested: &lt;a target="_blank" href="http://www.krylarskreations.com/bc"&gt;BlitzCoder Tutorials&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-5351506534703005078?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/5351506534703005078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/blitzcoder-blitz-basic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5351506534703005078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/5351506534703005078'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/blitzcoder-blitz-basic.html' title='BlitzCoder / Blitz Basic'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5238907515214448310.post-8630431524930252225</id><published>2010-04-01T18:00:00.006-04:00</published><updated>2010-04-02T11:29:06.581-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>The Big Move</title><content type='html'>I decided to move Krylar's Kreations over to the blogging format because I was tired of looking at the static page of my website. My hope is that this way I'll be able to write stuff more often in order to keep the content fresh.&lt;br /&gt;&lt;br /&gt;For now, though, I've still got some integration work to do. So...more later!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5238907515214448310-8630431524930252225?l=krylarskreations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krylarskreations.blogspot.com/feeds/8630431524930252225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/i-decided-to-move-krylars-kreations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8630431524930252225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5238907515214448310/posts/default/8630431524930252225'/><link rel='alternate' type='text/html' href='http://krylarskreations.blogspot.com/2010/04/i-decided-to-move-krylars-kreations.html' title='The Big Move'/><author><name>KrethX</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q6RKGam_muA/TpH3gIzxN2I/AAAAAAAAAIs/-oO4_5tsHoU/s220/KrethxCover150x150.jpg'/></author><thr:total>0</thr:total></entry></feed>
