<?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-3764661518056737850</id><updated>2011-12-08T22:19:43.830Z</updated><category term='CoVii'/><category term='NothingToDoWithGameDev'/><category term='Announecment'/><category term='miniLD'/><category term='Art'/><category term='Tutorial'/><category term='website'/><category term='Game Art'/><category term='Announcement'/><category term='Litterbox'/><category term='Programming'/><category term='GUI'/><category term='Game Progress'/><category term='El Poho'/><category term='Game Dev'/><category term='job'/><category term='Life Ramblings'/><category term='Chiustream'/><category term='Desert Bus'/><category term='Gaming News'/><category term='Charity'/><category term='Animation Engine'/><category term='Ramblings'/><category term='The Projects'/><category term='Random projects'/><category term='Animation'/><category term='Two Thirds Life 2'/><category term='Announcment'/><category term='Tips and Tricks'/><title type='text'>Catbox Beta Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-4908000776379889321</id><published>2011-12-02T01:40:00.002Z</published><updated>2011-12-03T01:57:43.004Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='job'/><title type='text'>New Website is Up!</title><content type='html'>Ok, so I was talking with the folks at the Ludumdare IRC the other day and they advised me to create a website to show off my stuff. And so for the last two days I've been working on it tirelessly almost every waking hour to get it up and running and I tell you: HTML, CSS and javascript are NOT nice to work with!&lt;br /&gt;&lt;br /&gt;Also as I'm writing this I'm talking to the guys at IRC and another suggestion of theirs that I think I'll follow is first to switch from blogspot to wordpress, then register a proper domain name, and finally change my hosting. But since I've only just created it and I'm really busy right now I'll do that next week if not later.&lt;br /&gt;&lt;br /&gt;Anyway, here's my Website:&lt;br /&gt;&lt;a href="http://catboxbeta.x10.mx/"&gt;http://catboxbeta.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Any critiques in relation to content, design and anything at all are very welcome!&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-4908000776379889321?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/4908000776379889321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2011/12/new-website-is-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4908000776379889321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4908000776379889321'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2011/12/new-website-is-up.html' title='New Website is Up!'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8100064471524994985</id><published>2011-11-29T07:40:00.002Z</published><updated>2011-11-29T07:42:41.377Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Random projects'/><title type='text'>Deferred Lighting</title><content type='html'>First a quick update on stuff that's been going on since my last post here:&lt;br /&gt;-I've been let go from my old job, looking for new one.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And now back to our topic at hand.&lt;br /&gt;I always like to boast that I'm a graphics programmer, that there's little that can stop me in my way and even though I actually do believe that's true I don't have much to show for that. Be it because of work and being uninspired to program back at home, or because I've spent far too long retouching my engine and in the end I end up with a lot of hidden work and nothing visible, or because I was simply too lazy/distracted.&lt;br /&gt;&lt;br /&gt;Well, since I lost my job I decided It's time to boost my portfolio a bit, and prove to everyone and to myself that I can actually be a good graphic programmer. To accomplish this I decided to work every day on a small demo of a certain feature I never implemented before. The first one being:&lt;br /&gt;&lt;br /&gt;Deferred Lighting.&lt;br /&gt;&lt;br /&gt;Of course my first reaction was grabbing as much as I could from the internet in terms of research papers and tutorials. The most helpful I found are these:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gamedev.net/page/reference/index.html/_/technical/opengl/creating-a-glsl-library-r2428"&gt;Creating a GLSL Library&lt;/a&gt; - This was a good way to quickly sketch out a simple per-fragment lighting shader and apply it to a model lit directly. I've used this before so I simply copied most of the code&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codinglabs.net/tutorial_simple_def_rendering.aspx"&gt;Coding Labs Deferred Rendering Tutorial&lt;/a&gt; - This is what I needed, though I decided to skip the tutorial and learn directly from source code since I already understood the concepts and implementation, but I didn't know which opengl functions to use.&lt;br /&gt;&lt;br /&gt;Normally Deferred rendering requires you to use the inverse of the modelview matrix and inverse of the projection matrix to get both the pixel position from projected screen space to camera-space, and to get the lights from world space to camera space, however the tutorial used a nasty inefficient hack to get the pixels in world space without the need for transformation: it simply recorded all x, y and z inside what in normal deferred lighing program would be a single-32bit float-value gbuffer.&lt;br /&gt;&lt;br /&gt;However with lights I did another nasty hack: instead of using the gl_LightSource[i].position in my shader I simply replaced it with an array of vec4 screen-space light positions I calculated outside using the modelview matrix from the first pass and passed to the shader.&lt;br /&gt;&lt;br /&gt;All of this just so I didn't have to write/find and de-obscure and test and debug a matrix inverse function.&lt;br /&gt;&lt;br /&gt;In the end I spend between 4 to 8 hours on this (how mach depends if you count the research time) over the course of 2 days.&lt;br /&gt;&lt;br /&gt;The results?&lt;br /&gt;Here:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-jPjWi9u-Bq4/TtSGvSmWNII/AAAAAAAAAIE/3lCuyhCEaaI/s1600/Deferred_Final.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-jPjWi9u-Bq4/TtSGvSmWNII/AAAAAAAAAIE/3lCuyhCEaaI/s1600/Deferred_Final.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;All in all it wasn't that bad but the code ended up a horrible conglomerate mess, most of which was shoved into a single main.cpp file.&lt;br /&gt;&lt;br /&gt;If you're interested you can download the demo with the code here:&lt;br /&gt;&lt;a href="http://bit.ly/rqfPks%20"&gt;Deferred Shading Demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Before you look at the source please note that this is terrible code, unoptimized and originally wasn't meant for viewing by other people, if I ever did the exact same demo again there would be ZERO similarity.&lt;br /&gt;&lt;br /&gt;Right now I'm working on another experiment, namely importing a model with animation using Assimp (which I still have to learn) and then use that data in my animation tree (similar to the one UDK has), in the end add some IK, but this experiment is much larger than the deferred shading one, so it'll take probably about a week or so before I post here again.&lt;br /&gt;&lt;br /&gt;Thanks for your attention! &lt;br /&gt;Laters!&lt;br /&gt;Spliter&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8100064471524994985?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8100064471524994985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2011/11/deferred-lighting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8100064471524994985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8100064471524994985'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2011/11/deferred-lighting.html' title='Deferred Lighting'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-jPjWi9u-Bq4/TtSGvSmWNII/AAAAAAAAAIE/3lCuyhCEaaI/s72-c/Deferred_Final.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-1355829159702240453</id><published>2011-08-21T00:09:00.002+01:00</published><updated>2011-08-21T04:41:53.807+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Progress'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Art'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Progress snippet</title><content type='html'>&lt;b&gt;Hello!&lt;/b&gt;&lt;br /&gt;Ludum Dare 21 has started yesterday. Unfortunately I'm not participating but that doesn't mean I won't be doing anything this weekend!&lt;br /&gt;&lt;br /&gt;For the last month or two I've been working on my game engine. My little baby Litterbox has it's third rewrite from scratch ever since I've started making it. This time the key word is "Components"!&lt;br /&gt;&lt;br /&gt;Now, components are a very, very good thing, but the classical component-based engine design has it's flaws like component communication overhead, the lack of centralized control, and many more than would normally keep me away from it. However I couldn't just go back to using the traditional deep hierarchy design as it constraints the flexibility of the engine, and many times you have to use a super-complex base-object that I really don't want to have.&lt;br /&gt;&lt;br /&gt;So.. What's the sollution?&lt;br /&gt;&lt;b&gt;Hybrid&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;My engine architecture is a hybrid one, having always a centralized&amp;nbsp; game entity to which the components are linked. In most cases this means that I have a command center for my objects, but I can also add and new components easily. So if I have a 2D game engine where I suddenly would want one of my bosses to be fully 3D there wouldn't be a problem! I just add a lb3DModelComponent to my boss object, and handle all the special 3D code in the entity.&lt;br /&gt;&lt;br /&gt;So far I've moved from 2D animated sprites to 3D models (with Horde3D) without any problems, and if I want a 2D game on top of my 3D game then there's absolutely no problem!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;So, here's my progress so far:&lt;/b&gt;&lt;br /&gt;-I have a fully functional Entity system with attachable components.&lt;br /&gt;-2D box-based collision system (with various iterations per frame)&lt;br /&gt;-2D graphic system, leftover from earlier engine testing, with support for animated sprites loaded from a sprite sheet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;My Game&lt;/b&gt;&lt;br /&gt;I also started thinking about the game I want to make. In my earlier days as a wannabe game dev I created a small demo in gamemaker, where you controlled a fiery guy, you had a selection of fire-based weapons and you were left in a small town full of squishy pink dudes and buildings to use your abilities on.&lt;br /&gt;Recently I showed it to a couple of guys at LudumDare IRC channel and the feedback they gave me really pumped me up so I decided to give that game another try.&lt;br /&gt;&lt;br /&gt;The basic idea of the game was that you were a Poyo, a little pink dude kinda resembling a Poring from Ragnarok Online. You would then acquire special powers that would let you transform into a version wielding 1 of 3 natural elements, namely: Fire, Water and Flora.&lt;br /&gt;&lt;br /&gt;The game setting was mostly based in a fantasy land with traces of advanced tech.&lt;br /&gt;&lt;br /&gt;Now I'm reworking the Idea. I'm planning for keeping the feature of 3 elemental transformations, and as planned before the game would be an Action-Adventure, though I might throw in some RPG elements in there too since it seems to be a good blend considering the fantasy setting.&lt;br /&gt;Anyway, here's the screenshot of how things are so far: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img585.imageshack.us/img585/2420/poyoandtower.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://img585.imageshack.us/img585/2420/poyoandtower.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This also was a good excuse to go back to modelling in Blender.&lt;br /&gt;Importing these models to Horde3D was a real pain in the ass as the colladaConverter crashed when converting them, but the people on Horde3D forum had a nice workaround which works good so far.&lt;br /&gt;&lt;br /&gt;For comparison here's how the old PoyoAdventure demo looked:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img192.imageshack.us/img192/3383/oldpoyoadventure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://img192.imageshack.us/img192/3383/oldpoyoadventure.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;That's quite a sight there in all its 2D glory, however 2D constraints when it comes to depth and having object on top of one another really threw me away from it, that's why I decided to remake this game with 3D graphics (though with the same 3/4 view). I still plan on using 2D collisions though, just to work faster and have something done in less time.&lt;br /&gt;&lt;br /&gt;I won't finish this game but I want to have a fun to play prototype. If it's fun enough then I'll work on it more adding fully 3D collisions, proper story, and I'll invest more time into it. (Basically this version will be the proof that I can make a game, as well as a proof of concept for my engine).&lt;br /&gt;&lt;br /&gt;I'll be working on this most of the weekend, in a few hours I should have the little pink dude walking around with a basic animation and colliding with stuff. No idea what I'll do tomorrow but lately I've found out that striding back and forth around my house, brainstorming, gave me lots of good ideas as well as will/inspirations to implement them.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit: For those interested, no I didn't get the animations playing. I have no idea how I export animations from blender to use in Horde. I'll ask on Horde forums but that place is pretty much a ghost town. I'm kind of starting to regret using Horde instead of Ogre3D. If I don't find anything reasonable soon I'll try making my own converter with the help of AssImp.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;That's all for now!&lt;br /&gt;&lt;br /&gt;Later!&lt;br /&gt;Spliter&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-1355829159702240453?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/1355829159702240453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2011/08/progress-snippet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1355829159702240453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1355829159702240453'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2011/08/progress-snippet.html' title='Progress snippet'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8446338731238314432</id><published>2011-07-11T02:10:00.000+01:00</published><updated>2011-07-11T02:10:12.311+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NothingToDoWithGameDev'/><title type='text'>Going social</title><content type='html'>Yeah.&lt;br /&gt;As a mean to slowly start changing my life and become more social I joined Google+ and Twitter(SpliterCbb).&lt;br /&gt;My life in the last few months has been almost nothing more than wakeup-watch videos on yt/play games-sleep and it's been a bit colourless lately (especially if I compare it to my academic life before I lost everything). But as a way to keep my sanity and keep myself minimally occupied in my free time (considering I can't bloody do anything creative as I have enough of programming at work) I decided to jump onto the latest social craze.&lt;br /&gt;Whoopee frikin Do.&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8446338731238314432?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8446338731238314432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2011/07/going-social.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8446338731238314432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8446338731238314432'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2011/07/going-social.html' title='Going social'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-6572676571121393268</id><published>2011-06-01T15:17:00.000+01:00</published><updated>2011-06-01T15:17:02.749+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Announcment'/><category scheme='http://www.blogger.com/atom/ns#' term='Animation'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><category scheme='http://www.blogger.com/atom/ns#' term='Animation Engine'/><title type='text'>The joints are turning</title><content type='html'>Hello!&lt;br /&gt;Luck is not always on our side and so the animation tutorial will be delayed a little. I do have it completely planned out though so pretty soon you'll see the first chapter. The complete tutorial will have 9 chapters ranging from vector transformations, through skinning, blending animations IK and saving.&lt;br /&gt;&lt;br /&gt;It's the biggest such project I have got myself into so wish me luck!&lt;br /&gt;&lt;br /&gt;The first chapter will just talk about vectors and vector transformation so those that already know this stuff can skip it without much thought.&lt;br /&gt;&lt;br /&gt;In this chapter I will assume you've at least heard of vectors and I'll just speed through a few useful things like dot and cross products, and matrix transformations and some interesting applications, so even if you already understand vectors it'll be worth skimming though it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Later!&lt;br /&gt;Mikolaj (Spliter) Kuta&lt;a class="cssButton" href="javascript:void(0)" id="publishButton" onclick="if (this.className.indexOf(&amp;quot;ubtn-disabled&amp;quot;) == -1) {var e = document['postingForm'].publish;(e.length) ? e[0].click() : e.click(); if (window.event) window.event.cancelBubble = true; return false;}" target=""&gt;&lt;div class="cssButtonOuter"&gt;&lt;div class="cssButtonMiddle"&gt;&lt;div class="cssButtonInner"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-6572676571121393268?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/6572676571121393268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2011/06/joints-are-turning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6572676571121393268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6572676571121393268'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2011/06/joints-are-turning.html' title='The joints are turning'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-2596190032230137838</id><published>2011-05-24T03:06:00.002+01:00</published><updated>2011-05-24T12:15:04.472+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='Animation'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Animation Engine'/><title type='text'>I'm back from the dead, and with some good news!</title><content type='html'>Hello Ludum-Dare-ians and people who randomly found this blog on Google looking for game save tutorial!&lt;br /&gt;&lt;br /&gt;I'm back from my slumber, and what slumber it was!&lt;br /&gt;I did get the job at the company I was making those challenges for, I'm even on our company's page (&lt;a href="http://www.covii.pt/"&gt;http://www.covii.pt/&lt;/a&gt;) as software developer! (though everyone knows there I'm the Senior Graphics Engineer).&lt;br /&gt;&lt;br /&gt;Anyway, I've not been completely procrastinating! Since I've worked there for several months I've been programming everyday for almost 8 hours which shows in my code I write for my own projects. However! Even on my own hobby codefront&amp;nbsp; I did not procrastinate (not entirely anyway).&lt;br /&gt;&lt;br /&gt;I am now announcing I'm working on a game. I'm not sure if it's gonna be commercial or not (probably not as the quality of many thing will be shit) but I'm making it with a long lived friend of mine MICL.&lt;br /&gt;He's going to write the story and make music, while I program and work on graphic art.&lt;br /&gt;&lt;br /&gt;But the point of this post is not that.&lt;br /&gt;&lt;br /&gt;My Litterbox engine is reaching it's 4th anniversary, and so I decided to make another step and make it fully 3D!&lt;br /&gt;&lt;br /&gt;But the point of this post is not that either!&lt;br /&gt;&lt;br /&gt;The point of this post is:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MY ANIMATION ENGINE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So far I've created a working 2D prototype. but mainly it's a tree-based animation system, where the leaves can be either animations, physics, or anything that modifies a given skeleton. This system was larely based on UDK animation system, and because of it's tree-based structure it's possible to do the following things:&lt;br /&gt;&lt;br /&gt;1-Dozens of working animations , only the animations connected to the tree are updated so no wastes.&lt;br /&gt;&lt;br /&gt;2-Animation Blending, which allows for composed animations (eg: having a character with a walk animation composed of four different walk animations (eg: NSEW directions).&lt;br /&gt;&lt;br /&gt;3-Synchronized animations! Yes, this is one of the golden jewels in the crown of my engine. This means that you can have a 1.5 second running animation blended with a 4.0 second walking animation and the transition will be seamless as long as the movement is synchronized timely as well (eg: in both animations the left foot is on the ground at 50% mark, up on the 0 and 100% mark, etc)&lt;br /&gt;&lt;br /&gt;4-Easy to add nodes that depend on the current pose. Just pop an IK node between the root and the result of the animation and you have IK with the starting position of the animation.&lt;br /&gt;&lt;br /&gt;5-Bone masking! Don't want your "running animation" affect the hands and torso? No problem! you just disable all the bones you don't want animated!&lt;br /&gt;&lt;br /&gt;6-Adding new types of nodes is easy! if you just follow the node structure of the animation tree, you can add nodes or leaves that fill any necessity, from IK, Physics/conscious ragdolls to procedural or keyframed animation!&lt;br /&gt;&lt;br /&gt;Here's an example of the tree structure I've mentioned:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lg8nT1OU36Q/TdsPVQOOizI/AAAAAAAAAGw/6AeswzSr0CI/s1600/animTree.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-lg8nT1OU36Q/TdsPVQOOizI/AAAAAAAAAGw/6AeswzSr0CI/s1600/animTree.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--Wgz_xh5sxc/TdsPV2wG5tI/AAAAAAAAAG0/bFCLjW4p2sI/s1600/skeletonBasis.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So! When can you use this fantastic animation engine?&lt;br /&gt;Well... that's the bad news: you can't.&lt;br /&gt;&lt;br /&gt;At least not for now. I've made a 2D prototype that works and now In the middle of porting it to 3D.&lt;br /&gt;I've got the skeleton working in 3D with quaternions using my handmade math lib. I've also got skinning working, but no texture loading and no normals so far.&lt;br /&gt;here's how it looks right now:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/--Wgz_xh5sxc/TdsPV2wG5tI/AAAAAAAAAG0/bFCLjW4p2sI/s1600/skeletonBasis.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/--Wgz_xh5sxc/TdsPV2wG5tI/AAAAAAAAAG0/bFCLjW4p2sI/s1600/skeletonBasis.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/--Wgz_xh5sxc/TdsPV2wG5tI/AAAAAAAAAG0/bFCLjW4p2sI/s1600/skeletonBasis.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Not really impressive, is it?&lt;br /&gt;Well, it'll change in a couple of days. I've recently (about a month ago) mailed Chriss Hecker for advice on how to keep focused even if I really don't feel like doing anything.&lt;br /&gt;His advice?&lt;br /&gt;&lt;br /&gt;"15 minutes"&lt;br /&gt;&lt;br /&gt;Every day work for 15 minutes no matter what the mood, no matter how hard you don't want to.&lt;br /&gt;If you really don't want to do anything then hey, 15 minutes is like 1/16th of your free time if not less. After that go do whatever the hell you want.&lt;br /&gt;&lt;br /&gt;I've been following this advice for the last month, I've had occasional slips, but usually when I work I end up working far beyond those 15 minutes. (before writing this post I've been working for about 3 hours stopping occasionally to glance at a video running in the background).&lt;br /&gt;&lt;br /&gt;So, this is my official statement:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Since Saturday I'll be making a tutorial on how to implement your own 2D or 3D tree-based animation engine with all the features I listed.&lt;/b&gt; &lt;b&gt;And I'll be releasing this tutorials in several chapter, one chapter every 3 to 4 days.&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;I won't fail unless something really unexpected happens (like the second coming of Christ, or having to stay late at work for the entire weekend).&lt;br /&gt;&lt;br /&gt;Wednesday I'll release the list of chapters of the tutorial, but I know I'll be starting explaining the basics of vector math and a bit on matrices and quaternions. In the later chapters I'll explain on how to create a working IK system, and how it'll be integrated into the animation system.&lt;br /&gt;&lt;br /&gt;By Saturday I should also have my animation system completely working which should serve as a good proof of concept that I'm not just babbling madly.&lt;br /&gt;&lt;br /&gt;I'm out!&lt;br /&gt;Mikolaj Kuta&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-2596190032230137838?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/2596190032230137838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2011/05/im-back-from-dead-and-with-some-good.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2596190032230137838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2596190032230137838'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2011/05/im-back-from-dead-and-with-some-good.html' title='I&apos;m back from the dead, and with some good news!'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-lg8nT1OU36Q/TdsPVQOOizI/AAAAAAAAAGw/6AeswzSr0CI/s72-c/animTree.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3752988962286828662</id><published>2010-12-24T03:20:00.000Z</published><updated>2010-12-24T03:20:22.884Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='CoVii'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><title type='text'>Covii Challenge part 2 update log: Friday</title><content type='html'>&lt;b&gt;Day 5-Thursday:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Update 1(2:12):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The Final day! The Final Hour! The Final ... ok nvm&lt;/li&gt;&lt;li&gt;I finished the project about 15 minutes ago and sent it for review. I'm fairly confident they'll like it even though I personally would add some things like transition effects, DoF and Anti-Alias. I would probably rework my particle engine to allow particle area segmentation with which I could add some more realistic water effect to the second program (I ended up making two programs since I don't have much time and couldn't implement the transition effect).&lt;br /&gt;And Here are the screenies!&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;As you can see I fixed the low saturation problem!&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img84.imageshack.us/img84/1475/challengecubes13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://img84.imageshack.us/img84/1475/challengecubes13.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Yeah, I know the trail doesn't look perfect, but believe me, it's not at all that noticeable&amp;nbsp; when it's running.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img522.imageshack.us/img522/628/challengecubes14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="318" src="http://img522.imageshack.us/img522/628/challengecubes14.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;In retrospect I feel like I wasted far too much time resting, even though this project was a bit strenuous, as I must get used to working under such pressure if they are to keep me in the company for more than a few days. I also made a few rules that should help me survive and lead a healthier lifestlye when working:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Sleep Early,Sleep a lot!&lt;/b&gt;&lt;br /&gt;8 hours of sleep a day is a must, even if it means not playing my games or watching movies before going to sleep. Sleep deprivation and lack of a standard sleep hours were one of my biggest mistakes I did during this challenge. An afternoon nap and a night's sleep is a must!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Eat Healthy Food! (and longcat is long)&lt;/b&gt;&lt;br /&gt;As obvious as this sounds eating healthy things is actually a problem for me. Not because I don't like it, as I do enjoy a salad every once in a while, but because I don't find time to prepare proper food and resort to eating tuna or chocolate cream sandwiches all the time. I've noticed that in days I went out to eat in a restaurant I actually performed an incredible lot better than in the days I eat what basically is unhealthy garbage.&lt;/li&gt;&lt;li&gt;&lt;b&gt;A rest from programming is a rest from computer&lt;/b&gt;I've learned that if I work for a few long hours and then rest by playing games or watching movies, I don't actually rest as well as if I have taken a walk, it's also a lot more difficult to come back to . I still fall into the trap of playing games or browsing websites when I should leave the pc alone for an hour or two, so it's something I'll have to work on.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Animation is Concentration! (but I'm programming!)&lt;/b&gt;Anyone who ever read Richard Williams "Animators Survival Kit" probably knows the quote "Animation is Concentration" inspired by Milt Khals' angry outburst&amp;nbsp; at Richard when he asked him if he listens to any music while working. This was Milt's response: "F-F-F-For Ch-CH-CHRIST'S S-S-S-SAKE, GG-G-GG-GODDamnit! WHAT A F-FF-F-FF SSSTUPID QUESSSTION!!! I'M NOT SMART ENOUGH TO THINK OF MORE THAN ONE THING AT A TIME!!".&lt;br /&gt;Yeah, Milt Kahl didn't listen to music while he was working and neither should you!&lt;br /&gt;Even though I'm a programmer this still holds. Music and any other sounds distract from work more than you realise and I've come to experience this first handed not only this week but along my life as well when I'm studying or working on my own projects.&lt;br /&gt;Turn off Messenger (or put it on busy and disable all notifications), close any youtube tabs you have open, close Winamp and listen to the silence.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Get Inspired&lt;/b&gt;My biggest problem when working is that I easily change focus, however this also comes with another trait of personality: I get inspired really easily. Every now and then I look for videos made by game "celebrities" like some of Chris Hecker's presentations where he talks about the tech they developed for Spore, or interviews with indie devs like the Wolfire team. Those videos always inspire me to work harder so one day I could achieve what those people have achieved. I also read a lot of tech presentations, especially those made by Valve. Those are also a good source of inspiration and you gain invaluable knowledge even if you can't replicate it at the moment.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Keep things mixed up!&lt;/b&gt;&lt;br /&gt;There's one thing I'm prone to and that's fatigue. I can't work more than a few days on one thing. My solution to this problem was actually quite easy to come by: get a hobby in an area completely unrelated to programming. In my case I always liked to draw so this problem was solved by itself. Every now and then I grab Photoshop or Blender and just do something in it. Having activities spread in unrelated areas is really good for avoiding fatigue, and it even may bring advantages. I for example am more of an Game Engine fundamentals programmer, but being interested in modelling drawing and animation made me interested in graphical computing which in turn gave me this opportunity to work at CoVii!&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;I guess that's all of them. Those are the rules I set for the future. Some of them I've been following already, other will take a bit of time before I get used to them, but if I manage to follow them all I should perform my best at work and avoid procrastination while I'm home!&lt;/li&gt;&lt;li&gt;On Sunday I'll probably upload a video of the program in motion.&lt;/li&gt;&lt;/ul&gt;So, this series of updates is finally finished. I hope those of you that read it enjoyed it as well. From now on this blog is going to get a bit less active at least until Febuary which is when I'll move to a new apartement.&lt;br /&gt;This was Mikolaj Kuta, AKA Spliter&lt;br /&gt;Seeya!&lt;br /&gt;&lt;ol&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3752988962286828662?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3752988962286828662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log_24.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3752988962286828662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3752988962286828662'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log_24.html' title='Covii Challenge part 2 update log: Friday'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-1165665908721795185</id><published>2010-12-23T03:39:00.002Z</published><updated>2010-12-23T15:35:18.708Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='CoVii'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><title type='text'>Covii Challenge part 2 update log: Thursday</title><content type='html'>&lt;b&gt;Day 4-Thursday:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Update 1(2:49):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Almost&amp;nbsp; 3 in the morning, I've been working for the last hour or so with brief rests to watch some youtube videos from my subscriptions. If I'm lucky Batman9502 will upload his LP videos for his Ocarina of Time and Megaman Legends 2 in less than half an hour, if not then it's off to bed&amp;nbsp; without a good-night cartoon :(&lt;br /&gt;Anyway, I digress. Here's what I've accomplished in the last hour and a half:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;Cubes that light up softly&amp;nbsp;&lt;/li&gt;&lt;li&gt;When the mouse passes them not too fast and not too slow, they fly in the direction of the camera missing it by just enough not to notice any clipping.&lt;/li&gt;&lt;li&gt;Trail effect on the cubes is finally noticeable.&lt;/li&gt;&lt;li&gt;Added a very nice looking background that changes softly over time(only noticeable without cubes on the screen), I did this using a simple gradient background texture&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;So, not that much done but these are the new accomplishments. As usual I also fiddled with the framebuffer order and some colour and opacity, the colours look too desaturated for me in the current state; changed the bloom effect settings so it's a lot more subtle; changed the way the particles render so the final image looks softer, but at the same time allows me to illuminate the particles I need above their texture color. I also removed the specular highlight. It was far too strong even on the lowest settings, so I'll just stay with the very subtle sphere map. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;ANYWAY! Here's the product from few hours ago:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;Randomly Lit cubes with random rotations FTW! &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img63.imageshack.us/img63/1008/challengecubes9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="318" src="http://img63.imageshack.us/img63/1008/challengecubes9.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;And here's the product from a few minutes before I started writing this entry:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;You see what I mean by too desaturated?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img32.imageshack.us/img32/4527/challengecubes10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://img32.imageshack.us/img32/4527/challengecubes10.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;The background has a very nice color but the cubes, even though they have the same hue&lt;b&gt;&lt;/b&gt;, are a lot more desaturated and I'm still trying to figure out why. I'll probably fiddle around with the light and the 2nd pass to add more red and blue&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;So! I'd say this part of the project is quite close to being done, all I have to add now is to make the cubes rotate when you pass over them with the mouse! Then it'll be off to the second part of the challenge where I'll have to add the same water-y effects to the particles as in the Yellow Submarine from the previous challenge and create another particle system that creates the particles near the mouse to give a similar effect to the one in the video they gave me. If I'm done in the early afternoon then I'll add some extra flavour like the screen shattering into a hundred of small cubes when changing from one effect to the other. This would be quite easy to do if I had the time since I render most of everything on Texture-bound FBOs.&lt;/li&gt;&lt;li&gt;I have one regret towards this challenge: I have to copy someone else's work. Not exactly, but since they gave me a reference I've been following it quite strongly so I don't sidetrack as I usually like to do. If I had more time I would've made some significant changes like adding Anti-Alias to the scene so it would look a lot more polished. I would've also added interesting physical effects to the particles, like visual effects like changing the hue of the scene or make the cubes actually behave "softer" using shaders (stretch them in the direction they're flying for example, and expand a bit when rotating really fast)&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;&lt;b&gt;Update 1(15:07):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I sent my (hopefully) future boss two of the screens I had here on my blog and he liked it! In fact he liked it so much that he said he wants to close the deal! I'm going there to work with them for one day and if they like me I'll be working!! I'll be part of a team that makes awesome projects and lets me get better and better at what I love to do! YEAH!&lt;br /&gt;Ekhem. Now we resume our scheduled programme:&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;I added mouse speed dependent rotation to the cubes using cross product between the mouse current, and previous positions and the particle coordinates. Now the cubes rotate properly, if you pass the mouse over them slowly they'll rotate slowly in the direction the mouse is moving, if you pass your mouse a bit on the side it'll rotate on an angle perpendicular to the mouse movement in relation to the particle.&lt;/li&gt;&lt;li&gt;I also render the trail above the particles but with much more subtlety. This gives them the appearance of delicate semi-translucency especially when they move fast around the screen, it also helps softening the scene giving it a more...uh... ethereal(?) look?&lt;br /&gt;Here are the screenies:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img101.imageshack.us/img101/4757/challengecubes11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="318" src="http://img101.imageshack.us/img101/4757/challengecubes11.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img543.imageshack.us/img543/7002/challengecubes12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="318" src="http://img543.imageshack.us/img543/7002/challengecubes12.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;There are still some thing I would like to try out like making a DoF effect using part of the blur shader but make the blur stronger the closer the particles get to screen, I'm not sure if I have time to do that since I still need to get working on the second part of this program which is making much smaller cubes that light up stronger the faster they go and behave like if they were in water. I would kinda prefer no to do that since I really need a good rest.&lt;br /&gt;Also I would follow my friends advice and add some anti-aliasing to the scene since it doesn't look that good on screenshots. Luckily this isn't such a problem when actually playing around with the program so most passers-by wouldn't notice any difference.&lt;br /&gt;One thing that popped up into my mind (even though unrelated to the challenge) is to make some effects using metaballs. I know it's made using the marching cubes algorithm but I'm curious how the actual mesh would be built from that.&lt;/li&gt;&lt;li&gt;I just noticed I wrote "Tuesday" instead of "Thursday" in the title.&lt;br /&gt;Whoops!&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-1165665908721795185?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/1165665908721795185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1165665908721795185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1165665908721795185'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log_23.html' title='Covii Challenge part 2 update log: Thursday'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-4978248587250318533</id><published>2010-12-22T14:55:00.005Z</published><updated>2010-12-22T23:05:57.629Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='CoVii'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><title type='text'>Covii Challenge part 2 update log: Wednesday</title><content type='html'>&lt;b&gt;Day 3-Wednesday:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Update 1(2:10):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Ok, I've spent three productive hours playing around with shaders, lighting, rearranging FBOs and generally playing around with everything. Here are the progress screenies:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Boring! &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img89.imageshack.us/img89/6258/challengecubes2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="314" src="http://img89.imageshack.us/img89/6258/challengecubes2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Basic textures, yay! Also, my eyes kinda hurt, red+blue=bad &amp;gt;:(&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img31.imageshack.us/img31/4046/challengecubes3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="314" src="http://img31.imageshack.us/img31/4046/challengecubes3.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The beginnings of bloom. AUGH MY EYES!!!&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img403.imageshack.us/img403/6067/challengecubes4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="314" src="http://img403.imageshack.us/img403/6067/challengecubes4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;MY EYES! MY EYES! MY EYES!!!&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img689.imageshack.us/img689/9264/challengecubes5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="314" src="http://img689.imageshack.us/img689/9264/challengecubes5.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Ok, now it's not so bad, but still looks like crap.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img135.imageshack.us/img135/2919/challengecubes6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://img135.imageshack.us/img135/2919/challengecubes6.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;As you can see I didn't do much. But only the last one is a true bloom effect. Even though it looks like crap, and isn't as strong/diluted as I would like it to be. I'm starting to get the hang of the shaders, since I've taken a nap I'll probably work another few hours before going to sleep, but I'll take a little rest now from the project.&lt;/li&gt;&lt;li&gt;Anyway, I updated my list of things to do. I also updated the list from the previous update here's the resume of what I did today:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;Finally Added real bloom (even though I'm not completely happy with it)&lt;/li&gt;&lt;li&gt;3D model particles&lt;/li&gt;&lt;li&gt;Working quaternion rotation lib&lt;/li&gt;&lt;li&gt;Added lighting&lt;/li&gt;&lt;li&gt;Played around with various effects.&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;I can't say this is bad but I also would like to have made more both today and yesterday. Optimally I would have already achieved good looking bloom, added at least one of two physical particle effects and already added cube mapping. Still I'll probably achieve at least 5 out of 6 planned features by tomorrow noon so things aren't as hopeless as it seemed to me. However tomorrow is a big day since the basic functionality should be finished and I'll start making some more advanced stuff as well as fine-tunning.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;Mini-update: Disco Ball!! Well, sort of.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img254.imageshack.us/img254/8080/challengecubes7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="318" src="http://img254.imageshack.us/img254/8080/challengecubes7.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;This calls for some awesome music:&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=Awzrax7UcV8"&gt;http://www.youtube.com/watch?v=Awzrax7UcV8 &lt;/a&gt;&lt;br /&gt;Only link since youtube won't let me embed the vid :(&lt;br /&gt;Watch it anyway :D&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Update 2(11:44):&lt;/b&gt; &lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;I fell asleep around 8:00, it's now 11:44. Damn cleaning ladies and their racket. Can't sleep now, I'll try to work, but probably I'll take a nap in the afternoon.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Update 3(14:55):&lt;/b&gt; &lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;So, after some time feeling dizzy and with a minor headache from sleep deprivation I started blaying around with various effects. The current state of things looks pretty close to the video they gave me as reference. I noticed though that in the video the presentation also used DoF shader. I made some additions on my own of course, like subtle sphere mapping to give a more glossy appearance to the cubes, I also added an overlay texture which scrolls slowly enough not to be noticeable but still gives a faint effect of movement to the scene. Most probably my final work won't look as good as the original but hey! I'm competing against someone sponsored by Toyota, with quite a few years of experience in the field and I'm not that far behind!&lt;/li&gt;&lt;/ul&gt;The scrolling effect I mentioned earlier: &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img822.imageshack.us/img822/2534/challengecubes8b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://img822.imageshack.us/img822/2534/challengecubes8b.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img844.imageshack.us/img844/5470/challengecubes8a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://img844.imageshack.us/img844/5470/challengecubes8a.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;The sphere map is costing me some nasty bright seams on the chamfered edges I used to smooth the cubes, I'm not sure what to do, I'll either have to sacrifice smooth lighting or the sphere map... unless... hm... I might use the same model but with different normals for the sphere map pass, and a different one, with smoothed normals for the light pass!&lt;/li&gt;&lt;li&gt;Edit: No, I can't do that, stupid blender and its automatic normals!&lt;/li&gt;&lt;li&gt;Edit2: HAHA! being smart as I am I decided to export the cube model two times, first time with the chamfered edges but flat on the cube sides and another one with the rounded edges. Then I'll just copy the normals from the first one to the second one and voilà! I have two types of cubes :]&lt;/li&gt;&lt;li&gt;Edit3: Once again: DAMN YOU BLENDER!!! I don't want any stupid optimizations! I want the normals and vertices exactly the same always!!! AGRH. Because of this I can't have fancy sphere map.&lt;/li&gt;&lt;li&gt;Edit4: The seams are caused by the light, now I'm mad &amp;gt;:(&lt;/li&gt;&lt;li&gt;Edit5: Ok! Finally got rid of the nasty seams, I removed some detail from the edges and it seems to work fine now and I didn't have to sacrifice neither the sphere map nor the smooth light!&lt;/li&gt;&lt;li&gt;Also: sorry for anyone stumbling upon this blog with a 56k connection. I really do feel sorry for you.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&lt;b&gt;Update 4(23:00):&lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;I ended up taking a longer rest than I wanted, it's 23:00 now&lt;b&gt; &lt;/b&gt;and I haven't touched the program :(&lt;br /&gt;I disappointed myself quite a lot with this, especially since I haven't even slept properly yet. I hope that I can at least have a productive night, or productive morning, anything as long as I can deliver the program by tomorrow afternoon!!&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ol&gt;&lt;/ol&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-4978248587250318533?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/4978248587250318533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log_22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4978248587250318533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4978248587250318533'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log_22.html' title='Covii Challenge part 2 update log: Wednesday'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-1337403265463809451</id><published>2010-12-20T15:51:00.025Z</published><updated>2010-12-22T15:36:38.796Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='CoVii'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><title type='text'>Covii Challenge part 2 update log</title><content type='html'>Long story short I'll be updating this post every now and then with the development info, thoughts and screenshots.&lt;br /&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Edit:&lt;/span&gt;&lt;/b&gt; &lt;span style="color: red;"&gt;I moved the Wednesday updates to another post since the scrolling up and down to read anything is getting ridiculous.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Day 1-Monday:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Update 1(15:32):&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Started working on the project yesterday but only had half an hour for it because of uni projects, I added support for FBOs, it's pretty sweet, also added some basic trail effects.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Today I woke up at 12, that's what I get for sleeping only 4 hours yesterday, I&amp;nbsp; started working on it almost immediately. Using a bit of tutorial help I made a blur shaders, works pretty sweet, today I should also be able to add true 3D objects to my particle system (so far it only supports 2D), this also means I'll have to rewrite the existing effectors. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Added the blur effect to my previous FBO rendering. My first post processing shader! It looks pretty sweet and it's quite close to the final look I'm going for in terms of trails.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;Here's how it looks&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img96.imageshack.us/img96/9557/challengetrails1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="319" src="http://img96.imageshack.us/img96/9557/challengetrails1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Damn, I noticed that if you look really close you can see a little crossing on the blur, it isn't noticeable in the movement through, but I'll once I finish the project I'll have to fix that.&lt;/li&gt;&lt;li&gt;Also wasted about one and a half hour trying to make the RECTANGLE textures to work... wasted because they still didn't work even though I used someone else's code. Either FBOs don't work with NPOT textures (which I think is odd since I've read somewhere they work fine) or my graphic card doesn't support them (which would also be odd since it's on the supported extension list)&amp;nbsp;&lt;/li&gt;&lt;li&gt;When starting to work on the new particle system I realized the particle rotation need to be quaternions to avoid gimbal lock. I don't have a quaternion lib compatible with my current math lib so I'm sad because I have to make one :(&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Update 2(18:33):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Added the quaternion support and supposedly the particle system should work with 3D objects (it still supports all the existing features so I didn't had to rewrite the 2D effectors). I'm starting to get worried I won't make it for some reason even though it's not that difficult. I've been trying to relax and stop working for a bit but having to do this project all day and then work on uni stuff all night isn't good for me. I really need this job so I can't just rest for a day or two, I want this working Wednesday midday at the latest, after that it's fine tuning and Thursday I'll probably deliver it at least to see what they want me to change. They liked the first program I made for them but if I don't get this job I'll have to go back to Poland since I don't have any money left. Yeah, I'm kind of depressed right now, it'll pass after I take a rest.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Day 2-Tuesday:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Update 1(10:21):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I just woke up and I'm feeling a lot better now! Yesterdays depression most probably was only because I've been working on it a lot of hours straight without doing anything else. This is something I've learned to avoid in the past since it clouds your mind and you get into an Idea loop. Normally I rest every few hours for an hour or two to watch a movie, play a game or go for a walk to completely get away from my PC and get refresh my head. The reason I didn't stop yesterday is because this challenge is letting me a bit nervous since my life depends on this and all, but I should be able to avoid making the same mistake today.&lt;/li&gt;&lt;li&gt;I made&amp;nbsp; a small list of features I want implemented until tomorrow noon. Here they are:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;FBOs ready to write Post Processing shaders (done) &lt;/li&gt;&lt;li&gt;Trail Effect (done)&lt;/li&gt;&lt;li&gt;Particle System ready for 3D with quaternion rotations (done)&lt;/li&gt;&lt;li&gt;Bloom (almost there)&lt;/li&gt;&lt;li&gt;Requested particle effects (quarter way there, I could use my previous effects and add 3D support for them)&lt;/li&gt;&lt;li&gt;actual 3D modelled particles (done)&lt;/li&gt;&lt;li&gt;background movement highlight (I'm waiting for confirmation if it's necessary, I'll probably implement it anyway if I finish ahead of schedule)&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;&amp;nbsp;Update 2(14:24):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Finally added 3D, model loading, display, lights etc.&lt;/li&gt;&lt;li&gt;I discovered there's a problem with my quaternion lib and I'll have to redo most of it (on any rotation the entire scene disappears). I'm starting to wonder if I really need quaternions or would axis-angle be enough. Still I shouldn't have that much trouble since I know I had somewhere a working quaternion lib, I just don't know where. I'll have to go into my backup folder and spend some time looking....&lt;/li&gt;&lt;li&gt;Made a screenie so you can see how it looks now:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;I know the cubes don't look like much so far but at least it's something!&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img510.imageshack.us/img510/1663/challengecubes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://img510.imageshack.us/img510/1663/challengecubes.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Also I still have the grids I used to orient myself&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Can you believe me I spend over an hour before I could see anything? The beginning is always the hardest part for me when I don't know where I am and my references aren't drawn, since the problem could be anywhere from badly configured viewport with farclip too close, to camera orientation, to (in this case) drawing in a FBO instead of drawing to the screen!&lt;/li&gt;&lt;li&gt;I'm gonna take a break now. I need to eat and rest, luckily I don't have any uni projects today night so I'll have a bit more time to work later. I really hope I can finish this for tomorrow noon, otherwise I would be really disappointed with myself.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&amp;nbsp; Update 3(19:39):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I feel sick. Headache high temp and nausea... ugh... I don't think I'll be able to finish things until tomorrow. I'll take a nap and if I feel better when I wake up then I'll continue making the program, if not I'll wait until tomorrow.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&amp;nbsp; Update 4(21:56): &lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;just woke up, I feel a lot better now even though still a bit drowsy. Time to work!&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&amp;nbsp; Update 5(23:17):&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GOD. DAMN. PRECISION. ERRORS!&lt;/li&gt;&lt;li&gt;also stupid c=sin(aangle.angle*0.5); It's supposed to be cos @_@. Bot h of those have cost me over one hour of work that could have been spent making shaders or particle physics or anything at all other than rewriting my quaternion library!!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-1337403265463809451?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/1337403265463809451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1337403265463809451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1337403265463809451'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-2-update-log.html' title='Covii Challenge part 2 update log'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-7772299916784954739</id><published>2010-12-20T01:48:00.001Z</published><updated>2010-12-20T02:59:09.780Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='CoVii'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Ramblings'/><title type='text'>Covii Challenge part 1 and other updates</title><content type='html'>Hello!&lt;br /&gt;Another blog update (yeah, I've been doing that a lot lately haven't I?).&lt;br /&gt;If you've seen the video on my last post to the end you'd know I'm desperately looking for a job right now.&lt;br /&gt;With extreme amount of luck I've found a job offer for the C++/OpenGL programmer!!!&lt;br /&gt;The company name is CoVii from Computer Vision Interaction.&lt;br /&gt;Basically they develop applications that allow interactive surfaces like an interactive wall or floor where the content responds when a person walks by.&lt;br /&gt;I went to an interview there on Tuesday and apparently they liked me (either that or they pretended to like me),&amp;nbsp; but they wanted to test my skills out since my portfolio isn't that impressive as I've let the university and lack of money consume my will and time to work on my projects little by little (if I didn't have any financial trouble I would probably have made by now a graphical equivalent of Crysis).&lt;br /&gt;&lt;br /&gt;They gave me two projects and so far I've completed one of them, it took me about 2 days. Considering I had classes during both of them and uni projects to do, I'd say I've done it pretty quickly. Maybe barely over 8 hours of coding.&lt;br /&gt;Anyway, I'm rambling. Here's the video of the project in motion:&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/6t19DklPm9E/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6t19DklPm9E?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="512" height="320" src="http://www.youtube.com/v/6t19DklPm9E?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;As you can see it went quite well and I'm happy with the results (and luckily so are they) but they want me to do another one. Now the next one is a bit harder not only because I have a ton of uni projects to do, as well as being chrsistmass time for which I'll go spend a day or two with my friend and his familly (with whom I've spent last years' Christmas and it was awesome), but also the seconds project covers more advanced OpenGL topics such as post processing and shader effects.&lt;br /&gt;Now I've done some simple vertex and fragment shaders before, unfortunately what I've learned from them is not as much as I would need for this project (I really hope the boss isn't reading this blog right now, even though he said he's read it when he interviewed me...at least I think he's the boss, I forgot to ask him...).&lt;br /&gt;&lt;br /&gt;What will happen in the next few days is that I'll have a couple of day long working sessions during which I'll be furiously studying the advanced OpenGL aspects. Today I've learned how to use framebuffer objects (finally! I've been meaning to learn about them for weeks but the damn uni has me doing chat programs and encryptions and stuff). FBOs are damn useful, I've managed to create trail effects without even changing any existing code nor touching shaders!&lt;br /&gt;So far I've planned using cube mapping for very subtle reflections, shaders on models for stronger light effect, I'll also use shaders combined with FBOs to create post processing effects like depth of field, blur for the trails and bloom.&lt;br /&gt;&lt;br /&gt;That's a lot of things to learn in such a full week, but considering I've done kind of similar things before, and understanding how all of this works, I'd say I have a pretty good chance of making them want me in their team!&lt;br /&gt;&lt;br /&gt;oh... btw, I know this blog is displayed on the LudumDare through RSS, so sorry for the fellow LudumDarians that I don't make any actual game updates! I hope you're ok with life ramblings and mild programming stuff!.&lt;br /&gt;&lt;br /&gt;I'm off!&lt;br /&gt;~Mikolaj Kuta AKA Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-7772299916784954739?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/7772299916784954739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-1-and-other.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7772299916784954739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7772299916784954739'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/covii-challenge-part-1-and-other.html' title='Covii Challenge part 1 and other updates'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-1707440063491093860</id><published>2010-12-05T16:19:00.000Z</published><updated>2010-12-05T16:19:29.704Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Random projects'/><title type='text'>Urban Stroll</title><content type='html'>Hello!&lt;br /&gt;Just a quick blog update to show I'm not procrastinating as much as it would seem.&lt;br /&gt;This time it's actually a VIDEO blog update!&lt;br /&gt;sooo... yeah&lt;br /&gt;Enjoy&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/g6zjlUgLgdg?fs=1" frameborder="0" height="344" width="425"&gt;&lt;/iframe&gt;&lt;br /&gt;As I mentioned I'm looking for a job so until I get hired, or at least until someone will give me a job interview I won't be able to make a tutorial. I'm also extremely busy with university projects, If I want to do anything of my own it means to stay up till 4am.&lt;br /&gt;&lt;br /&gt;That's all for this blog post.&lt;br /&gt;I'll see you next time!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-1707440063491093860?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/1707440063491093860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/urban-stroll.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1707440063491093860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1707440063491093860'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/12/urban-stroll.html' title='Urban Stroll'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/g6zjlUgLgdg/default.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3734918921373637610</id><published>2010-11-21T00:06:00.001Z</published><updated>2010-11-21T00:07:23.610Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Charity'/><category scheme='http://www.blogger.com/atom/ns#' term='Desert Bus'/><title type='text'>Desert Bus for Hope</title><content type='html'>&lt;a href="http://desertbus.org/"&gt;&lt;img src="http://loadingreadyrun.com/blog/wp-content/uploads/2010/05/DB-blog-banner1.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Visit Desert Bus For Hope &lt;a href="http://desertbus.org/"&gt;Here&lt;/a&gt;&lt;br /&gt;Desert bus is a charity event created by &lt;a href="http://loadingreadyrun.com/"&gt;LoadingReadyRun&lt;/a&gt; in which they play the most boring game ever created: Desert Bus.&lt;br /&gt;You can see them play it live on their feed at the &lt;a href="http://desertbus.org/"&gt;desertbus site&lt;/a&gt; by clicking on the big Live Feed Drivercam button. I really suggest you do it.&lt;br /&gt;All of the donations are gonna go to the &lt;a href="http://www.childsplaycharity.org/"&gt;Child's Play &lt;/a&gt;foundation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3734918921373637610?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3734918921373637610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/11/desert-bus-for-hope.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3734918921373637610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3734918921373637610'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/11/desert-bus-for-hope.html' title='Desert Bus for Hope'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-5059802177156979079</id><published>2010-11-08T01:52:00.001Z</published><updated>2010-11-08T01:57:04.869Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Progress'/><category scheme='http://www.blogger.com/atom/ns#' term='El Poho'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Small engine update</title><content type='html'>Hello!&lt;br /&gt;Sorry for the complete lack of updates (in case anyone reads this blog) but I've been dead busy with real life, most notably with my university and finding money to live. But never mind that.&lt;br /&gt;I have made a little upgrade in my engine, namely: it now supports polygon casting.&lt;br /&gt;What is poly casting you say?&lt;br /&gt;Poly casting works just like ray casting except with a poly. Basically it smears a (convex) poly along a line and looking for collisions along it, giving you the time each of them (if any) happened.&lt;br /&gt;In simple terms:&lt;br /&gt;Let's say you have a large 16px ball that's travelling at 200 px/frame. any wall that's in between the balls' current &lt;br /&gt;&lt;br /&gt;position and the next one is probably gonna be missed, and so the ball will glitch through them.&lt;br /&gt;frame 1: &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWqEsbM9I/AAAAAAAAAGY/VOkPI_Y61fY/s1600/staticCol1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="58" src="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWqEsbM9I/AAAAAAAAAGY/VOkPI_Y61fY/s320/staticCol1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;frame 2:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWrq3qE3I/AAAAAAAAAGk/xbSiDj83ZKM/s1600/staticCol2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="58" src="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWrq3qE3I/AAAAAAAAAGk/xbSiDj83ZKM/s320/staticCol2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Using polygon casting we can prevent that as it will detect all the walls the ball went through and also record the time at which the ball entered and exit each one of them, making this perfect for fast moving objects for which a simple ray cast wouldn't be enough for.&lt;br /&gt;&lt;br /&gt;Frame 1:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWrUeL_UI/AAAAAAAAAGg/XgVOa1ZFufM/s1600/castCol1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="53" src="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWrUeL_UI/AAAAAAAAAGg/XgVOa1ZFufM/s320/castCol1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Frame 2:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWquHOgII/AAAAAAAAAGc/fPOpGLn878Y/s1600/castCol2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="53" src="http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWquHOgII/AAAAAAAAAGc/fPOpGLn878Y/s320/castCol2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note how in the second frame the ball didn't get past the walls since it detected the collision beforehand.&lt;br /&gt; &lt;br /&gt;Here's a video in which I show the latest updates:&lt;br /&gt;1-Webs&lt;br /&gt;2-Lazer&lt;br /&gt;3-little demo of a triangle being cast from the player to the mouse position&lt;br /&gt;4-some bullets&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="584" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DNx4uE7czic&amp;hl=en&amp;fs=1&amp;rel=0&amp;ap=%2526fmt%3D22"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/RF8H6owUIoQ?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="584" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I get some free time I'll make a tutorial on ray and polygon casting, in the meantime I'll also update my engine to support an entity IO system which will allow the communication between various entities. It'll prove to be mighty useful when I want for example a door triggered by a button, or to make explosions at specific events.&lt;br /&gt;&lt;br /&gt;Till next time!&lt;br /&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-5059802177156979079?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/5059802177156979079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/11/small-engine-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5059802177156979079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5059802177156979079'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/11/small-engine-update.html' title='Small engine update'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u8voLVIJWlc/TNdWqEsbM9I/AAAAAAAAAGY/VOkPI_Y61fY/s72-c/staticCol1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-9195336260610457506</id><published>2010-11-02T00:41:00.000Z</published><updated>2010-11-02T00:41:39.168Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gaming News'/><title type='text'>Read this article</title><content type='html'>Eurogamer hosted the following article: &lt;br /&gt;&lt;a href="http://www.eurogamer.net/articles/2010-11-01-the-fall-of-realtime-worlds-article?page=1"&gt;http://www.eurogamer.net/articles/2010-11-01-the-fall-of-realtime-worlds-article?page=1&lt;/a&gt;&lt;br /&gt;I think you should read it.&lt;br /&gt;&lt;br /&gt;It shows well that in the gaming world not everything is fun and games (no pun intended).&lt;br /&gt;APB wasn't on my hype list, and after seeing some gameplay I immediately recognized it wouldn't be as fun as it first sounded, but still it was made by people who love games and wanted to make a great game, which saddens me because it turned to be their demise. Even though I wasn't impressed in the game it's still hard to believe it destroyed a company and put over a hundred people on the street without jobs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Good luck to everyone that used to work at RTW, I hope you won't give up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-9195336260610457506?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/9195336260610457506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/11/read-this-article.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/9195336260610457506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/9195336260610457506'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/11/read-this-article.html' title='Read this article'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-1537881591599130353</id><published>2010-07-20T18:13:00.001+01:00</published><updated>2010-07-20T18:13:56.577+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='miniLD'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Results of MiniLD20: A little introspection</title><content type='html'>Warning: This blog post has a lot of introspection and very little technical things, you can skip it if you're just interested in how games are made by other people.&lt;br /&gt;&lt;br /&gt;As strange as it sounds I actually made a game.&lt;br /&gt;Well.. it can barely be called a game and I'm not proud of it in the slightest.&lt;br /&gt;I have to admit the theme kind of screwed me over since I'm no good with abstract themes, but still I probably could've done better.&lt;br /&gt;The "game" was a small non animated tank with a drill on it going through a series of letters that spelled "GREED" and they disappeared when it touched them. I didn't even add particle effects. After destroying all of them a big "you win" creen appeared and that's it.&lt;br /&gt;It was complete and utter piece of shit that would probably make this world better if it never existed.&lt;br /&gt;So... why I am blogging about it?&lt;br /&gt;Well... Once I made and submitted it it occured to me that it actually works as a poof of concept for my engine. I didn't have any problems making it. The coding party took only a few minutes and while I did it in an hour, most of that time was spent chatting on Ludumdare IRC channel and watching youtube videos.&lt;br /&gt;So... what does "proof of concept" mean to me? Well, I realized how easy is to add new mechanics in my engine, and I saw how all those time made my engine better and better!&lt;br /&gt;Then why didn't I made more games on it?&lt;br /&gt;The problem is with me getting caught in the details, and not being able to complete a project on my own. I have lots of Ideas for new gameplay mechanics and I can apply them quickly but that's about it for me. I love developing new stuff more than I like polishing it and working with it for longer periods of time. I also invent new mechanics without thinking of how they can be used in the actual game, rather than just a toy to play around with.&lt;br /&gt;For example: after spending some hours programming after I've released my miniLD20 piece of crap (AKA "game" ) I made a small prototype where you controlled a kind of protozoar with to tails.&lt;br /&gt;Here's a screenie:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img251.imageshack.us/img251/840/minild20screen2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://img251.imageshack.us/img251/840/minild20screen2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And that was about it.&lt;br /&gt;I really can't think of any interesting gameplay for it, I'm only good in adding new feature/mechanic and then letting it go without using it again.&lt;br /&gt;&lt;br /&gt;Another new mechanic I added was kind of a gravity field, it's kind of a coming back to roots thing as I've done that already before on my old version of the engine (while it was still called El_Poho). But then I've lost my will to use it.&lt;br /&gt;&lt;br /&gt;So... why can't I continue working on something and then eventually turn it into a game?&lt;br /&gt;I have a few theories.&lt;br /&gt;The main one is that I need leadership. I've noticed that when I work in teams during classes I make a very bad leader, and a very bad follower, however being the right hand mand of the leader is the perfect spot for me: I get my share of power so I can expand my creativity,but the leader is always directing my actions so I don't get sidetracked so easily. Any other position for me ends up badly. I love to be where the action is and I love challenges but it's hard for me to know what to do next.&lt;br /&gt;&lt;br /&gt;Second reason is that I want to do new innovative stuff. But as soon as I implement the hardest part of it it stops looking so innovative for me and I get bored with it. And since I work alone on my project there's noone telling me "you need to finish doing this game/project". Although I shouldn't, I rely heavily on outside influence when I see other people stop caring about what I do I stop as well, and fall into procrastination.&lt;br /&gt;&lt;br /&gt;There's probably a few other reaasons to my lack of finished projects but This post is already long as it is.&lt;br /&gt;Sorry for making you read about myself but sometimes I need to vent my anxieties somewhere.&lt;br /&gt;&lt;br /&gt;Later!&lt;br /&gt;~Spliter&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-1537881591599130353?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/1537881591599130353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/07/results-of-minild20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1537881591599130353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1537881591599130353'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/07/results-of-minild20.html' title='Results of MiniLD20: A little introspection'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3979217581336884247</id><published>2010-07-15T02:32:00.000+01:00</published><updated>2010-07-15T02:32:10.951+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcment'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>MiniLD Commitement</title><content type='html'>Here's the log of the chat I had with the awesome people of Ludumdare IRC channel:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;02:03&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ok, I'm gonna try to do something this time&lt;br /&gt;&lt;b&gt;02:04&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if I don't have anything at the end of miniLD I'll ....uh... what's a good compromise that's&amp;nbsp;&amp;nbsp; harsh but isn't oo harsh like quitting game deving?&lt;br /&gt;&lt;b&gt;02:06&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hmmmm&lt;br /&gt;&lt;b&gt;02:06&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard to say, really&lt;br /&gt;&lt;b&gt;02:06&lt;/b&gt; &lt;b&gt;mrfun&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; you have to watch the hannah montana the movie&lt;br /&gt;&lt;b&gt;02:06&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D:&lt;br /&gt;&lt;b&gt;02:07&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or any of the twilight movies&lt;br /&gt;&lt;b&gt;02:07&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; I said something that's less harsh than quitting game dev, not something worse than going to hell!&lt;br /&gt;&lt;b&gt;02:07&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ok&lt;br /&gt;&lt;b&gt;02:07&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and then write a blog post about it with a detailed review&lt;br /&gt;&lt;b&gt;02:08&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; It's decided, if I don't have nothing to show for after the end of miniLD I'll have to watch Hannah Montana the movie and then watch all of the released twilight movies!&lt;br /&gt;&lt;b&gt;02:08&lt;/b&gt; &lt;b&gt;TenjouUtena&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You have to make your next game in Brainfuck or something.&lt;br /&gt;&lt;b&gt;02:08&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and then write a blog post about it&lt;br /&gt;&lt;b&gt;02:08&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&lt;t&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and you're all my witnesses!&lt;br /&gt;&lt;b&gt;02:08&lt;/b&gt; &lt;b&gt;iFire&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I spent like 20 minutes on circles and arrows &amp;gt;.&amp;lt; &lt;br /&gt;&lt;b&gt;02:08&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If I don't do none of those things you'll call me weiner-butt for the rest of my life&lt;br /&gt;&lt;b&gt;02:09&lt;/b&gt; &lt;b&gt;iFire&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; some people don't work under pressure&lt;br /&gt;&lt;b&gt;02:09&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; banned from channel until the full LD!&lt;br /&gt;&lt;b&gt;02:09&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D:&lt;br /&gt;&lt;b&gt;02:09&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when is it again?&lt;br /&gt;&lt;b&gt;02:10&lt;/b&gt; &lt;b&gt;mrfun&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; but will you video blog about each movie dressed as a lead character?&lt;br /&gt;&lt;b&gt;02:10&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrfun: no camera, and no money for corsdressing&lt;br /&gt;&lt;b&gt;02:10&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oh wait&lt;br /&gt;&lt;b&gt;02:10&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I have a camera&lt;br /&gt;&lt;b&gt;02:10&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mid or late august i think&lt;br /&gt;&lt;b&gt;02:10&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; it's shitty as shit but it works&lt;br /&gt;&lt;b&gt;02:11&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; no need to dress as a character from the movie, and no need to video blog, but some pictures of you with the movies would be good&lt;br /&gt;&lt;b&gt;02:11&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ok&lt;br /&gt;&lt;b&gt;02:11&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I'm commited then!&lt;br /&gt;&lt;b&gt;02:12&lt;/b&gt; &lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; make a blog post documenting this would be good&lt;br /&gt;&lt;b&gt;02:12&lt;/b&gt; &lt;b&gt;Spliter&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ok!&lt;br /&gt;&lt;/t&gt;&lt;b&gt;02:12&lt;/b&gt; &lt;t&gt;&lt;b&gt;thedaian&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; so there's some more proof&lt;/t&gt;&lt;br /&gt;&lt;t&gt;&lt;br /&gt;&lt;/t&gt;&lt;br /&gt;&lt;t&gt;tldr version:&lt;/t&gt;&lt;br /&gt;&lt;t&gt;I decided to do something in this miniLD and watch Hannah Montana and all Twilight movies if I don't, I'll also have to blog about the experience and post pictures.&lt;/t&gt;&lt;br /&gt;&lt;t&gt;&lt;br /&gt;&lt;/t&gt;&lt;br /&gt;&lt;t&gt;So yeah, I'm commited for this miniLD or I shall suffer the consequences. This blog post is the proof, the participants of the chat are the witnesses.&lt;/t&gt;&lt;br /&gt;&lt;t&gt;Wish me luck!&lt;/t&gt;&lt;br /&gt;&lt;t&gt;~Spliter&lt;br /&gt;&lt;/t&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3979217581336884247?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3979217581336884247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/07/minild-commitement.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3979217581336884247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3979217581336884247'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/07/minild-commitement.html' title='MiniLD Commitement'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-2153376271270596315</id><published>2010-07-11T15:52:00.004+01:00</published><updated>2010-07-11T19:28:31.399+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Random projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>The joy of prototyping</title><content type='html'>One of the biggest problems I face when doing tools for my game is the sheer size of it all and my general lack of experience doing usefull things (as oposed to screwing around).&lt;br /&gt;The biggest challenge I'm facing right now is making a level editor that be called a 2D version of Valve Hammer Editor.&lt;br /&gt;&lt;br /&gt;Yes. I'm that stupid to try making a huge editor on my own with barely any prior experience. How did it go? Well... I failed miserably before I even begun. The sheer number of features I want in my editor is daunting. Implementing them on their own is already quite a task, not to mention integrating them all into one big editor where every piece has to cooperate with the rest.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;I've seen a number of GDC presentations in my day, one of them being the Chris Hecker's and Chaim Gingold's marvelous lecture on prototyping for such a huge project like the innovaive spore animation system. The lecture was so good in fact that I often take advice from it even without knowing it. One of these times was when I decided to create experiments instead of fully-functional programs. Those experiments Turned out to be really helpfull. They helped me understand how a saving system should work, helped me with my work on using the Macros in C++, I even did a small scripting language.&lt;br /&gt;About a week ago I decided to make a smaller version of the editor I want. A really basic level editor that wouldn't even use the wxWidgets UI and had some basic functionality like multiple selection, moving and scaling entities and saving/loading. At the time I wasn't aware that what I made was in fact a Prototype.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img571.imageshack.us/img571/3550/editorscreen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://img571.imageshack.us/img571/3550/editorscreen.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(My editor prototype.)&lt;/div&gt;After I finished the level editor experiment I made a small list of other experiments to do, and most of them turned out to be related to the future level editor I want to make.&lt;br /&gt;-Creation of diferent entities based on a GCF-like entity description file.&lt;br /&gt;-2D Geometry editor.&lt;br /&gt;-Small app for loading and testing how various map formats would work out.&lt;br /&gt;-And a another app for creating and testing out custom widgets.&lt;br /&gt;&lt;br /&gt;(Currently I'm working on the geometry editor and I'm tackling with DevIL's inability to load the textures into openGL.)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img243.imageshack.us/img243/3134/solideditor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://img243.imageshack.us/img243/3134/solideditor.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img375.imageshack.us/img375/7551/solideditor2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://img375.imageshack.us/img375/7551/solideditor2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(EDIT: I got textures working and I'm ready to go!)&lt;/div&gt;What I got from all this?&lt;br /&gt;-Prototyping is fun.&lt;br /&gt;It is really, really fun! You can do all that stuff you'd do in your major game editor or your game engine but on a smaller scale, and you don't have to worry about how you integrate that with other parts of the app. This means a lot less stress, and if you enjoy programming (if you don't then why the hell do you do it?) you'll have a lot more fun making prototypes, and only later figure out how to integrate them, than you'd have if you were implementing everything right into the engine.&lt;br /&gt;&lt;br /&gt;-Prototyping is easy.&lt;br /&gt;Prorotyping helps you divide the big problems into smaller problems and since you have no worries about how to integrate features with eachother and the engine you are free to experiment and fail as much as you want. I've spent over 2 weeks doing close to nothing because organizing an entire editor without any knowledge on how I'll make things, and without much prior experience was just too damn difficult. With prototyping of indifivial features it's a lot easier, and seeing them work in their own little contained environment very rewarding.&lt;br /&gt;&lt;br /&gt;-Prototyping is fast.&lt;br /&gt;"Well, duh!" Yeah, I know, that's a no brainer. When making a big project a lot, and I do mean A LOT!, of time is wasted on organizing things that don't yet exist, and you still don't know how all of them are gonna work. This means that not only the planning stage takes a lot more time, but the implementation itself is being pushed back until the planning is finished.&lt;br /&gt;&lt;br /&gt;-Prototyping adds variety.&lt;br /&gt;What I mean is: When you prototype you can easilly paus your current prototype to work on another one, or even on another project. It depends of the kind of programmer you are but It's difficult for me to work on only one thing at a time. Often if I postpone my ideas I either forget about them or don't feel like working on them anymore, so prototyping is Ideal for me since I have a array of smaller projects I can grab at any time I want.&lt;br /&gt;&lt;br /&gt;That's the end of my rant on prototyping.&lt;br /&gt;My diagnosis:&lt;br /&gt;Listen to what Chris Checker said, and see his presentation about it!&lt;br /&gt;Here's a free link to his page on Advanced Prototyping:&lt;br /&gt;&lt;a href="http://www.chrishecker.com/Advanced_Prototyping"&gt;http://www.chrishecker.com/Advanced_Prototyping&lt;/a&gt;&lt;br /&gt;It has the slides and the mp3.&lt;br /&gt;&lt;br /&gt;Later!&lt;br /&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-2153376271270596315?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/2153376271270596315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/07/joy-of-prototyping.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2153376271270596315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2153376271270596315'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/07/joy-of-prototyping.html' title='The joy of prototyping'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8108189014743257853</id><published>2010-06-18T15:43:00.000+01:00</published><updated>2010-06-18T15:43:07.717+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Progress'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Not only procrastinating</title><content type='html'>Hello!&lt;br /&gt;It's been quite some time since my last update and as crazy as it seems I didn't spend all this time sitting on my butt and farting. Only mostly.&lt;br /&gt;Yeah, college life is difficult, when you're not studying for finals you're looking for a job, or a place to live, or gathering documents or doing assignments.&lt;br /&gt;Still I've got some time free and I've been spending it mostly &lt;strike&gt;watching youtube videos&lt;/strike&gt; making a small model viewer on wxWidgets and last two days I've spent making a nifty little 2D animation system for my game. All it does for now is draw a mesh on an animated skeleton.&lt;br /&gt;&lt;br /&gt;Anyway here's a screen: &lt;br /&gt;&lt;a href="http://img266.imageshack.us/img266/7334/lbscreenanimation.png"&gt;&lt;img src="http://img266.imageshack.us/img266/7334/lbscreenanimation.png" /&gt;&lt;/a&gt;&lt;br /&gt;Unfortunately it isn't animated here.&lt;br /&gt;&lt;br /&gt;So far it only animates a test skeleton with a test mesh using two merged test animations.&lt;br /&gt;Oh, that's right, one little feature is that there are two "blending" modes, a simple aditive, which is helpfull when you want use two independent animations (eg, legs running, and arms flailing around) and use them together, and a real blend between two animations with a certain ratio. Of course the stored skeleton pose can be blended again and again, so I can have a 50 tentacled monster with each of his arms having a diferent animation of its own, while the monster itself has its own animations.&lt;br /&gt;In future I plan to add IK and simple physics which will be blendable with the existing animations giving them a little more realism/naturality.&lt;br /&gt;Apart from the animation system I'm also gonna create an animation and mesh editor, and when I'm done I'll have pretty looking graphics in my game.&lt;br /&gt;&lt;br /&gt;That's all for now, I'll update this once I've finished some of the planned things.&lt;br /&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8108189014743257853?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8108189014743257853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/06/not-only-procrastinating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8108189014743257853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8108189014743257853'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/06/not-only-procrastinating.html' title='Not only procrastinating'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-238137130294905741</id><published>2010-05-28T21:55:00.000+01:00</published><updated>2010-05-28T21:55:36.661+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>No more shenanigans</title><content type='html'>Just a quick post to say that I'm putting my engine and GUI on hold. I'm getting really frustrated with the fact that I've been working to make games for 3 years already and I haven't made a single release. Therefore I'm now looking for an engine that will come with a nice collection of tools to use instead of making everything by myself practically from scratch. Right now I'm downloading Unity but if I find another engine that I'll like more I might go with that. So if you, who is reading this, has any Ideas It's time to post them!I'm out.~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-238137130294905741?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/238137130294905741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/no-more-shenanigans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/238137130294905741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/238137130294905741'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/no-more-shenanigans.html' title='No more shenanigans'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-6037374679070666957</id><published>2010-05-09T16:37:00.002+01:00</published><updated>2010-05-09T16:40:42.905+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>More GUI Shenanigans</title><content type='html'>Ok, so following Blecki's suggestion I decided to try out the C# with VStudio 2010 and .Net:&lt;br&gt;&lt;br&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img263.imageshack.us/img263/1026/shenanigawhat.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="370" src="http://img263.imageshack.us/img263/1026/shenanigawhat.png" width="512" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;Wait... That isn't C# with VStudio 2010!&lt;br&gt;Oh.. right, So the installation of VStudio turned out to be quite harmful to my PC, harmful as in: Windows used to load in 20 seconds, and after the installation it took it's sweet 3 minutes every time. Neither uninstalling nor Restoring system could help, as a side effect Drag n drop also stopped working, so I decided to install windows xp again. Luckily I have 6 partitions 3 of them having the apropriate size of 20 Gigs for a windows instal. So now I'm dual booting winXP, the version I'm onright now is Service Pack 2, which I like more than my previous (SP3) which I'll reserve just for gaming.&lt;br&gt;&lt;br&gt;However one good side effect came from reinstalling windows from scratch: wxWidgets wxGLCanvas works! (as you can see on the screenshot)&lt;br&gt;This is really great news, (though I kinda wish I worked with C# right now) I'll be able to finally get back on track to work with that editor!&lt;br&gt;&lt;br&gt;So yeah, See you soon with another Editor update!&lt;br&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-6037374679070666957?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/6037374679070666957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/more-gui-shenanigans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6037374679070666957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6037374679070666957'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/more-gui-shenanigans.html' title='More GUI Shenanigans'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3830133459776453400</id><published>2010-05-08T22:06:00.003+01:00</published><updated>2010-05-09T00:32:55.793+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Editor GUI Shenanigans</title><content type='html'>So as promissed another small update on my editor:&lt;br&gt;&lt;br&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img442.imageshack.us/img442/3072/shenanigans.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="370" src="http://img442.imageshack.us/img442/3072/shenanigans.png" width="512" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;Slowly but surely it's taking shapAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAAAAAAaa... ok, I'm sorry I really can't say that with a straight face, wxWidgets turned to be complete shite for me. I can't seem to add the most basic setup either for openGL or for SDL.&lt;br&gt;First I've spend the entire yesterday's morning trying to get the thing compiling, it kept giving me a crapload of linker errors and whatnots, fast forward for today and I've got the application compiling and linking without any problem. The problem appears when I try to run it. It just crashes! FFS I've spent 5 days learning on how to work with this thing only to discover it's all for nothing????&lt;br&gt;&lt;br&gt;Anyway, if anyone has any Idea of why it would crash I'll highly appreciate it. I would post a screenshot but it's just that standard dialog asking if I want to send the info to microsoft (Does anyone even do that???).&lt;br&gt;&lt;br&gt;It wouldn't be a problem if it was just my app that crashed. Every single tutorial source I put up and running up to the point of launching it Simply Dies at start (No window even appears, just the stupid microsoft dialog), even the one given as an compilable example!.&lt;br&gt;I'm using Code::Blocks which might be part of the problem but I say that the application should at least try to compile if I try to call the "mingw32-make -f makefile.gcc" in that directory. All it does is create an empty subdir and die.&lt;br&gt;&lt;br&gt;&lt;br&gt;TLDR version: wxWidgets is shite for me, I need to learn Qt, maybe at least it'll allow me to use openGL UNLIKE wxWIDGETS!&lt;br&gt;I'm out&lt;br&gt;~Spliter&lt;br&gt;EDIT: Qt is shite for me as well as FLTK, fox Toolkit, GTK would've been awesome if it wasn't in c&lt;br&gt;EDIT2:Blecki, from LudumDare Chat convinced me to try C# with .Net framework... I hope I won't regret it.&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3830133459776453400?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3830133459776453400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/editor-gui-shenanigans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3830133459776453400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3830133459776453400'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/editor-gui-shenanigans.html' title='Editor GUI Shenanigans'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-6450556186298048564</id><published>2010-05-07T12:40:00.004+01:00</published><updated>2010-05-07T12:47:14.074+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announecment'/><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Learning GUIs and stuffs</title><content type='html'>So yeah, I decided to finally take learning a GUI seriously so I grabbed Win32 and started learning it:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img697.imageshack.us/img697/3091/screenuoy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="370" src="http://img697.imageshack.us/img697/3091/screenuoy.png" width="512" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Huh? What's That you say? That's got the wxWidgets logo on it? Yeah, you're right. Win32 is shite to program in by my standards so I grabbed Qt!&lt;br /&gt;&lt;br /&gt;And so I started learning Qt. Unfortunately after one day trying to install it properly it still gave me errors about bad entry points for DLLs and shit like that so I decided to grab wxWidgets and the prebuild libs that you just instal and run (LIKE IT SHOULD ALWAYS BE WITH EVERY SDK!). But maybe it's just me that don't find the pleasure in compiling an SDK for half an hour then realizing it still won't run, and then comiling it again and again only for it to give you more and more elaborate error messages when you try to run your program.&lt;br /&gt;&lt;br /&gt;Anyway. The point is: I'm learning to work with wxWidgets which means Soon I'll start working on Litterbox SDK per se (Level editors, animation editors, exporters, importers and converters, all with a GUI!).&lt;br /&gt;&lt;br /&gt;There is a bad side to all of this: I'm gonna lose my scholarship for next year because of a new law that's been passed in detriment for immigrants like myself. So unless a miracle happens I'll have to quit University for at least one year and get a job, or two jobs.&lt;br /&gt;&lt;br /&gt;If anyone has any experience with job hunting as an experienced but not yet professional programmer I would gladly hear it.&lt;br /&gt;&lt;br /&gt;See you once I do something worth posting here like some progress on the editor.&lt;br /&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-6450556186298048564?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/6450556186298048564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/learning-guis-and-stuffs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6450556186298048564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6450556186298048564'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/05/learning-guis-and-stuffs.html' title='Learning GUIs and stuffs'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-1792858206014475069</id><published>2010-03-11T13:10:00.003Z</published><updated>2010-03-11T13:27:33.067Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcment'/><category scheme='http://www.blogger.com/atom/ns#' term='Chiustream'/><category scheme='http://www.blogger.com/atom/ns#' term='Art'/><title type='text'>Chiustream tomorrow friday at 22:00 GMT</title><content type='html'>Hello!&lt;br&gt;I know I said I wouldn't update this blog until I have something of my editor to show for it but I forgot about one thing:&lt;br&gt;Tomorrow, Friday 12, at 22:00 GMT or 5:00pm EST will be held a Chiustream.&lt;br&gt;"What is a Chiustream?" you may ask.&lt;br&gt;Chiustream is a live 1 hour contest held by Bobby Chiu from Imaginism Studios (the ones that designed the characters for Tim Burton's Alice in the Wonderland).&lt;br&gt;The contest is about art. Drawing, painting, digital, traditional, anything! The theme of the contest is given at the start of each Chiustream, after that you have one hour to paint and to submit your artwork to &lt;a href="http://www.sketchoholic.com"&gt;Sketchoholic.com&lt;/a&gt; and then you have about 10 minutes to vote for your favourite work (apart from your own).&lt;br&gt;&lt;br&gt;"Why is it called ChiuSTREAM?" Well, that's because it's a live stream, that's right, Bobby Chiu will be painting alongside with us, and if this chiustream is gonna be like the other ones the prize will be the paining he's drawn.&lt;br&gt;The themes are mainly asking to draw a character or a creature so it's always interesting to participate. Even if you don't want to participate you can still lurk on the ustream, listening to his sexy and overly cheery voice, since he's an extremely charismatic person and often says things that stay with you for a long time.&lt;br&gt;&lt;br&gt;If you're interested then visit the following site:&lt;br&gt;&lt;a href="http://www.sketchoholic.com/Talent/member/my_contest_items.php?ContestID=292"&gt;http://www.sketchoholic.com/Talent/member/my_contest_items.php?ContestID=292&lt;/a&gt;&lt;br&gt;&lt;br&gt;I hope to see you there and even participate! (I won't be joining the IRC chat since it doesn't work for me on ustream and ustream channel blocks mibbit IRC client)&lt;br&gt;I'm out!&lt;br&gt;~Spliter&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-1792858206014475069?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/1792858206014475069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/chiustream-tomorrow-friday-at-2200-gmt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1792858206014475069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/1792858206014475069'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/chiustream-tomorrow-friday-at-2200-gmt.html' title='Chiustream tomorrow friday at 22:00 GMT'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3361761131897744064</id><published>2010-03-08T19:17:00.001Z</published><updated>2010-03-08T19:18:34.610Z</updated><title type='text'>If you fail: fail, and then fail again.</title><content type='html'>Programming without planing everything through has finally taken its toll. I have to scrap most of the editor code, leave the PC, grab a bunch of paper sheets a pencil and thing everything through.&lt;br&gt;This time the problem was that I didn't differentiate the edit mode from the game mode, which lead to serious complications (the code worked fine but the logic behind it didn't).&lt;br&gt;In this version you could change the entities on the fly without having to worry about it making any sense later but on the other hand you could also edit entities that shouldn't be editable and once a game run it preserved its state and didn't reset.&lt;br&gt;What I'm gonna do now is use the game engine as it is, take out the editor related stuff and rebuild it so that while editing will take place inside the engine, it won't be held at game runtime. I think it'll be easier to manage editor logic like this. All the previously existent features should still be possible right now, but running the game during the edit mode won't be possible that easily, it'll have to save the level, reset the world and load game from the saved map, and then do the same when entering edit mode. It'll still be faster than closing the program and loading the map again since all the textures used in the map will be kept.&lt;br&gt;This is also another thing my engine has: preserving resources between levels. After a level finishes loading it'll just delete the resources noone asked to load and thus shortening the loading time.&lt;br&gt;That's all for today. I doubt I'll update this blog until I make significant progress.&lt;br&gt;See ya in a week or two!&lt;br&gt;~Spliter&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3361761131897744064?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3361761131897744064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/if-you-fail-fail-and-then-fail-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3361761131897744064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3361761131897744064'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/if-you-fail-fail-and-then-fail-again.html' title='If you fail: fail, and then fail again.'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-4643066303366648017</id><published>2010-03-08T01:17:00.002Z</published><updated>2010-03-08T15:05:44.787Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Edit Mode slowly but taking shape</title><content type='html'>Pretty much like the title says. Although I haven't planed anything beforehand, the editor mode is slowly taking shape, most of the work is done under the hood but here are some more notable features I implemented so far:&lt;br&gt;-Selecting/deselecting entities (so far only the player can be moved but it's only because I haven't integrated the other entities into the system).&lt;br&gt;-moving them around&lt;br&gt;-Displaying their info.&lt;br&gt;-select different layers and being able to select ents only on that layer&lt;br&gt;&lt;br&gt;The editor is embedded into the engine so you can enter it at any time in the game. So far I still didn't implement saving and loading but that isn't far behind. In fact the editor saving will work exactly like the game loading and saving. Later I'm gonna work on this system a bit more to differentiate loading and saving a map and loading and saving a gamestate, which shouldn't be that difficult.&lt;br&gt;&lt;br&gt;My hopes for the next editor update should be the following:&lt;br&gt;-Integrating all existing entities into the editor&lt;br&gt;-creating and destroying entities.&lt;br&gt;-Changing the layer an entity is on, and changing the order on the layer (bring forward, bring backward, etc).&lt;br&gt;&lt;br&gt;Later yet I'll add the saving and loading of the maps.&lt;br&gt;&lt;br&gt;There's still one major feature I want to add to my editor:&lt;br&gt;Entity Edit Mode&lt;br&gt;&lt;br&gt;This mode will be specialized for every new type of entity. Normally you can move, rotate and scale the entities. But what about those that need a custom texture, or those that have a model or animation you want to edit?&lt;br&gt;In those cases you enter the entity edit mode and you'll be able to edit everything as you see fit, with your own custom GUI and everything.&lt;br&gt;So it'll work kinda like a program inside the editor.&lt;br&gt;&lt;br&gt;Here you can see how everything looks now:&lt;br&gt;&lt;br&gt;&lt;img src="http://img411.imageshack.us/img411/6554/editmode.png"&gt;Not very inspiring, is it? Oh well, the GUI will come later when the most important features will already be implemented.&lt;br&gt;&lt;br&gt;Later!&lt;br&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-4643066303366648017?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/4643066303366648017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/edit-mode-slowly-but-taking-shape.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4643066303366648017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4643066303366648017'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/edit-mode-slowly-but-taking-shape.html' title='Edit Mode slowly but taking shape'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8035618721361992000</id><published>2010-03-04T14:51:00.000Z</published><updated>2010-03-04T14:51:26.539Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>I'm doing it again.</title><content type='html'>WARNING: wall of text coming without pictures and with too much philosophical crap.&lt;br&gt;&amp;nbsp&amp;nbsp Damn, I thought I knew better than doing an editor system without planning everything beforehand. Every session I have programming it get's to be a bigger clusterfuck than before. However I do wonder if I'm actually doing the right thing. Last time I started jamming code without planning it through,on the December LD,everything got FUBAR, and I had to scrap lots of it in order to be able to make anything, but I have also learned tons of little tricks that helped me out before. Programming without having a concrete plan, with just having a vague Idea in mind, actually6 is lots of fun since you make things up as you go.&lt;br&gt;When I studied animation (by myself) I learned there are two kinds of animation. One of them is drawing as you go and the other is by doing keyframes and interpolating between them. The second one gives good results by being pre-thought, however it gives boring results, the first one however when you're animating as you go it's a lot more entertaining to animate and gives interesting results and livelier characters but tends to miss the marks and is in general unorganized. A good animator uses both of those styles to get the best results, and I'm thinking if it isn't the case with programmers too.&lt;br&gt;&amp;nbsp&amp;nbsp Maybe programming stuff without pre-planning everything and then scraping most of the code but keeping the interesting stuff can become my way of doing things? Sure it wastes a lot of time but it also gives good results! When the entity system was in such a stage and scrapped everything I did learn a lot more than I expected, and you learn the most when you fail, so it might be possible I'll learn something even if I know beforehand something is gonna eventually fail.&lt;br&gt;That's all for today. Cya!&lt;br&gt;~Spliter&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8035618721361992000?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8035618721361992000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/im-doing-it-again.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8035618721361992000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8035618721361992000'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/03/im-doing-it-again.html' title='I&apos;m doing it again.'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-6121775613426111071</id><published>2010-02-28T18:37:00.001Z</published><updated>2010-02-28T18:38:24.258Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Progress'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Progress on the Cricket game [post nr 3]</title><content type='html'>Hello! Long time no see, eh?&lt;br&gt;In the last few days I've been concentrating more on the artsy side of me, this was fortified with Chiustream. "What is chiustream?" You may ask. Well, chiustream is a video stream every friday at 22:00 GMT created by the awesome artist Bobby Chiu.&lt;br&gt;For those that don't know who he is: he was one of the three character designers on Alice in the Wonderland directed by Tim Burton, along with Kei Acedera and Michael Kusche. The stream is basically a 1 hour contest at the beginning of which Bobby Chiu gives a theme and you must draw it.&lt;br&gt;&lt;br&gt;But enough about art, you're here for my game updates right?.... right?&lt;br&gt;&lt;br&gt;So in the last post I wrote that I've already finished all the three things planned for this update: Camera scrolling, Particle effects when you sing and allowing walls that won't let you grip them, From that time I didn't do much more as I've been busy with art practice.&lt;br&gt;Anyway, here's a screen of the latest build:&lt;br&gt;&lt;img src="http://img705.imageshack.us/img705/7204/screen4m.png"&gt;&lt;br&gt;&lt;br&gt;As usual here's the update of my game:&lt;br&gt;&lt;a href="benhem.com/catboxbeta/Litterbox_update_10_02_28.rar"&gt;benhem.com/catboxbeta/Litterbox_update_10_02_28.rar&lt;/a&gt;&lt;br&gt;Of course you must have all the previous updates downloaded which you can download here:&lt;br&gt;&lt;a href="http://benhem.com/catboxbeta/Litterbox_update_10_02_18.rar"&gt;http://benhem.com/catboxbeta/Litterbox_update_10_02_18.rar&lt;/a&gt;&lt;br&gt;and here:&lt;br&gt;&lt;a href="http://benhem.com/catboxbeta/Litterbox_redistributable.rar"&gt;http://benhem.com/catboxbeta/Litterbox_redistributable.rar&lt;/a&gt;&lt;br&gt;Yes, you do have to download them all and extract to the same folder, remember to extract them in the reverse order of appearance. Sorry for this inconvenience but I don't want to waste too much Benhem's space.&lt;br&gt;&lt;br&gt;That's all for today, I hope you liked this update, I'm off!&lt;br&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-6121775613426111071?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/6121775613426111071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/progress-on-cricket-game-post-nr-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6121775613426111071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6121775613426111071'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/progress-on-cricket-game-post-nr-3.html' title='Progress on the Cricket game [post nr 3]'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-6249765414626117761</id><published>2010-02-25T01:35:00.001Z</published><updated>2010-02-25T01:38:40.519Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Art'/><category scheme='http://www.blogger.com/atom/ns#' term='Art'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Artsy fartsy</title><content type='html'>Hello! As promised This post will be about my experiments with the art style for my game. Even though I did already draw and paint my main character and I do plan to keep him a bit cartoonish, that drawing isn't his final design. My main concern right now isn't about the design of the character but the art style in general. My Achilles Heel are the backgrounds and level art so before I do anything about the characters I'll try to find a fitting style for the levels themselves.&lt;br&gt;Here are some of my most recent takes on the level pieces:&lt;br&gt;&lt;br&gt;My first try:&lt;br&gt;&lt;img src="http://img535.imageshack.us/img535/7823/cliff1.png"&gt;&lt;br&gt;This one in practically the same style but added a bit of soft shadows:&lt;br&gt;&lt;img src="http://img532.imageshack.us/img532/428/cliff2.png"&gt;&lt;br&gt;In this one I tried a bit different way of doing the dirt on top, I also decided to not add the soft shadows made by blurring near the edges. This one is one of my favourite styles so far.&lt;br&gt;&lt;img src="http://img16.imageshack.us/img16/3949/cliff3y.png"&gt;&lt;br&gt;This one started interesting but the turned kinda crap. I wanted to elaborate on the previous one by making the dirt look like some kind of dense liquid, but later I wrecked it with badly placed blur shadows and adding an unnecessary texture.&lt;br&gt;&lt;img src="http://img9.imageshack.us/img9/5593/cliff4.png"&gt;&lt;br&gt;&lt;br&gt;The following two are in completely distinct style I tried just to see how it would work.&lt;br&gt;In fact these are my favorites.&lt;br&gt;The problem lies withe the fact that I don't know if they fit the general game theme. As these simple styles are good to show an ambient devoid of humans meanwhile I'll have to make quite a few levels dealing with machinery,human houses and rockets and shit.&lt;br&gt;&lt;img src="http://img35.imageshack.us/img35/3866/cliff5.png"&gt;&lt;br&gt;&lt;img src="http://img31.imageshack.us/img31/5927/cliff6.png"&gt;&lt;br&gt;In the last one I especially like how the layering worked out, I think it's gonna be quite easy to add this to my engine but still I'll have to elaborate on them and see if I can fit in the machinery and human made products into that style. Still The kind of gameplay the first one shows is calm and friendly, meanwhile I'm hoping for a bit of action mixed with puzzles and platforming.&lt;br&gt;&lt;br&gt;I would like to hear input from all of you who are reading this blog. Anyone can comment, no signup or capcha needed.&lt;br&gt;&lt;br&gt;Hope you liked this post, the next one will be a progress update as I completed all the stuff I promissed in the last update post (camera scrolling, walls you can't latch onto and particle notes when you sing).&lt;br&gt;&lt;br&gt;I'll see you tomorrow!&lt;br&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-6249765414626117761?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/6249765414626117761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/artsy-fartsy.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6249765414626117761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6249765414626117761'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/artsy-fartsy.html' title='Artsy fartsy'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-6842272922080935338</id><published>2010-02-23T15:35:00.000Z</published><updated>2010-02-23T15:35:55.893Z</updated><title type='text'>No net no updates</title><content type='html'>Yeah, pretty much what the title says. I've been without net for the last few days at my condo and no one apparently is doing anything to fix this.&lt;br&gt;I have some nice things going on right now when it comes to my game. First I finally thought of a map saving and loading format that is easy to read by eye and modify (it's a xml looking type thingy, with objects and arrays and whatnots).&lt;br&gt;I've been also experimenting a bit with the art style for my game, it's actually pretty difficult to come up with something that isn't a complete ripoff either of World of Goo deliciousness or Patapon simplicity. I don't really have my style that I'm happy with so I'm reduced to using other peoples styles and experimenting with them. Unfortunately I don't have the artistic skill and training in making backgrounds/level art to actually make something that looks good and this means I'm gonna have to make a lot of drawings/paintings in photoshop or inkscape before I'll do some actual in-game art.&lt;br&gt;I'm gonna post some of the experimental art here and check the reactions it gets. This means this blog's gonna be updated with random blurts of art and only occasionally with actual new game mechanics, at least until I figure a good art style.&lt;br&gt;&lt;br&gt;...ok, I'm gonna stop rambling now&lt;br&gt;SO LONG!&lt;br&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-6842272922080935338?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/6842272922080935338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/no-net-no-updates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6842272922080935338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6842272922080935338'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/no-net-no-updates.html' title='No net no updates'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3406464556966837828</id><published>2010-02-18T15:56:00.000Z</published><updated>2010-02-18T15:56:37.401Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Progress'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Progress on the Cricket game [post nr 2]</title><content type='html'>So things are going quite faster than I expected them to do. It's a shame I'll have to put the my cricket game aside for the miniLD this weekend.&lt;br&gt;&lt;br&gt;Anyway, here's what's new:&lt;br&gt;I finally added jumping, proper jumping with raytracing to make sure you don't fly off the map no matter how fast you go (although you can still get pushed outside with the normal collision tests I make after the movement has been done. I'm still indecisive whether I should add walking/scurrying into my game for the player since if I did that for normal ground walking I would also have to do it for wallwalking/ceilwalking and it would be a hassle. So far you can still move a little, but if you want to travel it's mostly by jumping.&lt;br&gt;&lt;br&gt;Here's a new screen:&lt;br&gt;&lt;img src="http://img682.imageshack.us/img682/508/screen3u.png"&gt;Those blue things at the edges are walls I have added so you wouldn't fall off if you miss a jump.&lt;br&gt;I also finally disabled the rotating background! It was giving me headaches when testing.&lt;br&gt;&lt;br&gt;Having made a lineart concept from the "I'm probably not meant to be a game designer" post I decided to color it. It might sound simple but being Deuteranope (I have shifted green spectrum a bit) I usually use weird looking color combinations when dealing with green, so I decided to try something crafty:&lt;br&gt;Paint the little guy in blue, setting appropriate hues and saturations and all that jazz,and then change the hue to green. It definitely looks a lot better than if I did it with green right away (at least to me), so here's a little tip for all you deuteranopes out there: Paint in the color you're comfortable first and only then change the hue to the color you have shifted! (however unless I get a confirmation from a person without shifted spectrums I can't put my money where my mouth is).&lt;br&gt;&lt;br&gt;Anyway! Here's the final version of the main character:&lt;br&gt;&lt;img src="http://img52.imageshack.us/img52/240/cricketconceptcoloured.png"&gt;&lt;br&gt;&lt;br&gt;Of course this wouldn't be much of a progress post if I didn't give you an updated version of my game to try out the new jumping feature so here it is:&lt;br&gt;&lt;a href="http://benhem.com/catboxbeta/Litterbox_update_10_02_18.rar"&gt;http://benhem.com/catboxbeta/Litterbox_update_10_02_18.rar&lt;/a&gt;&lt;br&gt;It's only the exe without the DLL's but to save on Benhem's storage space I decided it would be best to only give updates instead of the full thing every time.&lt;br&gt;You can get the previous working version here:&lt;br&gt;&lt;a href="http://benhem.com/catboxbeta/Litterbox_redistributable.rar"&gt;http://benhem.com/catboxbeta/Litterbox_redistributable.rar&lt;/a&gt;&lt;br&gt;And then just put the exe inside there&lt;br&gt;&lt;br&gt;The controls:&lt;br&gt;Space- to show the sing menu/GUI and mouse over the circles to sing.&lt;br&gt;WSAD- for additional control in flight&lt;br&gt;AD-to walk on the floor (or on the ceiling in this version)&lt;br&gt;RMB- hold longer to jump faster release to jump&lt;br&gt;&lt;br&gt;My plans for the next update:&lt;br&gt;-add a little particle effect of notes when singing&lt;br&gt;-add camera scrolling to follow the player and thus make the world bigger&lt;br&gt;-add walls/solids you can't latch yourself onto&lt;br&gt;&lt;br&gt;So this is it! I hope I didn't bore you,and see you next time!&lt;br&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3406464556966837828?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3406464556966837828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/progress-on-cricket-game-post-nr-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3406464556966837828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3406464556966837828'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/progress-on-cricket-game-post-nr-2.html' title='Progress on the Cricket game [post nr 2]'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-2240577954806915897</id><published>2010-02-17T04:03:00.003Z</published><updated>2010-02-17T04:16:15.268Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Progress'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Progress on the Cricket game [post nr 1]</title><content type='html'>An average programmer can write an entire program in a week. Unfortunately I'm not an average programmer and I take incredibly long amounts of time to write the simplest things. Main reason for the slow progress is not having much motivation therefore I decided to get more graphic.&lt;br&gt;From now on every few days I'm gonna update this blog with the progress of my game and I'll post when there is something new you can actually see. I'll try to do it as often as I can. Hopefully having something to show for will motivate me to work more and procrastinate less, having said that here's my first progress update:&lt;br&gt;&lt;br&gt;I finally added one of the key gameplay features: Singing.&lt;br&gt;Practically I've spent today's entire day adding Fmod support to my game and I'm happy to announce I now can have sounds! Of course having ability to play sounds would be nothing without the sounds themselves so I added the singing feature, mentioned in the "I'm probably not meant to be a game designer" post, suggested by Thedaian.&lt;br&gt;The singing works just like it did in Aquaria, you mouse over the notes arranged in a circle and compose short melody with them, if it matches any melody known to you will give you certain power or do something interesting. So far you can only play a fixed-size melody of 6 notes and all it does is toggle between red and purple song layout.&lt;br&gt;&lt;br&gt;Before Singing:&lt;img src="http://img714.imageshack.us/img714/5167/screen1g.png"&gt;After Singing:&lt;img src="http://img192.imageshack.us/img192/972/screen2pl.png"&gt;&lt;br&gt;Note that everything here is placeholder, and the background still rotates continuously because I'm just too lazy to change a certain variable to &lt;b&gt;false&lt;/b&gt;.&lt;br&gt;&lt;br&gt;Here's my work in progress if you want to see it in action:&lt;br&gt;My game's current build with necessary DLLs:&lt;br&gt;&lt;a href="benhem.com/catboxbeta/Litterbox_redistributable.rar"&gt;http://benhem.com/catboxbeta/Litterbox_redistributable.rar&lt;/a&gt;&lt;br&gt;Just the game exe and the assets:&lt;br&gt;&lt;a href="benhem.com/catboxbeta/Litterbox_nodlls.rar"&gt;benhem.com/catboxbeta/Litterbox_nodlls.rar&lt;/a&gt;&lt;br&gt;&lt;br&gt;WSAD-moves you (the little blue square).&lt;br&gt;LMB-places one of the walls on the mouse position.&lt;br&gt;Space-press and hold to play the music you like.&lt;br&gt;Q-hints at the only music available.&lt;br&gt;&lt;br&gt;&lt;br&gt;So this is all for today, I hope I didn't bore you too much, see you next time!&lt;br&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-2240577954806915897?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/2240577954806915897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/progress-on-cricket-game-post-nr-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2240577954806915897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2240577954806915897'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/progress-on-cricket-game-post-nr-1.html' title='Progress on the Cricket game [post nr 1]'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-5642223611863320742</id><published>2010-02-15T13:34:00.001Z</published><updated>2010-02-15T13:43:06.086Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Entity based C++ Game Save Tutorial with complete code</title><content type='html'>&lt;div style="text-indent: 2em"&gt;Ok, so maybe I'm not meant to be a game designer but I want  definitely to be a game programmer. I like doing all that low level code and I've got an enormous help from tutorials all over the internet and from the "Game Programming Gems Vol 3" book. I hope you find this tutorial useful, and if not then at least I hope you like the save system I wrote for you.If you've been following my blog you are now aware that I have been developing a game engine for quite some time. I bet heavily on automation and allowing the programmer know as little of internal workings as he wishes. My current iteration of my engine  has been influenced heavily by the Source engine structure. But enough about this, if you're here it means you got interested in the a tutorial on how to save entities.&lt;/div&gt;&lt;b&gt;Now, before we begin I'll be mostly talking theory, if you want you can download the entire source code as well as a sample program showing it works in a link I'll provide at the end of this page. This tutorial won't explain on how to implement the saving system I'm describing, but it will tell you a lot of theory to build your own based on Shells or use the code I wrote. If you don't find this tutorial that much helpful since you would like to know the implementation then look at the code in the linked file at the bottom of this post, not only it has everything setup so you can use my code in your project right away, but it has a very good readme file that explains everything from how it works to what every separate thing does, to how to integrate it with existing systems.&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Part 1: the start&lt;/b&gt;&lt;div style="text-indent: 2em"&gt;So you've just created a good entity system or are about to and you think to yourself "gee, if I only had implemented the ability to save entities to a file or a buffer!". Many times beginner programmers let the saving system to the end. Although it's not a bad thing since it's one of the last thing you need you have to prepare a fertile ground for saving. One of the mistakes people do is keeping references to other entities in game as pointers in your object. This practice leads to many problems when you start to make the saving system so here's a word of advice: Don't do it. If you want having references to other entities like to an owner or the nearest enemy keep them as handles. A Handle is a combination of an ID and a index, most probably you'll either keep your entities on a static sized array so you don't have to reallocate the entire collection every time you add or remove an entity. A handle is basically an ID, it works great if it's just the index of the object on the entity array since you're gonna need that anyway. By passing the handle/ID to the entityManager he should be able to give you a pointer to the entity you want or NULL if no such entity exist (the best thing about handles is that you don't have to worry that if you erase your entity if it leaves dangling pointers on other entities). Having all entities inheriting from one common ancestor is also usually a requirement of loading systems.&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Part2: the Theory&lt;/b&gt;&lt;br&gt;&lt;div style="text-indent: 2em"&gt;In an ideal saving system you would be able to just call LoadEntities(char* buf) and the entire system would just do everything you expect it to do. Luckily it is possible, unfortunately you have to implement all that code yourself, or use someone else's code.&lt;/div&gt;&lt;div style="text-indent: 2em"&gt;Let's start at where we began: we have a collection of objects that don't have any saving implemented and you want to save them. What a bummer! you have to write so much code for every single variable just to save it! You're lucky you've got me, and I'll teach you how to reduce your workload using Shells and Macros (yes, remember my last rant about them? well you'll see them in full action this time!).I'll just quickly state that by using macros instead of rewriting/copying and replacing about a hundred lines of code for every class you'll only write two short lines, and then one very short line of code for every variable you want to save.&lt;/div&gt;&lt;br&gt;&lt;br&gt;What is a shell?&lt;br&gt;The theory behind shells is the following: you create a small object specialized for every entity you want to save in your game that holds which variables will be saved and loaded. It'll work as our intermediary between the entity to save and the buffer: [entity]&lt;---&gt;[shell]&lt;---&gt;[buffer]The Ideal would be to be able to write something like this:&lt;br&gt;FooShell{&lt;ul&gt;SaveVars&lt;li&gt;x[float]&lt;li&gt;y[float]&lt;li&gt;name[string]&lt;/ul&gt;}&lt;br&gt;...and then just call the shell's saveObject(object,buffer) and loadObject(object,Buffer). To achieve this we must create a system that: &lt;ul&gt;&lt;li&gt;allows passing of a variable as a parameter&lt;li&gt;allows passing the type of the variable&lt;/ul&gt;The difficulty lies that Shell and the entity we want to save are separate classes. By joining them into one we would lose the abstraction we have right now. So what do we do? We use a nasty little trick and instead of getting the variables themselves we get their offsets and sizes in bytes. What do I mean by that? Let's say we have an object with three float variables x,y,z and we want to save two of them, let's say y and z. This is how our object would look in memory:&lt;br&gt; &amp;nbsp v-object start &lt;br&gt;[x][x][x][x][y][y][y][y][z][z][z][z] &lt;br&gt;where each [ ] represents a byte. to save y we need to get it's offset from the start of the object. for that we must handle some nasty pointer calculations. in theory you grab the address of y and then subtract from it the address of the object which is also the object start. In our case the offset of y would be 4 and it's size would be sizeof(float) which is also 4.   Would you look at that! We already have a format for our variable storage entry in c++ it would look like this: &lt;pre&gt;&lt;b&gt;struct&lt;/b&gt; varEntry&lt;br /&gt;{&lt;br /&gt; &lt;b&gt;unsigned int&lt;/b&gt; size;&lt;br /&gt; &lt;b&gt;unsigned int&lt;/b&gt; offset&lt;br /&gt;};&lt;/pre&gt;our Shell class would look like the following &lt;pre&gt;&lt;b&gt;struct&lt;/b&gt; Shell&lt;br /&gt;{&lt;br /&gt;  &lt;b&gt;virtual void&lt;/b&gt; fillEntityFromBuffer(baseClass* ent,char* buffer);&lt;br /&gt;  &lt;b&gt;virtual void&lt;/b&gt; fillBufferFromEntity(baseClass* ent,char* buffer);&lt;br /&gt;  &lt;b&gt;virtual unsigned int&lt;/b&gt; getMinBufferSize();&lt;br /&gt;  &lt;b&gt;static&lt;/b&gt; varEntry* variableList();&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;The member function variableList should return an array of statically allocated varEntry-s holding information about the offset and size of every variable to be saved/loaded for the specific entity that Shell was made for, to add simplicity that array should end with a special entry, you could chose an varEntry with size0 and offset 0 or size=0xffffffff and offset=0xffffffff (you can get this by casting a -1 to unsigned integer).  &lt;br&gt;&lt;br&gt;&lt;b&gt;3. How the system works&lt;/b&gt;&lt;br&gt;&lt;div style="text-indent: 2em"&gt;In a Shell based saving system to save all the entities you'd do either one of these things: every instance of every class would need to have a member function that gives us the shell assigned to it. This works great for saving but problems appear when you are loading entities, and don't know which constructor to use. My favorite mode of overcoming this problem would be to write a singleton factory class for every entity that could not only spawn the entity instance we want, but that could also give us a singleton shell object specific to that entity.  On the save system side you'd have one shell for every entity in game and one base shell corresponding to the one entity/class that is the common ancestor from which every other are descendant. An advantage of such system is that if combined with Macros you'll end up writing a little bit more code on the implementation but it'll save you literally thousands of lines of code throughout the project.&lt;/div&gt; The workflow of this method is separated into two phases:&lt;br&gt; -Implementation&lt;br&gt; -Use&lt;br&gt;&lt;div style="text-indent: 2em"&gt;The Implementation phase is the most difficult and takes the longest to complete as you have to write a generic loading code for variables, however thanks to this initial stretch the Use phase, which is when you're actually assigning saving capabilities to every entity you want/need will take a lot less time and a lot less code.&lt;/div&gt; &lt;ul&gt;So the things you'll need are:&lt;li&gt;One common ancestor to all entities in game&lt;li&gt;A Shell class, that's gonna be rewritten a lot (or not at all with macros), built for saving and loading the variables from a buffer.&lt;li&gt;A variable storage entry with a specific format.&lt;/ul&gt;&lt;br&gt;if done right with macros you'll end up with having something like this after every entity you want to save: &lt;pre&gt;START_STORAGE_DESC(FooEnt,FooParentEnt,BaseEnt)&lt;br /&gt;  STORE_VAR(x,TYPE_FLOAT)&lt;br /&gt;  STORE_VAR(y,TYPE_FLOAT)&lt;br /&gt;  STORE_VAR(name,TYPE_CSTRING)&lt;br /&gt;END_STORAGE_DESC()&lt;br /&gt;&lt;/pre&gt;So that would be all! I hope you liked this tutorial/article/whatever and found it useful, even if not, you can still download my code here: &lt;a href="http://benhem.com/catboxbeta/ShellSaveSystem_and_tutorial.zip"&gt;[Shell Based Entity Save System]&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-5642223611863320742?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/5642223611863320742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/entity-saving-tutorial-with-complete.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5642223611863320742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5642223611863320742'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/entity-saving-tutorial-with-complete.html' title='Entity based C++ Game Save Tutorial with complete code'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-2622501380417292236</id><published>2010-02-03T22:16:00.007Z</published><updated>2010-02-05T02:15:04.605Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>I'm probably not meant to be a game designer (will update this post with your Ideas)</title><content type='html'>&lt;div style="text-indent: 1em;"&gt;Full of enthusiasm I have reached a point in which my engine is good enough to make a simple game. Collisions work, rendering works, it's easily scalable, you can add new objects into the game without any hassle and everything is just peachy.&lt;br /&gt;It also means that at this points I lose all the Ideas for a game since I don't want to make a clone nor an uninspired game. A miniLD competition would work out great since right at this moment I have just finished the engine to such a state that I don't have any "illegal" code and it's still easy to make a game in it.&lt;/div&gt;&lt;div style="text-indent: 1em;"&gt;Yesterday when I was talking on IRC complaining about this to people who were there (and couldn't escape my complaints if they wanted to talk to other people on that channel) I had a wonderful Idea (yes, the I is capital for purpose):&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_u8voLVIJWlc/S2oEoqgD5xI/AAAAAAAAAF4/TcxH2P7ugtw/s1600-h/cricketConceptInked.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-indent: 1em;"&gt;You play as a cricket.&lt;br /&gt;What an extraordinary Idea it is! It only lacks something minor to complete it but the foundations are already there! One of the participants in the conversation (whose name I won't mention for his own safety and not because I forgot it) told me: "what if he played musics to get magical powers or change the terrain?". Now that's what I call inspiration! The game idea still lacks something though but so far we got this:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Main character:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;-The Cricket&lt;br /&gt;&lt;b&gt;What he does:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;-he can jump (oh yeah, this Idea was all mine, I'm that clever)&lt;br /&gt;&amp;nbsp;&amp;nbsp;-plays music to get magic powers (that guy's Idea)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yeah... just a few minuscule thing are missing but I guess I can make a game out of this. Still, small details can destroy huge buildings! So I'm asking help from &lt;b&gt;You&lt;/b&gt;, the reader, to fill in those little things like the story, setting, enemies, and the rest of the gameplay that you would want to see in this marvelous masterpiece.&lt;/div&gt;&lt;div style="text-indent: 1em;"&gt;&lt;br /&gt;I'm gonna update this space with your awesome Ideas (yes, this I is also capitalized for purpose)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-indent: 1em;"&gt;To those that would want to help me here's a concept drawing of the main characters. Those that don't want to help me please don't look at it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Cricket:&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_u8voLVIJWlc/S2oEoqgD5xI/AAAAAAAAAF4/TcxH2P7ugtw/s1600-h/cricketConceptInked.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_u8voLVIJWlc/S2oEoqgD5xI/AAAAAAAAAF4/TcxH2P7ugtw/s320/cricketConceptInked.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-indent: 1em;"&gt;I know he may look innocent but he's a deadly killing death machine.(I'll probably make him look more deadly in future revisions)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Ki-Dan-Shoo:&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_u8voLVIJWlc/S2oM5XjqxNI/AAAAAAAAAGA/-KntWINU050/s1600-h/threeeyedgrassblade.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_u8voLVIJWlc/S2oM5XjqxNI/AAAAAAAAAGA/-KntWINU050/s320/threeeyedgrassblade.png" /&gt;&lt;/a&gt;&lt;/div&gt;His wrath at humankind was so powerful it opened a third eye with his hate-chakra. Also he has a scar on his eye which hints that he is evil.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What we've got so far:&lt;br /&gt;&lt;b&gt;Game Name:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Main character:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;-The cricket - Loyal servant of the Ki-Dan-Shoo, also he needs a name.&lt;br /&gt;&lt;b&gt;Secondary Characters:&lt;/b&gt;&lt;br /&gt;&amp;nbsp; -The Ki-Dan-Shoo -  a sentient blade of grass with three eyes, the third one being his chakra-eye(PsySal's Idea)&lt;br /&gt;&lt;b&gt;What he does:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;-he can jump (oh yeah, this Idea was all mine, I'm that clever)&lt;br /&gt;&amp;nbsp;&amp;nbsp;-plays music to get magic powers (Thedaian's Idea (aka That guy))&lt;br /&gt;&lt;b&gt;Story:&lt;/b&gt;(contributors: PsySal, Demize, Anonymous)&lt;br /&gt;&amp;nbsp;&amp;nbsp;-His master, the Ki-Dan-Shoo, who seeks revenge on humankind has ordered our main character to kill all humans. His wrath goes all the way back to his early days when he kept the crickets as pets. He raised them from eggs taking care of them every day. As he lived on he had too many crickets, so he he gave many away hoping that they would find a better place, for his horror he discovered that those unfortunate souls were used as food for Human pets. His blood boiled inside him wanting vengance! Through incredible stunts, plot twists and awesome action the fate of the humankind will be decided In Space!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-2622501380417292236?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/2622501380417292236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/im-probably-not-meant-to-be-game.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2622501380417292236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2622501380417292236'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/02/im-probably-not-meant-to-be-game.html' title='I&apos;m probably not meant to be a game designer (will update this post with your Ideas)'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u8voLVIJWlc/S2oEoqgD5xI/AAAAAAAAAF4/TcxH2P7ugtw/s72-c/cricketConceptInked.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-4292984655786400627</id><published>2010-01-31T00:36:00.000Z</published><updated>2010-01-31T00:36:36.029Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Back to game devving</title><content type='html'>Yes! I am back! I haven't been away for long, 3 days is not much but if you consider the entire week before announcing the break in which I wrote less than 100 lines of code then I have rested considerably.&lt;br /&gt;&lt;br /&gt; Taking time off and looking at things from another point of view (the point of view of a person that's not doing anything constructive or work related except for a small job-thing) I finally found a way to do what I like doing (making games) without losing sight of what I want to do (make games). This might sound obvious for many but it wasn't for me. You see, every time I wanted to make a game I started making an engine practically from scratch, an engine I wanted to be reusable robust etc. I was dumber than the dumbest guy in Dumbville, the capital of Dumbland. Every single little thing had to be implemented by me (on top of wanting too much things I didn't really need) which led me through many failed attempts of reinventing the wheel and making unfinished libs I didn't really need. Whenever I asked myself "Is it worth it to do everything by yourself?" I always answered promptly "Yes! I can learn tons from it!", and even though I indeed learned many things ultimately it kept me behind. If I had first made the games and only while making them I tried to implement the missing functions not only I would learn more but I would have actually made something worth showing to people!&lt;br /&gt;&lt;br /&gt;So what I've come to create a few commandments for myself:&lt;br /&gt; -Thou shall not program what is not needed.&lt;br /&gt; -Thou shall try to use freely available libraries for thy needs before writing your own.&lt;br /&gt; -Thou shall not reinvent the wheel if it's irrelevant to thy progress!&lt;br /&gt;&lt;br /&gt;I think that's all of them.&lt;br /&gt; Another good thing that came from the pause in programming my engine is that now I want to work on it so I can finally start making a game I planned! This is mostly because I realized how tedious it is to write GUI applications without a purpose! Passing those few tutorials made me really want to make something useful again, so I already finished my collision detection engine (I call it finished but I'll be adding more functionality later) and now I'll just write the display layers and the game manager code and this will be it for this engine iteration(I already lost the count).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-4292984655786400627?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/4292984655786400627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/back-to-game-devving.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4292984655786400627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4292984655786400627'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/back-to-game-devving.html' title='Back to game devving'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8750133346645679591</id><published>2010-01-28T05:01:00.004Z</published><updated>2010-01-28T15:05:50.085Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>Taking a break from Game Dev</title><content type='html'>Yeah... Like the title says I decided to finally take a break. The reason behind this is that mind have become saturated from thinking about how to integrate new parts, about what to do with my engine etc. I won't, however, take a break from programming in general. Two days ago I became interested in simple web development and started reading some tutorials on HTML as well as CSS. I might also learn PHP later on, as I believe this might help me out to create a site for my little one man studio, but that's reserved for future at least a year ahead. I won't need a site until I actually make a game I want to show instead of the little crappy ones I make to test my engine functions that provide no more than 10 seconds of entertainment....which is mostly because of the graphics, not the playability of it.&lt;br /&gt;Today I found a download I made in summer when I desperately wanted a GUI library despite not needing it. It's called JUCE, so far it looks pretty great and I can definitely see the possibilities for it's use as it's cross platform, free and is open source! My plans for it involve learning how to use it and make some programs so my mind won't become saturated with working on my engine. Unfortunately I won't be able to use it if I go commercial since I'd have to buy a license for 400$ which isn't something I would be willing to spend right off the bad on one license until it proves to be valuable enough and if the game sells enough to let me use it.&lt;br /&gt;If any of you know of a good GUI library that doesn't require me to be open source I would highly appreciate if you told be about it (especially if it looks just as sweet as JUCE does)&lt;br /&gt;&lt;br /&gt;Here's an old post from Scientific Ninja&lt;br /&gt;&lt;a href="http://scientificninja.com/advice/write-games-not-engines"&gt;Make Games not Engines&lt;/a&gt;&lt;br /&gt;It made a little discussion going on in my head and although it didn't made me stop making my engine and start making games, it cleared my head a little and I decided to write the functional version of Litterbox as fast as I could and add more features while I'm working on a game (which I'll either chose from my list of unfinished games or invent new one after I return to game deving).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's all for today! I'll see you next time!&lt;br /&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8750133346645679591?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8750133346645679591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/taking-break-from-game-dev-and-juce-gui.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8750133346645679591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8750133346645679591'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/taking-break-from-game-dev-and-juce-gui.html' title='Taking a break from Game Dev'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3881054933488905935</id><published>2010-01-26T13:30:00.007Z</published><updated>2010-01-27T19:01:18.941Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Litterbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>What actually is Litterbox?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_u8voLVIJWlc/S2CNYhhxkJI/AAAAAAAAAFw/Xpf2g7waDIA/s1600-h/Litterbox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_u8voLVIJWlc/S2CNYhhxkJI/AAAAAAAAAFw/Xpf2g7waDIA/s320/Litterbox.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Yes, another gargantuan post, and as always I have way to much to say about way too few things.&lt;br /&gt;&lt;br /&gt;A most of the times when I talk about my pet game engine I mention really vague stuff like I'm working on the entity system, or collision system or whatever. This works great during conversations as a quick way to say "I'm actually doing something that doesn't involve scratching my butt", however if you're reading this blog then you're either minimally interested in what actually my engine is about or you have too much spare time and are wasting it reading random blogs from the LudumDare feed(in which case you've probably already read more interesting blogs like Hamumu's or Bleck's and are just too lazy to do anything else than read the less interesting ones) and being this the case you'll probably won't mind if I describe how my pet engine works. If I'm lucky it won't derail as my last post did (yeah, originally I was just going to talk about my engine a bit, but then I got distracted and ended up doing a rant/tutorial about the ever so useful macros).&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;As said in previous posts my engine name is Litterbox,its goal is to be a great resource of easily reusable modules which I can use in different games, it is also the result of many engine iterations.&lt;br /&gt;&lt;br /&gt;So how does it all works?&lt;br /&gt;&lt;br /&gt;Everything is loosely hierarchical on top of everything we have SDL and openGL for everything involving input and output. After that we have a loosely defined state machine. The game can have many states like Menu, Game Credits and anything else you can think of, however it does allow to run more than one state at the same time and thus adding the possibility of adding a GUI that is rendered/ran on top of the game itself, taking the input/output away from it.&lt;br /&gt;However the GUI itself, though present two versions ago, was not implemented this time as there was a lot of code waste and it wasn't quite practical.&lt;br /&gt;&lt;br /&gt;after the state machine we have what I actually call the game engine itself.&lt;br /&gt;It consists of several interconnected components:&lt;br /&gt;&lt;br /&gt;GameManager- is responsible for determining which levels are loaded, which is the &lt;br /&gt;collision system used, he's also responsible for running the EntityManager.&lt;br /&gt;&lt;br /&gt;EntityManager- as the name suggest he's the one that adds, removes, saves, loads and calls the entities' think() and render() members&lt;br /&gt;&lt;br /&gt;TextureManager- all the texture loading is done through this singleton so no texture is needed to be loaded more than once. He can also reload all textures at once if necessary (useful on window resizing)&lt;br /&gt;&lt;br /&gt;RCL-Registered Class List - Even though it's technically a list, being that list isn't the only reason of it's existence. RCL is responsible for storing every single spawn-able entity information on how to spawn it. For every class that can be spawned in game as a BaseGameEntity offspring there is a Shell and Builder object assigned. a Shell is basically the keeper of all the variables that need to be saved whilst the Builder is responsible for actually creating the instances before it can be added to the EntityManager entity list.&lt;br /&gt;&lt;br /&gt;BaseGameEntity- the single most important class. it is the parent of every other class that can be spawned inside the game. It comes with a big handful of macros in order to aid in adding new classes to the game (in my past experience adding new entities was difficult as not only I had to rewrite a lot of code but also the organization of the classes themselves was horrid compared to what I have now). It also has inbuilt heritage checking so you can easily know if an entity inherits from a given class. &lt;br /&gt;&lt;br /&gt;CollisionSys-This one is (still) the system I'm working on as it proved to be difficult to figure out how to make a "pluggable" collision system for my entities. It is complete with a binary tree based collision checking so it's all good.&lt;br /&gt;&lt;br /&gt;DisplayLayerMgr- all the drawing on the screen is based on a Layer system, I have only implemented a very rough placeholder class for this only to see the the results of my work, however this is what I plan to do: Each layer has a number of registered entities it draws, each layer has an independent transformation so you can draw a non scrolling background and a scrolling foreground, you can draw them with different scales,rotations and any other transformations you want. to define which entities should be drawn every entry on the display layer should have a visual bounding box which must have contain all the drawing region. The camera/view bounding box is then transformed by the inverse of the layer's transformation and it checks every entity if it's inside the drawing range.&lt;br /&gt;&lt;br /&gt;ParticleSys- one of the pieces of code I'm most proud of right besides the state machine I wrote. It has survived 4 iterations of the engine without a single change. it is easy to set up, easy to create new systems (fire, rain, snowing, sparks and even vampire sparkles), and best of all every system can have a number of effectors. Effectors basically are entities that affect the behavior of the particles, allowing for any behavior change from collision to making the particles fall into a vortex.&lt;br /&gt;Probably the only reasons I see to change this system is to add macros that will make the setup code even easier or adding a scripted behavior support. So I won't have to recompile every time I add an effector or a new particle system.&lt;br /&gt;&lt;br /&gt;So basically this is it! It's neither a bare bones engine but it's not a full fledged one either. It's a heap of recyclable code I can use on any of my future projects. Animations, Scripting, Sound and other similar systems will be added only when I'll actually start making games with this, and if they follow the same philosophy I'll have a nice library of reusable assets to create future games and thus perfecting the engine.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'll make another blog post explaining why I'm making this engine sometime in the near future.&lt;br /&gt;See you later!&lt;br /&gt;~Spliter&lt;br /&gt;&lt;br /&gt;ps: some of the terms I use may not be understandable for most people&lt;br /&gt;-by "engine iteration" I mean every time I have to modify the core structure of the engine to add a feature/change the work-flow. At the end of the iteration the engine has to be left at such a state that it is technically possible to make a game on it(even if with tremendous effort from lack of automated level loading). So at the end of every iteration I must be able to have a guy jumping/walking around doing generic game-related things.&lt;br /&gt;&lt;br /&gt;-by "engine" I mean a collection of libraries that work together enabling me to build a game from that. Yes, even though it's not anywhere near being finished you could do something you could call a game.&lt;br /&gt;&lt;br /&gt;-by "finishing an engine" I mean to have at least one game made for it, and leaving it alone, reusing only a small portion of it on later projects, otherwise if I use most of the code I call it "finishing an iteration" (or giving up on it if I didn't do any game on that engine and didn't reuse most of it core features).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3881054933488905935?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3881054933488905935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/what-actually-is-litterbox.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3881054933488905935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3881054933488905935'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/what-actually-is-litterbox.html' title='What actually is Litterbox?'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u8voLVIJWlc/S2CNYhhxkJI/AAAAAAAAAFw/Xpf2g7waDIA/s72-c/Litterbox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-6439597568085323074</id><published>2010-01-24T00:08:00.018Z</published><updated>2010-02-15T02:07:14.832Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips and Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Dev'/><title type='text'>My Little Litterbox and Advanced C++ Macro Tutorial</title><content type='html'>Right...&lt;br /&gt;I decided to let the "El Poho" name belong to my past, since I already have a name for my one manned so called studio which is "Catbox Beta" I actually came up with a more suiting name for the engine:&lt;br /&gt;Litterbox&lt;br /&gt;The editor will be probably named after another cat related thing (catnip? nah... it sounds more like scripting language to me).&lt;br /&gt;Litterbox inherited a lot from El Poho but it allows me to go a step farther. With every iteration of my engine I learn new tricks, I find new traps I must avoid and learn to plan more and more ahead. The results of 20 or so iterations of my engine, since the day it could barely run a pong game are quite notable. Everything is so beautifully modular I can add and remove components without much hassle. The two months I played with the Valve's Source engine didn't go to waste either! I learned the power and infinite usefulness of macros, this knowledge makes me cringe every time I hear those naysayers say that Macros are bad, and that they only replace consts and inline functions! WRONG! Macros are a nifty little way of putting text in places making creation of new classes a cinch! Get ready for some learning because here comes a class about advanced use of C Macros!&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Let me give you an example:&lt;br /&gt;I have a baseClass from whom every other class inherits. Of course in a typical game you would like to know the class of the instance you(for example) collided with! how can you do it? easy! add a function that returns the name of the class as a string!&lt;br /&gt;so far our base class declaration would look somehow like this:&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;&lt;br /&gt;//BaseClass.h&lt;br /&gt;class BaseClass&lt;br /&gt;{&lt;br /&gt;static string getClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;}&lt;br /&gt;virtual string getEntityClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;}&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Easy, right?&lt;br /&gt;Let's make an entity that inherits from it&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;//Animal.h&lt;br /&gt;class Animal&lt;br /&gt;{&lt;br /&gt;static string getClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;Animal&amp;quot;);&lt;br /&gt;}&lt;br /&gt;virtual string getEntityClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;Animal&amp;quot;);&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;We rewrote four lines of code, that's not so bad! We can just copy and paste them, and then just change the name in those two places!&lt;br /&gt;&lt;br /&gt;now, let's consider another useful feature. we want to know if an instance of a class inherits from some class, for example we have an instance of Bird which inherits from Animal which inherits from BaseClass.&lt;br /&gt;BaseClass&lt;--Animal&lt;--Birdif for example we want the ability to shoot an Animal we would need to know if the entity we collided with inherits from Animal. But if all we get is Bird as the classname we can't know anything about it. we'd have to write a separate hurt(int amount) code for every entity that inherits from animal!To make an inheritance check possible we'd probably do something like this:&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;//BaseClass.h&lt;br /&gt;&lt;br /&gt;class BaseClass&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;static string getClassName()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;virtual string getEntityClassName()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static bool classInheritsFrom(string className)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return className==getClassName();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;virtual bool inherits from(string className)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return BaseClass::classInheritsFrom(className);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;for Animal:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;//Animal.h&lt;br /&gt;class Animal: public BaseClass&lt;br /&gt;{&lt;br /&gt;static string getClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;Animal&amp;quot;);&lt;br /&gt;}&lt;br /&gt;virtual string getEntityClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;Animal&amp;quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static bool classInheritsFrom(string className)&lt;br /&gt;{&lt;br /&gt;if (className==getClassName())&lt;br /&gt;return true;&lt;br /&gt;else&lt;br /&gt;return BaseClass::classInheritsFrom(className);&lt;br /&gt;}&lt;br /&gt;virtual bool inherits from(string className)&lt;br /&gt;{&lt;br /&gt;return Animal::classInheritsFrom(className);&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;//Bird.h&lt;br /&gt;class Bird: public Animal&lt;br /&gt;{&lt;br /&gt;static string getClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;Bird&amp;quot;);&lt;br /&gt;}&lt;br /&gt;virtual string getEntityClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;Bird&amp;quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static bool classInheritsFrom(string className)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if (className==getClassName())&lt;br /&gt;return true;&lt;br /&gt;else&lt;br /&gt;return Animal::classInheritsFrom(className);&lt;br /&gt;}&lt;br /&gt;virtual bool inherits from(string className)&lt;br /&gt;{&lt;br /&gt;return Bird::classInheritsFrom(className);&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;okay... that's a lot more rewriting and name changing this time! The programmer also has to know how to implement every single of those functions!&lt;br /&gt;&lt;br /&gt;now, what if we could automatize all that? what if we could just say: "this class inherits from that class, now do stuff to make it all work!".&lt;br /&gt;with macros such thing is not only easy, but saves a lot of time and doesn't require the programmer to understand the implementations of those functions!&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;//BaseClass.h&lt;br /&gt;class BaseClass&lt;br /&gt;{&lt;br /&gt;static string getClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;}&lt;br /&gt;virtual string getEntityClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;//This is where the magic happens!&lt;br /&gt;#define DEFINE_CLASS(class)\&lt;br /&gt;public:\&lt;br /&gt;static string getClassName(){return string(#class);}\&lt;br /&gt;virtual string getEntityClassName(){return string(#class);}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Now all we need to do in the animal class is this:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;//Animal.h&lt;br /&gt;class Animal: public BaseClass&lt;br /&gt;{&lt;br /&gt;DEFINE_CLASS(Animal)&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;So yeah, three lines of code less to write, no biggie...&lt;br /&gt;... but in the second example things will really look diferent:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;//BaseClass.h&lt;br /&gt;class BaseClass&lt;br /&gt;{&lt;br /&gt;static string getClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;}&lt;br /&gt;virtual string getEntityClassName()&lt;br /&gt;{&lt;br /&gt;return string(&amp;quot;BaseClass&amp;quot;);&lt;br /&gt;}&lt;br /&gt;static bool classInheritsFrom(string className)&lt;br /&gt;{&lt;br /&gt;return className==getClassName();&lt;br /&gt;}&lt;br /&gt;virtual bool inherits from(string className)&lt;br /&gt;{&lt;br /&gt;return BaseClass::classInheritsFrom(className);&lt;br /&gt;}&lt;br /&gt;//nothing diferent so far.&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;//This is a little bit more complicated but twice as useful!&lt;br /&gt;#define DEFINE_CLASS(class,parent)\&lt;br /&gt;public:\&lt;br /&gt;static string getClassName(){return string(#class);}\&lt;br /&gt;virtual string getEntityClassName(){return string(#class);}\&lt;br /&gt;static bool classInheritsFrom(string className)\&lt;br /&gt;{\&lt;br /&gt;return className==getClassName();\&lt;br /&gt;}\&lt;br /&gt;virtual bool inherits from(string className)\&lt;br /&gt;{\&lt;br /&gt;return parent::classInheritsFrom(className);\&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;and finally to appreciate the result let's create our derivative classes:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #e0e0e0; background-color: #000000;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 98%"&gt;&lt;code&gt;//Animal.h&lt;br /&gt;class Animal:public BaseClass&lt;br /&gt;{&lt;br /&gt;DEFINE_CLASS(Animal,BaseClass)&lt;br /&gt;};&lt;br /&gt;//Bird.h&lt;br /&gt;class Bird:public Animal&lt;br /&gt;{&lt;br /&gt;DEFINE_CLASS(Bird,Animal)&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;WOW! Did you see how many lines of code we just spared ourselves?? Okay, maybe in this case not that many, but imagine if we had to write about fifty derivative classes, all with the same inbuilt functionality! And the best thing is that the programmer who'll write other classes won't have to worry at all about how to implement those functions!&lt;br /&gt;&lt;br /&gt;This was just a tiny example. I use macros in a lot more advanced coding like defining an entity as a colidable in my engine, defining which fields save in an entity and also adding neat support for command line calling of entity functions and variables. Using macros for these things spares me literally dozens of lines of code in every entity I want to make and saves me from having to worry about the implementation of those functions once I write them to a Macro.&lt;br /&gt;&lt;br /&gt;So, I'm hoping you find this post quite useful. In case you're interested in more posts like this feel free to say so in comments.&lt;br /&gt;&lt;br /&gt;Later!&lt;br /&gt;~Spliter&lt;br /&gt;&lt;br /&gt;ps: yes, I do realize I started writing about my new engine and halfway through it changed from a ramble about macros to a lengthy tutorial. This post took me about (checks the clock) holy crap, an entire hour!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-6439597568085323074?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/6439597568085323074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/my-little-litterbox-and-some-c-macro.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6439597568085323074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/6439597568085323074'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2010/01/my-little-litterbox-and-some-c-macro.html' title='My Little Litterbox and Advanced C++ Macro Tutorial'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-730168371285377725</id><published>2009-12-13T22:42:00.002Z</published><updated>2009-12-13T23:00:29.759Z</updated><title type='text'>destroyed</title><content type='html'>Hm...&lt;br /&gt;I participated in the LudumDare contest this weekend. I knew I couldn't make an entire game but I hoped I could at least make a little part of it. boy was I wrong... Everything went to hell because I rushed things, entity management system was horrible, everything was full of hacks that didn't surpass the pressure of hard work, the engine was a disaster. But I was okay with that, I knew at the start I probably couldn't make it and I was cool. When I finally decided to drop off I was actually a bit happy as I learned a lot of important lessons, made a lot of mistakes and all in all this will help me in the future. However one thing happened I didn't account for. My game was going to be called "The world is beautiful out there...", I wanted to have a small guy jump through levels at a half fast pace, when I gave up I made a post on LudumDare blog saying that I can't finish the game. In the last few words I wrote That next Time I will finish the game and that I will win. I felt this was a pretty cool thing to say and decided to add an image to make it sound even cooler. In the same posy I put an image I composed in photoshop from the assets I've drawn as a preview level. Just a house on a hill going to water.&lt;br /&gt;I showed the blog post to a friend and he noticed noticed that it could go great if it was the last the cool image was the continuation from that level. An incredibly short game, just 3 screens, and all you do is walk from the house to the cliff. It could be done by ANYONE in just those 5 hours left until the end of LD. Anyone except me. I grabbed my code and tried to forcibly put it together. My engine was so bad, so utterly putrid I couldn't add 3 simple classes to it  and make 1 level. It would be a great "Well, I didn't manage to do my actual game but this makes me cool" farawell game.&lt;br /&gt;God I feel bad right now. I failed so hard it hurts.&lt;br /&gt;~Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-730168371285377725?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/730168371285377725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/12/destroyed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/730168371285377725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/730168371285377725'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/12/destroyed.html' title='destroyed'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-7206080655301319402</id><published>2009-12-06T04:17:00.004Z</published><updated>2009-12-06T04:32:54.157Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Random projects'/><category scheme='http://www.blogger.com/atom/ns#' term='El Poho'/><title type='text'>El Poho going good</title><content type='html'>btw El Poho is the name of my game engine until I find a better name.&lt;br /&gt;Ok, I finally added polygon collisions into it. It's a smaller version than the previous one but it's very easy to add features in it. For now the main features of it are:&lt;br /&gt;-great scalability (should be easier to make a game in it now)&lt;br /&gt;-Polygon-based collision system&lt;br /&gt;-compact (most unnecessary features like GUI and a great number of other stuff was not implemented)&lt;br /&gt;and as a bonus:&lt;br /&gt;-simple yet powerful particle engine!&lt;br /&gt;&lt;br /&gt;However I'm still planning on adding a simple GUI system for things like buttons and text at the very least, I should probably add an event system as well.&lt;br /&gt;Another feature I'm working on is quite an important one: Scheduling.&lt;br /&gt;So far it runs at 30 frames per second and it just waits some time between every frame to mantain that, but I need to add a feature that skips the drawing step completely if it runs too slow. So far every object in the game has a few functions like draw() and think(). With the scheduler I'll be able to set every object to think at diferent time periods, like every 1 second or every 1/20 seconds, which will make it a lot faster when I'll have to add AI support to it. With scheduling I can have AI's in Idle states that think every 5 seconds or so, or think every 1/20th second if on full alert, this'll be an enormous performance boost.&lt;br /&gt;&lt;br /&gt;For testing the engine out I'm making a small game where you control a dust cloud. Not much to do for now as I'm having some trouble in porting things to the new collision system (what worked back then doesn't work now).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok, that's all for now.&lt;br /&gt;maybe I'll update thig blog later this week.&lt;br /&gt;-Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-7206080655301319402?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/7206080655301319402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/12/el-poho-going-good.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7206080655301319402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7206080655301319402'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/12/el-poho-going-good.html' title='El Poho going good'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-2109631374411787153</id><published>2009-09-20T11:18:00.005+01:00</published><updated>2009-09-20T11:31:03.110+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><title type='text'>I love my life</title><content type='html'>It's so full of hope and joy getting crushed again and again and again....&lt;br /&gt;Now everything is working, I bought the cable, I have a net connection... But I can't think of a single thing to program!! I don't want to make clones, they bore me with their lack of originality, I want to make a small game that's original and lots of fun. Or at least original! But I can't.&lt;br /&gt;Whenever I sit in front of my pc with intent to make something I can't think of anything.&lt;br /&gt;On top of that I discovered things aren't quite as easy as I thought at first.  For once, I pay 120 Euros for the rent (which I already knew), then 170 euros for my uni (which I already new) and then 25 euros for water electricity etc... Or so I thought, I actually have to pay at least 40 euros for electricity and water and internet and gas and TV (which I don't even use) and it all accumulates into a pretty 330 Euros a month. If I get the same scholarship as last year I'll be getting 350 euros a month. which leaves 20 euros to live from  per month (food,and other daily needs). So I have to look for a job. Actually I've already been on a job hunt yesterday and brought a few pamphlets with me, but it turns out that I have to have a documents which allows me to work here in portugal, funnily enough this document went missing when I sent it to DGES so I could go to university!!&lt;br /&gt;Now I have to get a new one made and it can take quite some time. On tuesday I'm going to SE to ask for new one (luckily last year I needed the same document so I already have all the paperwork done to get the new one).&lt;br /&gt;&lt;br /&gt;And if that wasn't enough a friend of my dad has my wacom in her house and she's outside the country now.&lt;br /&gt;&lt;br /&gt;Things are going really sweet.&lt;br /&gt;&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-2109631374411787153?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/2109631374411787153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/i-love-my-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2109631374411787153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2109631374411787153'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/i-love-my-life.html' title='I love my life'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8214398218505806538</id><published>2009-09-17T10:46:00.004+01:00</published><updated>2009-09-17T11:01:01.198+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>PC problems</title><content type='html'>I've arrived to my new room full of hope and joy that I'm finally getting independent of my parents and that I'm going to be able to just plug my PC in and play, make games and browse internet.&lt;br /&gt;OH THE IRONY!&lt;br /&gt;First thing I noteiced after plugging my pc is that it's not quite turning on, sure the vents worked but nothing appeared on the screen, when I sat down near my pc to check what's wrong and I touched the box it jolted me! It turned out I haven't got a single socket with ground connection, and the electricity which would usually just got to the ground traveled by me if I touched the computer. So ok, I walked 3 km back and forth to buy a socked with ground, I turned off the electricity and began my work. You know... it's funny I've chosen that socked because the ground cable inside it was too short for me to be able to plug it in normally, and so I had to do some weird twists to push that cable into the socket ground.&lt;br /&gt;Fortunately my pc started working and my troubles ended.&lt;br /&gt;OH THE IRONY AGAIN!&lt;br /&gt;It turns out that to connect to our net adapter I must have a RJ45 cable which I don't.&lt;br /&gt;So now I have a working PC but I have to buy that stupid cable to have internet access in my room.&lt;br /&gt;Apart from that i discovered our apartment doesn't have a washing machine so from now on I'll have to wash my things manually... oh and I have to buy laundry detergent, dish detergent, shampoo and Q-tips and something to wipe the dust off the shelves.&lt;br /&gt;&lt;br /&gt;On the gamedev news I'm thinking of creating a small game that's about pollination with a little twist, but I still don't know how it will work(yeah, basically I have no Ideas at all, and I'm trying to make things up as I go).&lt;br /&gt;&lt;br /&gt;...I'm out&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8214398218505806538?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8214398218505806538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/pc-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8214398218505806538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8214398218505806538'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/pc-problems.html' title='PC problems'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-7022976047546050794</id><published>2009-09-16T00:16:00.005+01:00</published><updated>2009-09-16T00:57:31.246+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>I'M BACK MUTHAFUKA!</title><content type='html'>So....yeah....&lt;br /&gt;I'm back, I got a room pretty close to the uni, and I still can't sleep there tonight! Only tomorrow...&lt;br /&gt;anyway, I'm thinking of changing the blog name to "CatBox Beta", which incidentally is the name I plan for my future company(except the Beta) (previously I was thinking of "Cat in a Box Studio", but I decided to use a simpler name) . The reason for change is that I kinda got inspired from other gamedev blogs, and since mine isn't as much about art as the gamedev and my life I kinda think it fits, so the next post won't be posted at spliterart.blogspot.com but on CatBoxBeta.blogspot.com&lt;br /&gt;I'll save the rest of the news for my next blog update when I'll be writing on my pc sitting ona confortable chair and not on the undersized laptop and sitting on the floor.&lt;br /&gt;cya!&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-7022976047546050794?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/7022976047546050794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/im-back-muthafuka.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7022976047546050794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7022976047546050794'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/im-back-muthafuka.html' title='I&apos;M BACK MUTHAFUKA!'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-5981529036620517609</id><published>2009-09-11T18:35:00.001+01:00</published><updated>2009-09-11T20:21:34.785+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><title type='text'>Going back to Portugal...</title><content type='html'>So....yeah....&lt;br /&gt;I'm short on time so I'll just leave this here:&lt;br /&gt;I'm going back for permanent now, I decided to rent a room in an apartement that a few of my friends live in. See ya on tuesday.&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-5981529036620517609?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/5981529036620517609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/going-back-to-portugal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5981529036620517609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5981529036620517609'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/09/going-back-to-portugal.html' title='Going back to Portugal...'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-262136647933720627</id><published>2009-08-31T10:54:00.002+01:00</published><updated>2009-09-16T00:51:14.330+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Random projects'/><title type='text'>Vacations Ending...</title><content type='html'>...and I still don't know if I'm accepted into my university!&lt;br /&gt;My classes start 14 of September, and I don't even know WHEN I will know if I will be granted a condo by university.&lt;br /&gt;In the best case in a few days I'll discover that I've been given an aparetement and that I'll have another schoolyear without much worries apart from the classes I failed last year (which can cost me going to uni this year).&lt;br /&gt;Apart from that I'm making another small engine. After working with openGL and SDL, and making a 21.000 lines of code long engine doing this one is actually pretty easy, especially since I'm not making it for various games, but only the basis for some prototypes.&lt;br /&gt;My current prototype is a simple 2D animation system, bundled with an IK system and ability to draw textured mesh on it. It's practically finished apart from few bugs and certain incoherence between parts which makes me correct the code I've written before, but apart from that it all worked. Now I want to make a very simple Animation editor that features: keyframe operations like moving, creating, deleting, and reasigning to another bone (yes, the keyframes are bone independent, they only store the angle of a bone, and the ease). IK based animation building. saving and loading the animation into and from a file. Undo-redo operations.&lt;br /&gt;For now that's it. It's already difficult to make this program since I have little previous experience, and I'll have to make a small GUI (oh, this reminds me, I have to download and instal the openGL font creator and the png import library).&lt;br /&gt;I think it's all for now. I don't have that much time here in poland to be on pc, so the work is going by little bits, and I generally can't be on the pc for more than 4 hours a day, including programming.&lt;br /&gt;Maybe I'll come up with a cool and simple game Idea I'll want to make more than this (quite useless, apart from the experience) animation system.&lt;br /&gt;I'm also interested in the GDC presentations lately, I've seen all of Chris Hecker's presentations and I have to say I must thank him a lot. I learned a ton of things, and he gave me the inspiration to start programming again with his and Chaim Gingold's &lt;a href="http://chrishecker.com/Advanced_Prototyping"&gt;Advanced Prototypig&lt;/a&gt; talk at GDC, which I can certainly reccommend if you have difficulty starting programming again.&lt;br /&gt;That's it for now.&lt;br /&gt;Cya later!&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-262136647933720627?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/262136647933720627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/08/vacations-ending.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/262136647933720627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/262136647933720627'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/08/vacations-ending.html' title='Vacations Ending...'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8237015681540448953</id><published>2009-05-12T14:16:00.000+01:00</published><updated>2009-05-12T15:34:48.245+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Random projects'/><title type='text'>Du di dam dam</title><content type='html'>Vomits, Spewing, Dripping, Splashing, Paint, Water and anything else I can think of, was the only thing I could think of for the last few days, in my free time from rummaging through cupboards, tables, and under the beds in search of documents I was supposed to deliver LAST MONTH!&lt;br /&gt;Ah well...&lt;br /&gt;I'm seriously thinking of implementing some cool looking spewing in my game, but It's really hard to find any kind of graphical and especially video resources for something like that (especially if you don't want to get grossed out, and looked funny at). I could do something like that at home if I had a few buckets of paint, or tinted water, a camera, and a place to do the footage, but although 1 and 2 are available, nr 3 is in short supply.&lt;br /&gt;Apart of that things aren't getting much better. My brother's return to Poland is almost certain since I can't find a job. I'm going to stay here in Portugal, living in a University condo, but I still don't know what about my sister, She could stay here if she wants it, she's the only one of us three that has any working experience, and on top of that she's a girl, which means that getting any job for her isn't as much of a problem as for me and my brother (who is still too young to have a job).&lt;br /&gt;But for now let's live bad things behind. Lately I wrote a bit of a story for my game called Alternate Gravity. I already wrote 4 chapters of a book when I was younger, and a ton of unfinished comic books I gave up on, so at least when writing for this game I have some previous experience. It's shaping up pretty well so far, and I've managed to fill in some of the holes I had from when I organized everything in my mind. Now I see why design docs are so important.&lt;br /&gt;normally when I create a game, I write down all the technical stuff, and create a small technical design doc, thanks to which I can easily make all of that, unfortunately I never actually created any game design doc, so even though I had the technology, and the abilities I never quite knew how to put it together. The worst mistake I do when making a game is that I don't have a final product in my mind. I can see myself playing bits of it, but I never quite know how the entire game will be, and how do I sew those separate levels into one solid gameplay.&lt;br /&gt;So far I can reveal some info about Alternate Gravity (I would hope this blog end up as a gossip source for my game in the future :) ).&lt;br /&gt;1-You start in a lab complex called Newton doing beta tests for an exo-suit.&lt;br /&gt;2-Newton is located at an unnamed part of the world that it NOT America.&lt;br /&gt;3-The gameplay will revolve much around the gravity. The entire environment inside the Newton labs will have it's gravity twisted in various ways.&lt;br /&gt;&lt;br /&gt;I'm still working on some of the bosses for the game, and on how will the player look, but I'll probably use an older design I did for a small experimental game with similar concept.&lt;br /&gt;Here's Alternate Gravity in it's experimental form:&lt;br /&gt;http://files.filefront.com/Alternate+Gravityzip/;13745447;/fileinfo.html&lt;br /&gt;(filefront will be used only until I can find a safer location to upload in which I have more control over the content)&lt;br /&gt;&lt;br /&gt;Okay! It's time to finish this post and get back to work finding that stupid document I need for my father to let me off the hook (for now).&lt;br /&gt;See you later!&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8237015681540448953?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8237015681540448953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/05/du-di-dam-dam.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8237015681540448953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8237015681540448953'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/05/du-di-dam-dam.html' title='Du di dam dam'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3720875784009354948</id><published>2009-04-17T11:55:00.001+01:00</published><updated>2009-04-17T12:15:19.008+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><category scheme='http://www.blogger.com/atom/ns#' term='Random projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Two Thirds Life 2'/><title type='text'>Little update.</title><content type='html'>Hi!&lt;br /&gt;Long time no see huh?&lt;br /&gt;Well... since this blog is almost as dead as my hopes I decided to update it a little with how things are going.&lt;br /&gt;First, I wanted to apologize for my continuous negligence of TTL2. I do some work every now and then but lately I have difficulties on concentrating. Even my Team Fortress 2 enthusiasm is starting to wilt. I think the obvious reason for that is my slight depression and tiredness. And me still not having a job isn't helping.&lt;br /&gt;Luckily there's still one thing that keeps me sane: Alternate Gravity. So far my biggest programming project. It's a game that I plan on releasing commercially, and if it's not good enough at least I hope it'll give me a kick in the right direction. I have planned much, and much of that is being done. Right now I'm working on perfecting the lighting system, so far it works by brightening everything places that aren't in shadow, but I need something better, so I decided to try another method which consists of rendering the lights BEFORE the screen is drawn, then copy the final product to an offscreen texture, and then render that texture on top of everything simply darkening the places that are in shadow.&lt;br /&gt;Apart from that I'm also working on the editor. I finally got the UNDO and REDO thing to work. but since I want the game do be easily modable I want the editor to parse the config from a file, so I can use the same editor for different projects (as far as those projects are 2D as well).&lt;br /&gt;&lt;br /&gt;Every single time I post something on this blog I realize more and more how inappropriate and ironic the name is. Initially it was supposed to be a blog where I could upload doodles and drawings I do from time to time, but for the few past months I haven't done almost anything when it comes to art (Apart from the scarce TTL2 updates). So I was thinking of either changing the name, or go along with it and say that art is a expression of one's feelings, needs and hopes, and so even programming itself can be art!&lt;br /&gt;...I'll most probably go with the second one since changing the name would be too much work :D&lt;br /&gt;&lt;br /&gt;I also was thinking of starting a journal on gamedev.net where I could update my progress on alternate gravity and other programming projects and maybe even get some feedback (as opposed to this blog which no one reads ...).&lt;br /&gt;Well... I have test today in about five hours and I've barely studied...&lt;br /&gt;So i'll be going now and maybe soon I'll update this blog with how TTL2 is going and also I was thinking of starting a review column for both movies and games.&lt;br /&gt;See you later!&lt;br /&gt;Spliter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3720875784009354948?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3720875784009354948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/04/little-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3720875784009354948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3720875784009354948'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/04/little-update.html' title='Little update.'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8225129318051868271</id><published>2009-03-22T13:53:00.000Z</published><updated>2009-03-22T14:28:10.638Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Two Thirds Life 2'/><title type='text'>TTL2 update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u8voLVIJWlc/SZGBpe3sFtI/AAAAAAAAABQ/4_6aFkkOEIU/s1600-h/logo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 306px;" src="http://1.bp.blogspot.com/_u8voLVIJWlc/SZGBpe3sFtI/AAAAAAAAABQ/4_6aFkkOEIU/s320/logo.png" alt="" id="BLOGGER_PHOTO_ID_5301160786053043922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yes! finally after 5 weeks of no news I am happy to announce that I become sufficiently bored with games, and programming to get into the artistic phase. So, what does that mean? Well, it means I'll be making more TTL2 updates now as I have been working on it! So far I'm halfway through "We don't go to ravenholm" which, thank god, is one of the easier to do episodes and so it's less  work for me :) .&lt;br /&gt;Since Raiki allowed me not to do any static models (wardrobes, cars, airboat etc) My work progression will be much faster from now on, cine I'll only be focusing on the essential models like Aantlions, gunships and other that aren't too complex yet are fun to make, and their animations!&lt;br /&gt;&lt;br /&gt;This update models are:&lt;br /&gt;The omnipresent Fast Headcrab:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u8voLVIJWlc/ScZKrm6pUII/AAAAAAAAADw/39NagTBdD5Q/s1600-h/fastHeadcrab.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 276px; height: 206px;" src="http://4.bp.blogspot.com/_u8voLVIJWlc/ScZKrm6pUII/AAAAAAAAADw/39NagTBdD5Q/s400/fastHeadcrab.png" alt="" id="BLOGGER_PHOTO_ID_5316018523198804098" border="0" /&gt;&lt;/a&gt;Quite simple, so far there are only two versions I've done of him. This is the second.&lt;br /&gt;&lt;br /&gt;The annoying eye blinding Scanner:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u8voLVIJWlc/ScZKrnOUG1I/AAAAAAAAAEA/huso0gvgM1w/s1600-h/scanner.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 364px; height: 253px;" src="http://3.bp.blogspot.com/_u8voLVIJWlc/ScZKrnOUG1I/AAAAAAAAAEA/huso0gvgM1w/s400/scanner.png" alt="" id="BLOGGER_PHOTO_ID_5316018523281300306" border="0" /&gt;&lt;/a&gt;Simple to animate, but it's one of my most complex models I've done so far.&lt;br /&gt;&lt;br /&gt;And finally the glorious Strider:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/ScZKrvMnM9I/AAAAAAAAAD4/CA3a27HGTQo/s1600-h/Strider.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 352px;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/ScZKrvMnM9I/AAAAAAAAAD4/CA3a27HGTQo/s400/Strider.png" alt="" id="BLOGGER_PHOTO_ID_5316018525421646802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;He's quite difficult to animate, but the result is always worth it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So here you have it. The strider on the right and the scanner were both done several years ago, when I and Raiki decided to work in a team on TTL2 for the first time.&lt;br /&gt;&lt;br /&gt;I should have the Ravenholm chapter finished by today night, and tomorrow I start working on the highway 17 when I get back from uni. I can finally feel the inspiration flowing through my veins, And as a plus, I'll be able to show this movie in my portfolio.&lt;br /&gt;&lt;br /&gt;Oh yeah, a little life update.&lt;br /&gt;I'm currently searching for a job, so far I've sent my CV and an motivation letter to two companies, one of them is Dephos, a 3D imagery company (they do maps, gps's etc) they're looking for a student with experience in C++ and 3D graphics, so I guess I fit, and the other is a Portuguese store line where my uncle works. I'll also send my CV to another graphic company, and I hope I can put TTL2 as one of my works in my portfolio.&lt;br /&gt;&lt;br /&gt;Well... I'll see you in a week with more TTL2 updates!&lt;br /&gt;Spliter&lt;br /&gt;&lt;br /&gt;ps: I finally managed to get more writing space in blogger, it's quite usefull.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8225129318051868271?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8225129318051868271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/03/yes-finally-after-5-weeks-of-no-news-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8225129318051868271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8225129318051868271'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/03/yes-finally-after-5-weeks-of-no-news-i.html' title='TTL2 update'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u8voLVIJWlc/SZGBpe3sFtI/AAAAAAAAABQ/4_6aFkkOEIU/s72-c/logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-8516458225911006107</id><published>2009-02-28T21:47:00.000Z</published><updated>2009-02-28T22:43:09.194Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Projects'/><title type='text'>Projects</title><content type='html'>I decided I want to do something other than just games, but also something will help m&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on" style="display: block;" id="formatbar_Add_Image" title="Add Image" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="addImage();" onmousedown="CheckFormatting(event);;ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Add Image" class="gl_photo" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;e achieve my goals.&lt;br /&gt;So, in beforehand here's the list of things  I want to achieve in my life:&lt;br /&gt;-work at valve&lt;br /&gt;-work at/for Pixar&lt;br /&gt;-get a first job&lt;br /&gt;-get married and have at least one son and one daughter&lt;br /&gt;-Make the greatest game ever (or at least a game that will win the Game of the Year award)&lt;br /&gt;...and finally after I've had my fun being awesome:&lt;br /&gt;-Become a teacher at a good university, and pass on my knowledge to other people, helping them to get even better than I was.&lt;br /&gt;-Die for someone I love (the last one preferably at the end &gt;. &lt; )&lt;br /&gt;&lt;br /&gt;7 things to do before I die, not a big list but not easy as well. If there's ever an advice I can give to someone it is this: Create goals for your life. Even if you don't accomplish them you'll go farther than if you had none.&lt;br /&gt;&lt;br /&gt;So in the meantime I plan on creating few things on my own that will help me in the future.&lt;br /&gt;It's not a secret so I'll share it with you:&lt;br /&gt;Let's start with something small&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7ZUw5zFI/AAAAAAAAADQ/yc1_OAupWYQ/s1600-h/update.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7ZUw5zFI/AAAAAAAAADQ/yc1_OAupWYQ/s800/update.png" alt="" id="BLOGGER_PHOTO_ID_5307979679577787474" border="0" /&gt;&lt;/a&gt;that's not so bad! And yet it will help me learning Quaternions which I'll need later!&lt;br /&gt;&lt;br /&gt;Ok, now something more ambitious!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7ZmBcKII/AAAAAAAAADY/3VDsfGFIb9w/s1600-h/update2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7ZmBcKII/AAAAAAAAADY/3VDsfGFIb9w/s800/update2.png" alt="" id="BLOGGER_PHOTO_ID_5307979684210550914" border="0" /&gt;&lt;/a&gt;Now that's more like it! I'll still have to create a program to create the models, which although not listed, is still part of this project.&lt;br /&gt;&lt;br /&gt;Ok, this one's a real leap forwards&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7ZpnUo8I/AAAAAAAAADg/yxShO8a5kLs/s1600-h/update3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7ZpnUo8I/AAAAAAAAADg/yxShO8a5kLs/s800/update3.png" alt="" id="BLOGGER_PHOTO_ID_5307979685174748098" border="0" /&gt;&lt;/a&gt;It's starting to get interesting! especially 8 and 10, which are also a part of the next project:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7Z-bfUgI/AAAAAAAAADo/02PjRppEJ5k/s1600-h/update4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7Z-bfUgI/AAAAAAAAADo/02PjRppEJ5k/s800/update4.png" alt="" id="BLOGGER_PHOTO_ID_5307979690762260994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now THAT's advanced. It will be the first time I'll attempt making something this complex. By the time I'll start that project I'm hoping to have a model editor ready, and a working basic animation editor. it's gonna be quite difficult to create those 4, but it'll be worth it, because if I do them, that'll mean I'm prepared for the future, and have done a good share of work to prove it, and to show my potential employers.&lt;br /&gt;&lt;br /&gt;I hope you enjoyed this post. I'll be posting updates on this blog as I work through these projects.&lt;br /&gt;Seeya!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-8516458225911006107?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/8516458225911006107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8516458225911006107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/8516458225911006107'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/projects.html' title='Projects'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u8voLVIJWlc/Sam7ZUw5zFI/AAAAAAAAADQ/yc1_OAupWYQ/s72-c/update.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-264978924663220795</id><published>2009-02-28T15:40:00.000Z</published><updated>2009-02-28T16:27:35.632Z</updated><title type='text'>Projects update</title><content type='html'>Okay, I decided to update this blog because it has fallen into forgetfulness  recently.&lt;br /&gt;&lt;br /&gt;First of all I'm pausing my 48 hour game project. The reason? I still don't have a collision system ready. My biggest problem I keep running into is how do I incorporate collisions into the game entities like players, projectiles or triggers?&lt;br /&gt;I think I have a solution for this, so I'm currently changing the collision management code to fix it.&lt;br /&gt;&lt;br /&gt;TTL2 (and a little life ramblings): nothing to report, I'm kind of depressed now since my dad has lost his job and now it's up to me to get one as soon as possible, but I still have to get my scholarship at the UNI to pay for the first semester, and I have to get documents for my dad, since he'll be trying to enter a orchestra here in Portugal. (but even if he starts working again it will NOT be his dream job, and the payment would be 550 Euro max).&lt;br /&gt;&lt;br /&gt;Drawings: Hm... the funny thing about this blog is that the actual "art" section is never updated.... and apparently I'm not going to change that soon.&lt;br /&gt;&lt;br /&gt;Life ramblings: see TTL2 paragraph.&lt;br /&gt;&lt;br /&gt;Gaming:&lt;br /&gt;The new TF2 update is out since Wednesday, it's cool running around with the new weapons. it's even cooler to pick up a baseball and knock someone out from 50 meters away, and enjoy the sight as he's being ripped to shreds by your teammates. Also the spy is updated... now I'm feeling kind of neutral about this one... You have the incredibly quick backstab, and now you can see the enemy stats when you're disguised, which is all awesome, but at the same time valve wrecked the backstabbing.... seriously, I remember even before the first backstab "fix" came out, it was great, you could run around backstabbing everyone. You still had a very hard time getting behind enemy lines, but once there, you were sure you could get some well deserved kills especially on those damn cowardly snipers. Then valve fixed the backstab and so the backstab range, and angle tolerance have gotten smaller. Over time we got used to it. Couple of updates later (I mean now), you are lucky you'll backstab a heavy standing right in font of you!!! he's got the biggest back, and your backstabs don't count because you are slightly to the left! So what if he's facing away from you, you're right behind him, the right backstab animation plays, he's not moving, and you hear the "tcht" which means you hit him? You're still not in those 2.5 degrees that MAKE FOR HIS FRIKKIN BACK.&lt;br /&gt;So I sent a mail to Valve, hoping they'll read it in about 5 years, and fix the bug.&lt;br /&gt;Oh, by the way, you can't backstab snipers that are close to wall either. Which means all that trouble that you have to go through getting near that sniper is wasted. Of course it's a lot less trouble getting behind the enemy lines now that you can see their stats, and you can recharge the cloak with ammo, so that's why I don't wine about it anymore.&lt;br /&gt;&lt;br /&gt;eh... I don't have much more to say here... wait! I got!&lt;br /&gt;Randy Pausch:&lt;br /&gt;http://www.youtube.com/watch?v=ji5_MqicxSo&lt;br /&gt;http://www.youtube.com/watch?v=oTugjssqOT0&lt;br /&gt;....watch it... it's very good&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-264978924663220795?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/264978924663220795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/projects-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/264978924663220795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/264978924663220795'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/projects-update.html' title='Projects update'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-2569106206446158310</id><published>2009-02-23T19:21:00.000Z</published><updated>2009-02-23T19:40:58.260Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>The Forest Cancelled</title><content type='html'>Yeah, that's pretty much it. I went to gamedev.com and went up to the IRC channel, and in the chat they asked me if the game was even fun..... no it isn't. They've helped me to reach a definitive decision, and abandon this project.&lt;br /&gt;At least I've learned a few things from this:&lt;br /&gt;First set the gameplay mechanics, only then think about the game itself&lt;br /&gt;Don't do the graphics, and don't even think about them before you finish the mechanics.&lt;br /&gt;If it's boring to play, just leave it, it's not worth it, if it's just annoying, but not boring, then there still might be hope to make it better from player input.&lt;br /&gt;Everything has to be interconnected in a certain way. But at the same time robust. The game engine must work as a whole.&lt;br /&gt;&lt;br /&gt;An a secondary note: my dad has lost his job, and he couldn't get into any new one, which means we'll have to go back to Poland because he can't sustain us here. (I just received the message as I was writing this post).&lt;br /&gt;Eh.... I really would prefer to stay in cozy Portugal...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I guess this is all for now...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-2569106206446158310?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/2569106206446158310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/forest-cancelled.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2569106206446158310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2569106206446158310'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/forest-cancelled.html' title='The Forest Cancelled'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-5308859394019831154</id><published>2009-02-22T17:46:00.000Z</published><updated>2009-02-22T18:29:14.825Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Ramblings'/><title type='text'>Limbo</title><content type='html'>yeah.... the title pretty much explains my condition now =_=&lt;br /&gt;not as bad as when I don't have time, not as good when I have time, but want to do something....&lt;br /&gt;I've got 5 free days, and I can't get myself to do ANYTHING!&lt;br /&gt;It's not programmers block, it's not artistic block, it's frikkin LIMBO, and I can't do anything about it. As soon as I start doing anything purposeful I get distracted easier than a dog passing through a meat shop.&lt;br /&gt;I never have JUST enough time!!! I either have too little, and I can't DO anything, or I have too much, and I get into the damn limbo mode!&lt;br /&gt;Damn procanistration...&lt;br /&gt;well... I'll maybe update this blog later when I've got some actual news.&lt;br /&gt;See ya!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-5308859394019831154?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/5308859394019831154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/limbo.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5308859394019831154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/5308859394019831154'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/limbo.html' title='Limbo'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-9111137767082007632</id><published>2009-02-15T15:22:00.000Z</published><updated>2009-02-15T15:50:27.751Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>The Forest 18 Hours Update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u8voLVIJWlc/SZONEjEo1eI/AAAAAAAAABY/-QieOZ1BXaE/s1600-h/TheForestLogo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 77px;" src="http://4.bp.blogspot.com/_u8voLVIJWlc/SZONEjEo1eI/AAAAAAAAABY/-QieOZ1BXaE/s320/TheForestLogo.png" alt="" id="BLOGGER_PHOTO_ID_5301736295618893282" border="0" /&gt;&lt;/a&gt;Hi again!&lt;br /&gt;I'm happy to announce that I've achieved the Milestone I've set for myself in the last update.&lt;br /&gt;In this demo/Alpha release you can see some of the tech I've promissed:&lt;br /&gt;1-Layered display. It's a 2D Game in a 3D World. You have background layer, Player layer, Monster layer and foreground layer. doing it in layers allows me not to worry about Alpha blending depth related problems, and I can have everything organized.&lt;br /&gt;2-One enemy, although he doesn't do much... he's just standing there... maybe he's tired?&lt;br /&gt;Okay, I admit, you can't interact with him, but that's because I still haven't completed the 2D collisions engine.&lt;br /&gt;3-All the entities in the game already have a loadFrom() function which allows every entity to be loaded from a file after creation. But the loading function still isn't implemented.&lt;br /&gt;&lt;br /&gt;As promised, you can download the demo &lt;a href="http://www.megaupload.com/?d=VQ0NCXNP"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.megaupload.com/?d=VQ0NCXNP"&gt;&lt;/a&gt;&lt;br /&gt;simply extract it to a separate folder and run ElPoho.exe&lt;br /&gt;You can't do much, but still I wanted to show you my progress :3&lt;br /&gt;I'll maybe update the TTL section this week, I'm gonna start making the Antlion Guard model when I get the time.&lt;br /&gt;&lt;br /&gt;So, without further ado I'm saying farewell!&lt;br /&gt;&lt;br /&gt;Next "The Forest" milestone/update:&lt;br /&gt;-Finish the 2D collisions and implement them in the game&lt;br /&gt;-basic AI for the enemies&lt;br /&gt;-another enemy&lt;br /&gt;-Level and Config loading (so far everything has been hardcoded).&lt;br /&gt;And I guess that's it.&lt;br /&gt;&lt;br /&gt;ps: in case you didn't notice that "here" was a link.&lt;br /&gt;here's another one:&lt;br /&gt;&lt;a href="http://www.megaupload.com/?d=VQ0NCXNP"&gt;http://www.megaupload.com/?d=VQ0NCXNP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-9111137767082007632?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/9111137767082007632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/forest-18-hours-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/9111137767082007632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/9111137767082007632'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/forest-18-hours-update.html' title='The Forest 18 Hours Update'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_u8voLVIJWlc/SZONEjEo1eI/AAAAAAAAABY/-QieOZ1BXaE/s72-c/TheForestLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-7670014971851940720</id><published>2009-02-12T02:36:00.000Z</published><updated>2009-02-12T20:31:36.411Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>The Forest</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u8voLVIJWlc/SZONEjEo1eI/AAAAAAAAABY/-QieOZ1BXaE/s1600-h/TheForestLogo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 77px;" src="http://4.bp.blogspot.com/_u8voLVIJWlc/SZONEjEo1eI/AAAAAAAAABY/-QieOZ1BXaE/s320/TheForestLogo.png" alt="" id="BLOGGER_PHOTO_ID_5301736295618893282" border="0" /&gt;&lt;/a&gt;So, as promised I'm posting an update on how the game is coming along.&lt;br /&gt;After a rough 12 hours of developing it,  the player can now walk, jump, and change shape.&lt;br /&gt;it's not much, but I spent most of that time trying to create a particle system for it, which sadly didn't work, mainly because the system I wrote earlier was written for a 3D camera, and here the camera is facing only in one direction. I don't know why it doesn't work, it should since in another project I did it worked perfectly. Never mind that, another most of the time was spent on drawings, and not on actually making them as on choosing the style, and the details.&lt;br /&gt;Here's the promo poster:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u8voLVIJWlc/SZOOPW59ENI/AAAAAAAAABg/MLQm7Ht7oxs/s1600-h/theForest_promo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 171px;" src="http://4.bp.blogspot.com/_u8voLVIJWlc/SZOOPW59ENI/AAAAAAAAABg/MLQm7Ht7oxs/s320/theForest_promo.png" alt="" id="BLOGGER_PHOTO_ID_5301737580843045074" border="0" /&gt;&lt;/a&gt;The game is about a soul, trapped in a mysterious forest (I know, it's so cliche it's sad). Something in the forest is changing all the animals into monsters, you don't know what it is, but you know that you must stop it. As you step deeper into the forest you notice that you've been split in half. Good and Evil. As white/good, you cannot harm enemies, but you can transform them back to their original forms, which means you'll have to outsmart them and lure them into the healing portals. As red/evil, you can kill the enemies, be it directly with claws, or by setting up traps.&lt;br /&gt;So what does this gives to player?&lt;br /&gt;Different games.&lt;br /&gt;For Poyo Adventure, I plan on creating something I call a Story Tree. Even if the game is pretty linear itself, your actions define which path you'll take, and therefore even different storylines can be created.&lt;br /&gt;I don't want to spoil too much, but I plan to make some of the enemies vital in a certain way. depending on which enemies you save, and which you'll kill you may be opening a new path and closing another, that way you can play the same game, and reach two different, even completely unrelated endings. You'll be playing through levels you haven't even seen before, or thought of when you played the first time.&lt;br /&gt;&lt;br /&gt;Now for the technical stuff.&lt;br /&gt;Graphics:&lt;br /&gt;It's a 2D side scrolling game. I don't know in which genre it would fit because that'll depend on how the player plays. The player will be able to avoid most of the enemies, like in a standard platformer, outsmart them, fight them directly, or place traps in appropriate places.&lt;br /&gt;But here's the thing: Even though it's 2D side scrolling game, I plan on using the 3D space.&lt;br /&gt;here's a basic level layout:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u8voLVIJWlc/SZOUthFZFSI/AAAAAAAAABo/mRVyB20Jm20/s1600-h/theForestLayers.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 128px;" src="http://1.bp.blogspot.com/_u8voLVIJWlc/SZOUthFZFSI/AAAAAAAAABo/mRVyB20Jm20/s320/theForestLayers.png" alt="" id="BLOGGER_PHOTO_ID_5301744696041215266" border="0" /&gt;&lt;/a&gt;As you can see even though the graphics and all the action is happening in 2D, the world itself will be 3 Dimensional, allowing that way to create layers. In here we have 4 basic layers.&lt;br /&gt;1-The ground/platforms, it's normal always perpendicular to the camera normal, it'll represent the space on which the player will be able to stand on.&lt;br /&gt;2-the background, here you can see the trees, but it can contain more layers, that are further away from the camera.&lt;br /&gt;3-the player and enemy layer, that's where all the action will take place that can actually affect the player.&lt;br /&gt;4- the foreground, bushes, grass, and anything else that doesn't obstructs the view too much, but adds to the view.&lt;br /&gt;&lt;br /&gt;Of course all the layers will follow a set of rules.&lt;br /&gt;Background and foreground layers will mostly be gray, and have lower resolution images to fake depth of field. They cannot create visual clutter, but at the same time must set the right mood.&lt;br /&gt;Gameplay layer will use either brighter tones, or Red. Yes, I plan on making the whole game in shades of gray and red, by that I can not only maintain visual cleanliness, but also make the separate parts of the gameplay stand out. For example, enemies are red, cleansed ones are white. The player itself will be white or red, depending on his stance.&lt;br /&gt;&lt;br /&gt;Engine Features:&lt;br /&gt;2D collisions using 2D static models (no rotation, and no flexible models so far) for collision detection.&lt;br /&gt;Loadable maps.&lt;br /&gt;Out of screen testing, AKA if it's not on the screen, don't draw it.&lt;br /&gt;Basic AI.&lt;br /&gt;&lt;br /&gt;Art Direction:&lt;br /&gt;The objects will be drawings made in photoshop using my Wacom Tablet, they'll have rough, sketchy edges, and overflowing colour.&lt;br /&gt;Here are some of them I've done so far:&lt;br /&gt;&lt;br /&gt;Some player poses:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u8voLVIJWlc/SZOZAYsk8-I/AAAAAAAAACA/ErPZxVA9Ma0/s1600-h/nothing3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_u8voLVIJWlc/SZOZAYsk8-I/AAAAAAAAACA/ErPZxVA9Ma0/s320/nothing3.png" alt="" id="BLOGGER_PHOTO_ID_5301749418253677538" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u8voLVIJWlc/SZOY5fRMjqI/AAAAAAAAAB4/x9UO9ikoJGI/s1600-h/nothing2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_u8voLVIJWlc/SZOY5fRMjqI/AAAAAAAAAB4/x9UO9ikoJGI/s320/nothing2.png" alt="" id="BLOGGER_PHOTO_ID_5301749299758796450" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u8voLVIJWlc/SZOYyd9kl4I/AAAAAAAAABw/Pj0omquPj6s/s1600-h/nothing.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_u8voLVIJWlc/SZOYyd9kl4I/AAAAAAAAABw/Pj0omquPj6s/s320/nothing.png" alt="" id="BLOGGER_PHOTO_ID_5301749179148965762" border="0" /&gt;&lt;/a&gt;And some plants:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u8voLVIJWlc/SZOZrN0-bnI/AAAAAAAAACQ/L9-J5Qv-eBk/s1600-h/forest1+copy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 160px;" src="http://4.bp.blogspot.com/_u8voLVIJWlc/SZOZrN0-bnI/AAAAAAAAACQ/L9-J5Qv-eBk/s320/forest1+copy.png" alt="" id="BLOGGER_PHOTO_ID_5301750154070486642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u8voLVIJWlc/SZOZjYnhFeI/AAAAAAAAACI/2q3MXnNyB2Y/s1600-h/tree1+copy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 256px;" src="http://4.bp.blogspot.com/_u8voLVIJWlc/SZOZjYnhFeI/AAAAAAAAACI/2q3MXnNyB2Y/s320/tree1+copy.png" alt="" id="BLOGGER_PHOTO_ID_5301750019527874018" border="0" /&gt;&lt;/a&gt;The plants will be a bit darker in the game.&lt;br /&gt;&lt;br /&gt;In general what I'm looking for the mood is abandonment, alienation and mystery.&lt;br /&gt;&lt;br /&gt;Music:&lt;br /&gt;...so far I've got no idea if I'll add any sounds at all, since I don't know how to use any music software, nor I have any instruments I can play on (I can play piano, but I don't have one, and my dad took my keyboard to Poland).&lt;br /&gt;But I would gladly accept help from anyone that has experience in making music. Unfortunately I wouldn't be able to pay though.... and it kinda would ruin the game being developed by one person idea.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Final note:&lt;br /&gt;I don't expect that I finish this game on time, there's still a long way to go, and only 35 hours allowed left.&lt;br /&gt;Next time I update on the development I should have a small demo ready, with a test level which should contain the layered display, one enemy, and the ability to interact with it. Still, I don't suppose the level loading will be ready, nor the AI will be active. I'll post the demo here when that time comes.&lt;br /&gt;&lt;br /&gt;That's enough for today, I gotta go sleep.&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-7670014971851940720?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/7670014971851940720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/forest.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7670014971851940720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/7670014971851940720'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/forest.html' title='The Forest'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_u8voLVIJWlc/SZONEjEo1eI/AAAAAAAAABY/-QieOZ1BXaE/s72-c/TheForestLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3242917493662032861</id><published>2009-02-11T10:35:00.000Z</published><updated>2009-02-12T20:31:54.979Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>One week, One game...</title><content type='html'>...or at least something similar. I noticed that my programming vibe has been going downhill since the start of the year, and I wasn't able to do a single thing about it.&lt;br /&gt;So after reading a while, browsing and thinking, I decided to start a small project on my own:&lt;br /&gt;For a month, I'll make one game every week, a week being 47 working hours.&lt;br /&gt;I'll have to make a game, from start to finish, in those 47 hours.&lt;br /&gt;I'll try finishing one game per actual week, but since I've got classes, and most of my free time I'm spending in university (most of my free time is between classes and I live 20 KM from uni), it'll mean that it'll take around one and a half week for each game. I might post one game earlier than another but meh.... I'll see.&lt;br /&gt;My hopes for this project are to create one noteworthy game that'll be fun to play, to get better at programming and game making in particular, I'm especially interested in creating a better game engine, and improving my development pipeline. All my games will be bowered by the same API/Game Engine El_Poho, Yes, I know the name sucks, and I especially know what Raiki thinks about it, well deal with it! I got used to that name, and even came to like it in my own way so I'll stick with it.&lt;br /&gt;Basically what it gives me is this:&lt;br /&gt;input/Event API-&gt;SDL&lt;br /&gt;Graphic API-&gt;SDL+OpenGL for 3D&lt;br /&gt;States API-&gt;my own creation&lt;br /&gt;Particle Engine-&gt;my own creation&lt;br /&gt;&lt;br /&gt;So it's more like a wrapper forADL and openGL than an actual game engine, but I plan on expanding it in the future. So far I plan:&lt;br /&gt;-Map support&lt;br /&gt;-Model support&lt;br /&gt;-GUI&lt;br /&gt;-Sounds with openAL&lt;br /&gt;-Config loading and saving&lt;br /&gt;-Command line&lt;br /&gt;-3D model based collisions&lt;br /&gt;-2D model based collisions&lt;br /&gt;&lt;br /&gt;Well... that's all for now.&lt;br /&gt;I'll come back today afternoon to show you how is my first 7 day game coming along, with 12 hours of development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3242917493662032861?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3242917493662032861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/one-week-one-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3242917493662032861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3242917493662032861'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/one-week-one-game.html' title='One week, One game...'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-4811034145655845467</id><published>2009-02-10T13:02:00.000Z</published><updated>2009-02-12T20:32:18.626Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Two Thirds Life 2'/><title type='text'>TTL update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u8voLVIJWlc/SZGBpe3sFtI/AAAAAAAAABQ/4_6aFkkOEIU/s1600-h/logo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 306px;" src="http://1.bp.blogspot.com/_u8voLVIJWlc/SZGBpe3sFtI/AAAAAAAAABQ/4_6aFkkOEIU/s320/logo.png" alt="" id="BLOGGER_PHOTO_ID_5301160786053043922" border="0" /&gt;&lt;/a&gt;Ok. since my friend Raiki will probably kill me if I don't show any interest in TTL, and kill me even more if we don't finish it this month, I'll be posting updates on the TTL development here. (As a co-creator of TTL I think I can do updates without his permission, but I'll still have to talk with him).&lt;br /&gt;So far the entire 1/3 of the "Two Thirds Life" is done.... um... no, I don't mean half , I really mean 1/3.&lt;br /&gt;This means that all the chapters up to the Black Mesa East are ready, and all that's left are some minor enhancements, and fixes we'll do after I finish the models for the movie.&lt;br /&gt;Ok, since we've been delaying endlessly the release of TTL I feel obliged to give you some screens from the movie, but since I'm only in charge of the models I can only post those models here.&lt;br /&gt;ok, so Here are three of them:&lt;br /&gt;Barnacle:the first model I did for TTL a very long time ago.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u8voLVIJWlc/SZF_qUVcsnI/AAAAAAAAABA/LsgxLbVLAds/s1600-h/Barnacle.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 136px; height: 228px;" src="http://1.bp.blogspot.com/_u8voLVIJWlc/SZF_qUVcsnI/AAAAAAAAABA/LsgxLbVLAds/s320/Barnacle.png" alt="" id="BLOGGER_PHOTO_ID_5301158601381687922" border="0" /&gt;&lt;/a&gt;Ichty: The element of surprise *gasp* :O&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u8voLVIJWlc/SZF_geuwA9I/AAAAAAAAAAw/FyZFkAC-BW8/s1600-h/ihty.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 172px;" src="http://1.bp.blogspot.com/_u8voLVIJWlc/SZF_geuwA9I/AAAAAAAAAAw/FyZFkAC-BW8/s320/ihty.png" alt="" id="BLOGGER_PHOTO_ID_5301158432373474258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Antlion: horribly difficult to animate,I'll make a simpler model to use when he's further away from the camera.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u8voLVIJWlc/SZF_kSoeS3I/AAAAAAAAAA4/ed47em9ffVw/s1600-h/antlion.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 162px;" src="http://3.bp.blogspot.com/_u8voLVIJWlc/SZF_kSoeS3I/AAAAAAAAAA4/ed47em9ffVw/s320/antlion.png" alt="" id="BLOGGER_PHOTO_ID_5301158497845398386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;On a side note these models have outlines which will be erased in the final stage of making TTL.&lt;br /&gt;&lt;br /&gt;That's all for now! Check out my blog tomorrow, I'm planning to put on another update when I get back from UNI. I'll talk about a new game Idea I have, and already started working on it.&lt;br /&gt;&lt;br /&gt;PS: I hate blogger for their stupid super narrow writing space. I've got like 400 unused pixels to the left and right!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-4811034145655845467?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/4811034145655845467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/ttl-update.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4811034145655845467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/4811034145655845467'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/ttl-update.html' title='TTL update'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u8voLVIJWlc/SZGBpe3sFtI/AAAAAAAAABQ/4_6aFkkOEIU/s72-c/logo.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-3388513195455353061</id><published>2009-02-06T07:37:00.000Z</published><updated>2009-02-12T20:32:39.978Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Art'/><title type='text'>Programming and stuff</title><content type='html'>Okay, Lately I've been programming more than usual (which means I've been programming at all). Funny thing is: I normally do things I shouldn't.&lt;br /&gt;When I have to program (like on programming classes) I don't, I do something completely irrelevant. Now, that I should be making stuff for Two Thirds Life, which is finished in it's 80%, lacking only models and SFX which I am responsible for, I'm programming!&lt;br /&gt;I must find a way to make me want to work on the models again... I mean... I want to, but some higher force is stopping me from it every time I walk to the pc to do some serious modeling and animations. Probably the fact that I'm this houses errand boy doesn't helps either. Any thing that has to be done, be it from cutting wood to burn, to getting the papers for the car or from my father's work it's me that has to do this... Yeah.. the elder sons have it rough...&lt;br /&gt;But anyway. My finals are finished!!! I have whole 3 days of vacation....left..... SHIIITTTT.&lt;br /&gt;I hate university more than I hated school =_=&lt;br /&gt;Not only I have more responsibilities as the elder son, I also have more work to do but I have to STUDY!! Can you believe that? I've ran through the entire school almost without studying, only before finals, and now I have to study almost every day when I have classes.... I should have gone to an art class, at least that's a couple hundred formulas less...&lt;br /&gt;&lt;br /&gt;I started modding HL2 it's pretty fun watching the effects of your work (YES! I can finally kill allies!! HAHA!). But I also learned a good handful of things I plan to bring to my own engine. i've ran into a couple of problems with my GUI system earlier and I had to scrap the whole Frames, windows and Layout Managers section. I have no Idea what was wrong with all that but meh... I'll make another one later. Right now I must focus on making the game engine a game engine, so far it's just a graphic and input/output engine.&lt;br /&gt;&lt;br /&gt;I've made new concept art for  my game few days ago:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/SYv2KaTTZRI/AAAAAAAAAAk/U3UaTotEzE8/s1600-h/Jumper+copy.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/SYv2KaTTZRI/AAAAAAAAAAk/U3UaTotEzE8/s320/Jumper+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5299600045250929938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It's a Jumper. A spider-looking biomechanic  (it means it's been a biologic creature but was enhanced with technology). You'll be either fighting these or alongside these. I can't say much more because:&lt;br /&gt;a) I don't want to spoil&lt;br /&gt;b) I still haven't figured out the complete story and pacing, only general things.&lt;br /&gt;&lt;br /&gt;I have two more concepts here, first it's the Poyo Adventure logo:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/SYv1hqQmT_I/AAAAAAAAAAc/K5OGGOpbVdA/s1600-h/PA_Logo_Alpha2+copy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/SYv1hqQmT_I/AAAAAAAAAAc/K5OGGOpbVdA/s320/PA_Logo_Alpha2+copy.png" alt="" id="BLOGGER_PHOTO_ID_5299599345159917554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And If I ever make a game company (even if it's just two people) This will be it's logo:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u8voLVIJWlc/SYvukLIg_NI/AAAAAAAAAAM/u0yY88r85_s/s1600-h/CatInABoxStudio.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://2.bp.blogspot.com/_u8voLVIJWlc/SYvukLIg_NI/AAAAAAAAAAM/u0yY88r85_s/s320/CatInABoxStudio.jpg" alt="" id="BLOGGER_PHOTO_ID_5299591691762728146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yup, "Cat in a Box Studio" will be the name of my yet inexistent Game Studio.&lt;br /&gt;I came up with the logo on my math class (I think), I remembered one those cardboard boxes and I decided to draw one to see if I could get it right... and then I decided to stick a face on it for some reason. The face is from a cat I sometimes draw:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u8voLVIJWlc/SYv0YkQTYZI/AAAAAAAAAAU/lAEPFSfyJjU/s1600-h/kitten.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 150px; height: 128px;" src="http://3.bp.blogspot.com/_u8voLVIJWlc/SYv0YkQTYZI/AAAAAAAAAAU/lAEPFSfyJjU/s320/kitten.gif" alt="" id="BLOGGER_PHOTO_ID_5299598089417613714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ok that's all for now.&lt;br /&gt;See you later!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-3388513195455353061?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/3388513195455353061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/programming-and-stuff.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3388513195455353061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/3388513195455353061'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2009/02/programming-and-stuff.html' title='Programming and stuff'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u8voLVIJWlc/SYv2KaTTZRI/AAAAAAAAAAk/U3UaTotEzE8/s72-c/Jumper+copy.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3764661518056737850.post-2577042264838399253</id><published>2008-11-28T22:53:00.000Z</published><updated>2009-02-12T20:32:58.707Z</updated><title type='text'>First Post</title><content type='html'>Hello.&lt;br /&gt;I decided to start my own art blog in order to get better and more motivated to draw, animate and model. I'll probably also use this blog for ranting, be it about games I play, situations that happen to me or just my life.&lt;br /&gt;So here's some info about me:&lt;br /&gt;My real name is Mikolaj Gabriel Kuta, I was born at Ruda Slaska 31 July 1988 in Poland. I've lived there for 9 years, when my father decided to go to Portugal, where I live ever since. Unfortunately my mother died in the first few weeks we've been here when she was saving me from drowning in the Ocean.&lt;br /&gt;Currently I live in Ponte de Vagos with my family, it's a small city/province, and I attend to University of Aveiro to Computer and Telemathic Engineering, so far I'm in second year, and I see myself as a game developer in the near future.&lt;br /&gt;I have a friend Michal, with whom I'm making a HalfLife 2 parody/tribute animation called "Two Thirds Life 2". It's a stick animation but not like any you've seen before. Michal alone made the first TTL, and after I've seen it I wanted to be part of the project. So far my work consists on drawing and animating the models, while he works on music, timing, animating sticks and everything else. The jokes were invented by both of us, and are based mainly on the "Family Guy" humour style. If you're interested then check out these links:&lt;br /&gt;Two Thirds Life 1:&lt;br /&gt;http://raiki15.deviantart.com/art/TWO-THIRDS-LIFE-18253890&lt;br /&gt;Two Thirds Life 2 Trailer (Most of the models are lacking):&lt;br /&gt;http://raiki15.deviantart.com/art/TWO-THIRDS-LIFE-2-trailer-96515212&lt;br /&gt;&lt;br /&gt;Apart from that I have few other projects on my own.&lt;br /&gt;I'm slowly developing a game, that has been on my mind for several years (over nine years actually!), I've already created the basic game engine, but I'll have to rewrite all the code again because of many usability issues, and lack of plugin support.&lt;br /&gt;&lt;br /&gt;Well... I guess that's it for now!&lt;br /&gt;I'll leave you with a few links to places I enjoy to go:&lt;br /&gt;www.deviantart.com&lt;br /&gt;www.conceptartworld.com&lt;br /&gt;www.interlopers.net&lt;br /&gt;www.gamedev.net&lt;br /&gt;www.failblog.org&lt;br /&gt;www.icanhascheezburger.com&lt;br /&gt;www.XKCD.com&lt;br /&gt;www.1fort.com&lt;br /&gt;http://www.escapistmagazine.com/videos/view/zero-punctuation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3764661518056737850-2577042264838399253?l=catboxbeta.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://catboxbeta.blogspot.com/feeds/2577042264838399253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://catboxbeta.blogspot.com/2008/11/first-post.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2577042264838399253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3764661518056737850/posts/default/2577042264838399253'/><link rel='alternate' type='text/html' href='http://catboxbeta.blogspot.com/2008/11/first-post.html' title='First Post'/><author><name>Mikolaj (Spliter) Kuta</name><uri>http://www.blogger.com/profile/06216568605507086045</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
