Programming

Simplistic Cover in Unreal Engine (3): 3D Space and the Cover Search Volume

Previous Post:http://d.hatena.ne.jp/caelk/20160223/1456219054So right now with what we've gone over, we have the general idea of how a cover system can be set up. Now, I could've gone over basic edge detection for a general (though incompl…

Simplistic Cover in Unreal Engine (2): Character States and Input Handling

Previous Post:Simplistic Cover in Unreal Engine (1): The Cover Slide and Cover Point Selection - Memories of Melon PanNow that we got our basic cover point selection out of the way, we have to make the player move towards it. While we're a…

Simplistic Cover in Unreal Engine (1): The Cover Slide and Cover Point Selection

Previous Post:Simplistic Cover in Unreal Engine (0): Introduction - Memories of Melon PanWhen we think about cover systems, there's really only one way to activate it as far as the player goes - press the dang button - but when you program…

Simplistic Cover in Unreal Engine (0): Introduction

Last year, Epic Games released their Unreal Engine out for free. Anyone can download it! It just takes heaps of gigs.I hit up a few tutorials and was putting together some really basic stuff in my spare time. After enough fiddling around, …

Basic Dogfight Mode (4): Conclusion

Well, my imitation DFM didn't turn out the way I thought it would, but I was still able to figure out why my original idea didn't work and why. And once I did, all it took was a bit of a spin on the concept and I was mostly able to use it …

Basic Dogfight Mode (3): Yaw/Pitch/Throttle Spring Theory

My final stab at this all was taking the spring forces I used earlier, but using them differently. Before, I used them to tweak the position of the ship, then fudged its heading to make things look right... but this made my plane behave so…

Basic Dogfight Mode (2): Pure Positional Spring Theory

The next thing I tried to do to make one plane follow another was to base its movement off the same sort of movement a chase camera does. It didn't turn out as expected, though.Previous Post:Basic Dogfight Mode (1): Basic Yaw/Pitch Adjustm…

Basic Dogfight Mode (1): Basic Yaw/Pitch Adjustments

The simplest way you can do DFM is... honestly not that difficult, as long as you know some basic vector math.Previous Post:Basic Dogfight Mode (0): Overview - Memories of Melon PanIn Assault Horizon, there was that circle in your HUD, and…

Basic Dogfight Mode (0): Overview

If any of you have played Ace Combat: Assault Horizon, you'll know that you're forced into this thing called Dogfight Mode (DFM) every so often to take out enemy aces and such. I'm not gonna get into whether or not it was good for the seri…

Imitating the Canvas Engine (13): Conclusion

Previous Post:Imitating the Canvas Engine (12): Applying the Shadow Fill Effect - Memories of Melon PanGeez, so that was a lot of stuff I wrote about shader programming. What all did we go over? Depth blur, using a Gaussian blur Nonphotore…

Imitating the Canvas Engine (12): Applying the Shadow Fill Effect

Previous Post:Imitating the Canvas Engine (11): Directional and Gaussian Blur - Memories of Melon PanWe're down to the last and final step!Right now, our rendered scene has a canvas texture on it, it's framed like it was drawn in a sketchb…

Imitating the Canvas Engine (11): Directional and Gaussian Blur

Previous Post:Imitating the Canvas Engine (10): Light Direction Transformations - Memories of Melon PanUltimately, our scene shadow mask will tell us where to put shadows and how much. Since we want to have the shadows bleed off the edges …

Imitating the Canvas Engine (10): Light Direction Transformations

Previous Post:Imitating the Canvas Engine (9): Transforming the Shadow Map to Screen Space - Memories of Melon PanThe shadow bleed effect makes use of some simple blurs, but before we get into them, let's start thinking about what we want …

Imitating the Canvas Engine (9): Transforming the Shadow Map to Screen Space

Previous Post:Imitating the Canvas Engine (8): Constructing the Shadow Map - Memories of Melon PanThe way most shadow maps work, they do a simple calculation to find a pixel in screen space. If it's in shadow, darken the pixel.But the Canv…

Imitating the Canvas Engine (8): Constructing the Shadow Map

Previous Post:Imitating the Canvas Engine (7): Basic Shadow Mapping - Memories of Melon PanThe first thing to do is to render the scene from the point of view of the light. We've got everything in the scene in world space already, but we'r…

Imitating the Canvas Engine (7): Basic Shadow Mapping

Previous Post:Imitating the Canvas Engine (6): Edge Rendering - Memories of Melon PanOkay... now for the hard part.If you look at the shadows in Valkyria Chronicles, they all have a penciled-in effect going on. By all appearances, shadows …

Imitating the Canvas Engine (6): Edge Rendering

Previous Post:Imitating the Canvas Engine (5): Basic Edge Detection - Memories of Melon PanNow, I've written a lot about detecting edges, and working with a texture that only contains the normal and depth information in the scene, so it's …

Imitating the Canvas Engine (5): Basic Edge Detection

Previous Post:Imitating the Canvas Engine (5): Basic Edge Detection - Memories of Melon PanThe edge detection algorithm I used is pretty basic. You could use any number of ways to make your edges, some more complex than others, but for sim…

Imitating the Canvas Engine (4): The Frame Effect

Previous Post:Imitating the Canvas Engine (3): The Canvas Effect - Memories of Melon PanNow that we've got what color the pixel's supposed to be, we can do the little uncolored border effect that Valkyria Chronicles uses. This brings us to…

Imitating the Canvas Engine (3): The Canvas Effect

Previous Post:Imitating the Canvas Engine (2): Normal Maps and Depth Blur - Memories of Melon PanNow we're at the point where we take the scene and make it look like it's been drawn in one of Welkin's sketchbooks. Honestly, I may have been…

Imitating the Canvas Engine (2): Normal Maps and Depth Blur

Previous Post:Imitating the Canvas Engine (1): Basic Shading Effects - Memories of Melon PanMy depth blurring algorithm is exceedingly simple, like a lot of the parts of my imitation canvas renderer. Some people might be more familiar with…

Imitating the Canvas Engine (1): Basic Shading Effects

Previous Post:Imitating the Canvas Engine (0): Overview - Memories of Melon PanNow I'm coming to realize, I already made a post about basic cel shading and how I used it.Giving Haku a little light - Memories of Melon PanThe version used in…

Imitating the Canvas Engine (0): Overview

I think I'm at the point where I can share what I've been doing over the past few months, amid figuring out how to convert models from MikuMikuDance to XNA and writing these posts.Yeah, that title is a pretty bold statement, so let me just…

Giving Haku a little light

Before I actually complete what I was doing before with the new Haku model, I decided to fit in lighting calculations to see what the model looked like if lighting was applied. It changes a few things.First, the model again without any lig…

Importing an MMD model into XNA

This has been a bit of a mystery for me for a while.Everyone knows MikuMikuDance, right? That program that people make Vocaloid and Idolm@ster dance routines with? You can convert all the PMD models that are made for it to other formats. X…

Purple screen of death

Anybody deal with viewports in XNA? Anybody ever try, for let's say split screen play, to render half the backbuffer in one rendering pass, and the other half in a second pass? Ever get a half screen of purple and a half screen of actual r…

The keyboard as a canvas

I've been kinda dragging my heels on some of my programming experiments, but I think I've finally got most of what I set out to accomplish this time.In a nutshell, I was able to take a 3D model, and put it in a scene...... and turn that sc…

When Hello World is one hundred lines long

So I thought I'd mess around a bit in Playstation Mobile to get familiar with it. I hit up some tutorials and stuff, and thought maybe I could program something really simple. Just a bunch of text on screen or something, like is standard. …

Zero wonders what these registers are for

Been a while since I last posted... and it's also been a while since I figured this out (i.e. a few weeks ago), but it makes for good posting, so I'll roll with it. We're going back to my forays in shader programming again, even if all I'm…

Highly Lazy Slacker Life (the series)

After being extremely lazy, I decided to get back into hobbyist programming. This time, I'm looking at shader programming, which is something I've always been interested in. Like last time, I'm in XNA, coding in C# and HLSL.So, it's not re…