MERCH!
Giant Bomb - a website about video games and the people that make them

shinali's Articles

Setup a blog at my personal webspace over at http://www.scisbot.com/ Will post about any updates here as well. Latest update was about a game I'll start work on July, for a game development competition in the SomethingAwful forums. It's going to be called hexatron and would play like some dual stick shooter where you explore rooms. It will incoporate some roguelike elements like random level ge...

Just came out of GDC, kind of got me thinking I should keep posting on what I'm doing. I'm gonna get back to work on my XNA implementation as I've just started work with another developer who wants to get their game on Humble Bundle. It has some graphical glitches but it was a much better starting point than I had with Bastion, not to mention I have some readable code to work with. After I actu...

I started another project in C/C++, which amounts to a game engine/framework that kind of ribs off of Unity. Not the user-friendly aspect of it, just the general code architecture. Really, it's less of an engine and a lot more framework like XNA, but with a lot of game stuff in it, like collisions and particle effects. I do intend to make a game with it but my original intentions was to look at...

Been going slow lately, but I swear I'm trying to do stuff. I've doc'd out the XGS format (most of it, anyways) and just got started on some audio programming. Since I didn't really do much audio before, I went off easy and started off with the SoundEffect classes of XNA. OpenAL seems easy enough, but doesn't really have any sort of 2D audio functionality so I can't do something like panning. I...

I've been hitting my head against the wall to have these two offsets to show up and finally got them to. They were the last two offsets that I needed to look into, but there are still a couple that seem redundant or have no idea what they're for. After I map the last two offsets, I'll try to figure out the other offsets (two of them point to DWORD offsets that were already in the header, the ot...

As from my previous edit, I want to finish up what I started and get Bastion running under my XNA reimplementation efforts without any modification to the original code (aside from a dummy SteamWrapper.dll). I would like this to include parsing HLSL byte code over to GLSL shader code but I technically don't need to modify Bastion for that, just replace the effects with OpenGL ones. For now, tho...

Bastion is on Chrome now, available to be played on other platforms. If they got it running under OpenGL and Mono, they're open to release it on any other platform. Go play that! Just as well, I actually got it pretty much playable with the bloom post process working exactly as it should aside from very minor graphical issues. Honestly I still want to finish my port, as I've done so much progre...

Didn't make too much progress in making Bastion work correctly, but I've got it running under Mac which was an enormous pain in the ass; strange in of itself as the Linux version ran with no problems. Here are some screenshots. Hey, it looks the same as before! There are some weird problems, like the window not being active or capturing the mouse. It'll be something I'll figure out but I mostly...

I got a little bit further than the main menu, duders! The Touching Reunion is missing something without that post processing. Something strange going on with that refraction effect. I'm pretty sure it's not supposed to look like that. What. OH GOD So yeah, it isn't perfect, but I'm getting there. For those that are just tuning in, I'm working on an open source implementation of Microsoft's XNA...

I know I said I'd take some screenshots under Mac or Linux but I don't have either readily available so I just took them in Windows instead. It's using OpenGL for sure, though. Sprites started showing up under Windows for some reason. Maybe some minor discrepancy with Mono under Linux causes the sprites to not show up. I'm not to worried about it, as I definitely had sprites show up before just...

I've gotten all the effects converted over, and they all look 1-to-1 with the original effects from the game... except for one. It has a mess of preshader instructions that I tried to convert over to GLSL with whatever MojoShader gave me but it's not giving me the same exact results. I'll be disassembling it with Microsoft's FX compiler and write the shader by hand, but for now I wanted to see...

It turns out I put way too much effort into mimicking Microsoft's way of using effects when I had the entirely wrong idea in mind. Originally, I thought the process was that you ended your drawing routine after you've ended your effect. This seemed completely backwards from MonoXNA as SpriteBatch flushes all the sprites it has to draw during its End function. It meant I went through all the wor...

I've got the effects system in place, and have it almost exactly like Microsoft's implementation so far. There are somethings that I haven't implemented fully (like some of the SetValue functions that I'm not using at this moment, and matricies), but I will once I get to my goal of getting Bastion running under MonoXNA. Some shaders take advantage of sampler registers rather than using a textur...

I've got a preliminary version of the Effects pipeline implemented under MonoXNA and I can confirm the shaders are at least running. Unfortunately, I had to do some things backwards compared to XNA 3.1 in order to apply the effect, due to the way MonoXNA was originally structured. I'll be looking to fix this up as I'd rather have as little code modifications to Bastion as possible. Right now I'...

I looked a bit deeper into MonoGame/XNA 4.0 as I thought MonoGame was way more feature complete than MonoXNA was. It took some doing but I made all the preliminary changes to Bastion to make it build under XNA 4.0. Unfortunately, I don't know if it actually works or not as I need to convert the assets to XNA 4.0's new content pipeline. I'd have to convert the assets first to some version that w...

So I've got two branches for Bastion going; one for MonoGame, and another for MonoXNA. At first I was working with MonoXNA until I hit a wall on my home machine (which is Windows); most of the OpenGL functions were null. The notion itself is preposterous as I'm working with a fairly powerful ATi card that would support most, if not all, OpenGL extensions. I've tabled it and started working with...

Just updated all my branches to the latest codebase, and they all seem to build and run fine. I'm going to try to build against the latest MonoGame assemblies now, though I think there is a bunch of discrepancies between Windows/Mac/Linux versions of the assemblies (I'm on a Windows box for now). Building against the assemblies will most assuredly fail anyways. I'm just going to keep trying to...

I was taking a break from coding, but I want to hop back in with my Bastion projects. By now the flurry of updates from Supergiant Games to Bastion should have slowed so I'll be taking the latest assembly and extracting a new code base from it. Once I get it to build (hopefully I'll figure out the z-fighting issue again), I'll do some bit of code review and documentation, then hop back on to po...

Not much on the Bastion front as I want to. Made a utility/library to unpack Bastion pkg files. As I said before this is mostly for sprite sheets and mapping them out. I ought to clean it up and use some .NET XML serialization stuff properly for the atlas maps but it works well for now. My XNB decompression algorithm got into MonoGame and MonoXNA, so it's a step closer to full cross platform XN...

I've fixed the XNB decompressor (had a value checked against 20 while it should be checked against 19), everything I throw at it doesn't seem to make any complaints. Hit another snag; DirectX HLSL byte code. It was kind of freaking me out for a while since I couldn't find any docs on HLSL byte code but there seems to be a project that converts HLSL byte code to GLSL, thankfully. It's called Moj...

Just means I've been busy. I've figured out how XNB files are structured. Thankfully the aforementioned person that extracted LA Noire files help me by giving his source code (I've asked for an alias/name so I can properly credit him). It turns out it does use the LZX algorithm with some presets, save that blocks are preceded by a short that represents their size (as another that can also repre...

I've got a window to show up with MonoXNA, but stopped short of loading content. The culprit lies with the XNB files, which is basically images that XNA generates. The problem is the release version of the XNB files are compressed using some proprietary Microsoft compression scheme called XMemCompress, which are only accessed by XDK recipients. The very compression and decompression algorithms...

I spoke a little too soon when I said I successfully replaced all use of ResolveTextures, as the game was drawing some strange artifacts that makes blocky patches of purple hue (the hue would also appear in screen transitions). I was originally using some other manager's sprite batch to draw the full screen quad at the end of the drawing cycle and I didn't set any sorting process. With my littl...

It went well enough. Found out that I couldn't reference the texture while GraphicsDevice was using the render target but a switch to and back to the back buffer is all that was needed. My original idea to achieve this was basically correct. It doesn't seem to affect performance and the telemetry would have me believe it's using more memory but I doubt it. In essence I've replaced the resolve t...

After further inspection of MonoGame, it seems they're trying to move over to XNA 4.0 as well. It's kind of annoying how either MonoXNA or MonoGame haven't fully structured towards the XNA 4.0 API, but making changes that is obvious that they are. I might be thinking about MonoGame since that seems more supported. Anyways, onto XNA 4.0. I've confirmed my suspicions of ResolveBackBuffer via expe...

I will use this site temporarily to host my blog entries until I get my site up running. I'm a big fan of Bastion, a game that will probably end up the best one I've played this year. I even bought the game twice; on Xbox Live and Steam, not to mention ordering the soundtrack CD. Believe me that what I do with the game is out of nothing but pure love. When I installed the PC version of the game...