Website Overhaul

I think my website’s been long overdue for a change. The last time I did anything was back in 2012, when I switched to the Twenty Twelve wordpress theme. Before that, I was using a modified version of the Build theme. I switched off of that theme because I’d suspected it was the cause of the hacking problems I was experiencing back then.

This time around, there’s no concerns of hacking; I just wanted a cleaner look. Here’s what the site looked like before the overhaul:

Old look of website

Read more...

More Adventures in Unreal Engine 4

The adventures in UE4 continue. So far, I’ve found it very much to my liking. This last week, I made something approaching space invaders, just to see if I could. The amount of code I needed was impressively small; probably not even a hundred lines split up over a few files. It’s still unfinished, but here’s the UE4 project on github.

The “oh this is cool” feeling hasn’t gone away, but neither have my gripes about the documentation from the first post. In this post, I’ll explain some of the stuff I’ve learned about C++ in UE4.

Before we begin, a caveat: I am still an absolute newbie at using UE4, so some of the information in this post is bound to be bad practice. I’m documenting what I learn as I learn it. If you’ve got any suggestions about best practices, I’d be happy to hear them; leave them in the comments.

Read more...

Adventures in Unreal Engine 4

ue4

I made the resolution this weekend to learn a little more about Unreal Engine 4. It was pretty much a coin-toss between it and Unity, but with Epic Games HQ very close to my apartment (about 15 minutes away), I figured I owed it to myself to try to learn UE4. Here’s the results of my initial noodling around. Notes on visual programming, frustrations with documentation, and sample code follow.

Read more...

Pocket Tactics Postmortem

Pocket_Tactics_final

I am now three games into my goal of making one game each month, for a year. This month, I made a strategy game called Pocket Tactics. Check it out here, and check out my #1GAM progress here.

I’m rather ambivalent about my February entry. Don’t get me wrong - I am proud of what I accomplished the last month. I pushed the Crafty framework to the boundaries of what it could do. Architecturally, my code is the cleanest I’ve ever created. The game looks decent - not great, mind you, but it’s passable. The game is complete, with a win condition and everything. It’s even got sound effects.

It’s just that… well. The game isn’t very fun.

Read more...

Collision Resolution in Crafty

6265791102_27e0b7e570_b

Resolving collisions in real life - not as easy as in Crafty.

Crafty is an incredible little game framework. I had the pleasure of getting introduced to it during my first Ludum Dare last month, and I’m working with it again this month for #1GAM. I hope to have a small platformer completed by the end of this month, and I’m well on my way.

However, I did run into one roadblock; how do I resolve collisions in Crafty? It’s got normal SAT collision detection built-in, but it seemed like most of the code samples I ran into simply moved entities back to where they were before the collision occured. That’s not the right way to do things, and if Crafty is already doing SAT, there should be more information provided. Turns out, there is - you just have to find it.

Read more...

Ludum Dare 31 Postmortem

I made a game last weekend called Square Dance! Check it out here!

Why did I make a game last weekend, you may ask? For Ludum dare, of course.

Now that you’ve played my game and know what Ludum Dare is, let me tell you about my second completed game.

Read more...

Dustforce DX

Ancient Garden.

I actually had no idea that an update for Dustforce was coming out when I started playing the game again a few weeks ago. Imagine my surprise when I started up the game and it changed on me, adding levels, new tutorials, and a new overworld layout. All this, to a game two years old. I’m still undecided on whether that’s a great thing or not - after all, I do want to see Hitbox Team finish Spire.

It’s just as well, though, since it gives me a convenient time to re-review Dustforce. My previous review… well, after reading it today, I decided didn’t quite do it justice. Plus, I wanted to do some more analysis of why this is my second-favorite game of all time. It’s more than just the aesthetics; it’s the feeling it evokes, the emotions it carries. So, put on your brooms and overalls, and let’s go clean some stuff.

Read more...

Angle from One Vector to Another, the Visual Way

I think most who have taken some form of higher mathematics or another will know what I mean when I say “the angle between two vectors”. I mean this:

angle_bare

We’ve got vectors \(a\) and \(b\), and we want to get \(\theta\). But it’s pretty easy to get there - after all, we know that one definition of the dot product of two vectors is:

\[a \cdot b = \| a \| \| b \| \cos(\theta)\]

Read more...

Postcards from China

A part of the lake in "Famous Waters", ChinaThis last week I was in China, visiting family. Most of the time was spent eating with my dad’s friends and visiting his hometown - a small village, maybe even a hamlet. I didn’t get to visit many tourist spots, but I still got a few interesting pictures. All of the following were taken with a phone camera, so they’re not the best; nevertheless, I figured I’d share. Click to see full-size, as usual.

Read more...

Planetside 2

2014-09-12_00004Recently I gave Planetside 2 another try , motivated by this RPS post. I didn’t write about it the first time I played, but broadly: I found it immensely interesting, but deeply flawed. Had it changed in the intervening years? It must have, if it motivated Mr. Rossignol to write such superlatives about it.

However, despite the hours I sunk into it this week, the game simply did not stick. I shall attempt to articulate why.

Read more...