2014-01-12 02:24:26 Posted by RetroZelda

Code Samples

I know, I havnt posted anything in a while. So I thought I would be a little productive. So, I installed GCC and code:blocks and I made a quick Byte Queue. But, how could I share that I did it without making an entire post about it? What if I had other small things I wanted to share? Well, i figured it out! I added the new Code Samples section for just that. So, when I make a small script or do an exercise to keep my other language skills, I will put it there. It will mostly be used to show my code style and any small accomplishments I do that isnt significant enough for a full post. So... Enjoy! Ciao fur niao!

2012-11-30 01:52:48 Posted by RetroZelda

Programming and Me

It has been a while since I posted anything on here that was just my normal ranting/typed garbage, so I am here to share what I really enjoy about programming. And that, my non-existent reader, is animation. In my opinion, animations is what really makes a game come alive and providing the main part of the games life is really fulfilling. Then, after the projects gets birthed out of the womb that is anything between the first working build with the animations to alpha and beta builds, you begin to help it grow. So, to talk about the first animation classes I have done, I will start with the 2D animation I developed for "e;Monster Descent Dungeon"e;. The first time I got the sprites to animate was simply having a fixed frame width and height jump down a "e;static"e; sprite sheet that I had to modify to make sure each frame would fit properly when it was rendered. Then, that is when I could have fun. I then expanded it to provide the "e;anchor point"e; where the frames would be based upon, so then each frame could be a different size. Then, adding events that a frame could trigger and dynamic frame timing, really brought out the beauty that animations can provide. Now, having these events wouldn't provide anything near as sexy as like God of War, but just having that ability really expanded on the capabilities of the look and feel of the main gameplay. Especially when, in the game, you would cast spells or in the battle scene between Xanthor and an enemy. But, there is only so much you can do with 2D animations, and so when I took on the task of the 3D animations during final project - "e;Sugar Rush"e; - I learned so much about how State Machines for animations are really important, how interpolations and blending make things look so much smoother, and especially how much of a hit to the frame's processing time gets taken away because of the entire skinning process. Unfortunately, this was my first real skeletal animation system, and when I went and coded out the PSM project I have, I noticed a lot of issues that I either was completely ignorant to during the time of Final Project, and how big of a memory footprint I created with the animation files I would be loading in. The big thing was, and it is fairly embarrassing to have to say this, but when I would interpolate each bone, I was using the pre-baked bone world orientation("e;world"e; being the absolute position before transforming into the game objects position) and I was iterating through the bones. Ignorance really is bliss I guess because it worked and I was happy, but it only did work when the animations were "e;baked"e; in maya before exporting. I only realized that this could have been done better when I interviewed with Paul Jossman for a gameplay coop position at Vicarious Visions. He and I were going through the programming test I had taken, and I did a question recursively. When we got to the question, he said something that really made sense to me and really cleared up the question of why we use recursion. He said that recursion is best for systems that are designed for recursion. When he said that, I literally had an epiphany of how I could fix this animation system. So, with a similar system on PSM, I spent time to restructure it so I would be traversing down the tree, and applying the local matrix to the matrix of the parent, and I can now use unbaked animations, which would trim down the file size drastically by removing 95% of the frames, an entire 4x4 matrix for each bone, and I also was able to clean up the design to work swifter and smoother! So, it's true that you do learn something new all the time, and for this is want to thank Mr. Jossman. But from that, where do I move animations onto next? Kinematics? I want to, but I have always had a hard time with learning advanced subjects online, so I think the best way for me to learn is from the basics of calculus and move up. I also thought about working with HumanIK, but getting a licence for that is probably next to impossible for an individual. Or, I could use either axis-angle representation in stead of 4x4 transformation matrices, or maybe even quaternions. I have done my research on other people opinions on axis-angle vs. quaternions, and I am still not really sure of the best approach that is suited for me. I guess only time will tell. Anyway, I think I am finished ranting for now. Ciao fur Niao!

2012-09-09 17:26:11 Posted by RetroZelda

What is New?

What is new? Nothing much. I'm out of Florida. No more Cockroaches!!!!! Wooh. So yeah, The last week or so I have been working on a project using the PSM SDK, and it is going smoothly. I have rendering of models and skeletal animation(in a disgusting way, mind you), basic collision, basic gameplay and basic AI. and when I say "basic", I really do mean that it is basic. My attention span has been the longest on this project and I have gotten the furthest on this, and I think the main hard parts are over(for now...) and I think in about a month I will have something tangible! Right now I do have it in public source control, so if you find it then kudos I guess. Although I do only have fill in models and animations and the textures don't like working with the PSM simulator, but when played on the vita, they work. Although figuring out if it is how I made the textures or a limitation with the simulator is making the textures not look nice will be quite a challenge, although it is still in beta so I might as well get as much device testing done as I can before I will have to get a licence. But why use something that you will have to pay for? Well, working on new thing is fun, and PSM is basically brand new, and it is a lot easier to use than Android(I don't like java... but I dont really know why...). I also have learned a lot about c#, and I done liked to got learned! Anyway, That is all I really have to say. Ciao fur niao!

2015-05-11 19:25:13 Posted by RetroZelda

Sugar Rush - Core

Well hello non-existing readers! I am here to present to you the core build for my Final Project game, Sugar Rush. Sugar Rush is a 3rd person hack 'n slash in a world of candy that is being invaded by evil dentists and vegetables. This is our first milestone build, which only has the carrot enemy and placeholder models and/or animations for what you will see! I was responsible for writing the model/animation exporter so we can export character models and skeletal rigs from Autodesk Maya. I also did the animation system in the actual game. My system is a hybrid of cpu/gpu animations with joint interpolations cpu bound and then skinning being done in a vertex shader on the gpu. Why did I do it this way? Well, there are a few things right now that rely on joint position/orientation and the current keyframe to function properly, and retrieving that data off the gpu would be much more work to get everything set up than it would be worth for what few things need said information. I would prefer to have everything on the gpu, but I feel that i should spend my time in other places as we go towards the alpha Milestone. Now, matrix interpolations can be quite expensive on the cpu, i realize this, but with the beauty that is SIMD/SSE, I know that when we need to cut back on processing, I ahve something I can fall onto! I even considered doing the animation system entirely on the cpu using SIMD and setting up a thread pool, but sadly the architecture was fairly complicated for me and it would require time that I do not have to accomplish(same with the kalman filter I want to use with the wii motion plus :3). Anyway, my animation system also handles animation Blending, which will take the current frame the current animation is on and blend it with the first frame of an animation you are changing to. this can get quite expensive as well as it requires matrix interpolations on two sets of matrices instead of just one. A thread could possibly do the trick(a thread pool looks nicer and nicer!). So now that core is met, and I am moving on past animations, where am I heading to? Now, I am working on a level exporter, so we can build our levels in maya. I am using the dreaded maya api to instance geometry in each level and to store the static transforms at first. I plan to be able to export collision geometry and, maybe, nav meshes for our AI. Then, after I get the level exporter set, I will hopefully start helping our Tech Lead with enemy AI. More specifically I think I will be working with him on path finding, so hopefully I can get A* working even better than I had it in my AI class. And for those of you who dont know, A*(aye star) is a fantastic path finding algorithm, but we might not even need something that complicated, but naturally I am only speculating at the moment.... Well that is my useless banter for the time being, and I will let you read me later! EDIT: Removed Download Link

2012-03-25 21:27:21 Posted by RetroZelda

Site Newzies

Yeah, so in the past half hour I added post limiting and page numbering on this place. i figured that loading every single post that no one reads is a waste to database calls and will provide a 0.000005% faster page loading time. Note: the aforementioned Time is an estimate, and it should be clear that Erick, nor any of his affiliates, performed a benchmark, test, or any other method to provide accurate data. There, I am now lawsuit-proof. Oh, and do not worry... You can thank me later. Ciao for niao.

<--Prev 0 1 2 3 4 Next-->