Skip to main content

Posts

Showing posts from 2014

Unreal Engine 4 Tutorial: Smooth Zoom using Mouse Wheel for Top Down Template

Well, I had already written a tutorial for implementing Smooth Zoom functionality for Top Down Template. But it was based on keyboard inputs. Since most Top Down PC games use mouse wheel for zoom, I decided to make a tutorial for the same. The core logic here is the same as the one implemented by Ryan Jon for the custom camera in his RTS Community Project. If anyone's interested, they can get the code for the RTS Community Project here:

UE4 RTS Community Project

Anyways, he has replaced the default camera for the characters with a general camera since that's more ideal for developing an RTS game. Since a basic Top Down game with a single playable character does not need a separate custom camera, I decided to implement the same functionality for the default player camera in UE4's Top Down Template. So let's get down to it.

First of all we need to make a custom curve from the content browser. We will be using this curve to define the smooth camera movement while zooming …

Unreal Engine 4 Dev Update #7: RTS Camera System for Top Down Turn-Based Games

In my previous dev updates, I had talked about how I implemented a grid based movement system in the Top Down template. Now that we got that out of the way, I decided to tackle the issue with the default camera system in the Top Down template. Since I needed the camera to smoothly move to focus on the active character, it was kind of troublesome to use the default cameras as they were each attached to their corresponding characters. So I got rid of them. And now I have a new RTS style camera in place of it. Now this allows me to smoothly move the focus between the cameras depending on the game state. I'll just give a brief overview of the features that I've implemented.

First of all, I created a separate blueprint for the new camera. At the most basic level, it needs to move freely anywhere along the map. So I mapped the WASD keys to move the camera along the forward/backward and lateral directions. I'll probably add mouse based movement as well in the near future. All the …

Unreal Engine 4 Dev Update #6: Character switching, Holographic Localized grids & Auto-Activation of UI

After I got my basic Command UI & grid based movement system working, I started implementing some changes to the UI as well as the functionality for allowing the player to switch between the playable characters of his party. Lately I've been doing some extra work on Level Design for a game as well as some personal side projects. So I kinda got caught up with all that & wasn't able to post any update over the last weekend. Now that we're back on track, let's move on to the new updates:

Switching between playable characters

Until recently, I had been mainly working on a single playable character, making sure that it's movement was restricted to a grid system. So I decided to implement that across multiple playable characters. For now, I've implemented a keyboard based switching between the party members. Later I'll add a mouse input based selection as well. I got it working by having player inputs mapped to allow possession of the different characters. …

Unreal Engine 4 Dev Update #5: HUD based Command UI, Grid based movement system & Dynamically Spawning Grids

Welcome back to the blog, it's time for another update. Starting with this post, I'll be posting only the details regarding the new development in the dev updates. I'll post tutorials for some of them as separate posts. I'm doing this since I don't have time to write the tutorials for each and every one of my updates. So I'll be making tutorials only for those topics which aren't available elsewhere. With that out of the way, let's get to this week's dev update. I'm already behind schedule by a few posts.

In my last update, I had written about how to implement keyboard input based camera rotation for Top Down games. You can find it here:

Unreal Engine 4 Dev Update #4: Camera Rotation for Top Down Games
Moving on to the updates, these are the main changes that I have made:
HUD based Command UI
Following my last update, I worked on implementing a basic HUD based Command UI. Since I hadn't worked on HUD Blueprints before, I looked into the HUD based…

Unreal Engine 4 Tutorial: 180 Degrees Camera Rotation in Top Down Template

In my previous update, I had explained how to implement a 360 degrees camera rotation system in the Top Down Template using the Blueprints. If you're interested, you can check it out here:

Unreal Engine 4 Dev Update #4: Camera Rotation for Top Down Games

Yesterday as part of an experiment, I decided to try a 180 degrees restricted camera rotation system for the same using Blueprints. Well, it turns out that implementing a 360 degrees rotation system is far easier than a 180 degrees system. The additional complexity for doing this with the Timeline nodes comes from the fact that we can't do a loop in this case. As a result the starting position in the Timeline track will be a -90 degrees, while the rotation angle of the camera at level start should be 0 degree. So that makes it necessary to add a few more nodes to make sure that Timeline track starts for the first time at a rotation angle value of zero degree. I'm not sure if this is the most efficient way to do it in Unrea…

Unreal Engine 4 Dev Update #4: Camera Rotation for Top Down Games

Hi everyone, welcome back for my next dev update, I had explained the process of implementing a Smooth Zoom functionality for the Top Down Template in Unreal Engine 4 Marketplace. If you want to check it out, you can find it here:

Unreal Engine 4 Dev Update #3: Smooth Zoom Functionality for Top Down Template

This time around, I'm going to explain how I implemented Camera Rotation for a Top Down Game in UE4. I've been meaning to make this one for quite some time, since I had received a few requests from my Youtube Video for the same. Since my motherboard and RAM got fried a few weeks ago, I was unable to do any work in UE4 for the past 3-4 weeks. I've ditched my old PC in the process and assembled a new one. So instead of waiting till the weekend to write all the remaining dev updates, I thought I'll get this one done with today itself. Alright, Camera Rotation is a fairly simple process. Basically I just use a Timeline node that keeps looping after a key value of 360 d…

Unreal Engine 4 Dev Update #3: Smooth Zoom Functionality for Top Down Template

In my first UE4 dev update, I had written about adding a basic Zoom functionality for the Top Down template in UE4 using Blueprints. But as I had mentioned back then, I had implemented a step-by-step zoom system. You could only zoom in discrete steps depending on how many times the input button was clicked. Well that might be useful in certain cases, but I wanted to add a Smooth Zoom functionality to my game. So I went about making some changes to the earlier Blueprint. Most of the stuff remains the same, so changing to this newer version will hardly take a couple of minutes. As a result, I won't be writing much about the stuff that I had already explained in the first post. For reference, you can find it here:

Unreal Engine 4 Dev Update #1: Zoom Functionality for Top Down Template

Moving on, let's get to the topic at hand.

So basically, in my earlier post, I had made changes of 100 units to the 'Target Arm Length' of the player character's 'Spring Arm' comp…

Unreal Engine 4 Dev Update #2: Basic Projectile System for Top Down Template

Alright, time for another update. In my previous post, I briefly discussed the system that went into adding a basic Zoom functionality to the Top Down Template in Unreal Engine 4. You can find it here: Unreal Engine 4 Dev Update #1: Zoom Functionality for Top Down Template. Moving onto the matter at hand, I've also added a Blueprint-based basic Projectile system to the template. Again a fairly simple task for beginners. 

First of all, I made a new projectile Blueprint from the 'New Blueprint' menu. Then I added a static mesh component inside it. I added collision for the mesh from the static mesh menu, but that's not necessary. So basically we have the projectile ready by now.

After that, I created a 'Fire Projectile' function inside my player character blueprint. I call this function when player presses the button for firing projectiles. Here's a screenshot of the function.


This function spawns the projectile in front of the player. Since the projectile alrea…

Unreal Engine 4 Dev Update #1: Zoom Functionality for Top Down Template

I've been meaning to put this post for quite some time. As mentioned in my previous post At the Crossroads, I've started working on Unreal Engine 4. On the side, I've also uploaded some videos of the stuff that I've been doing with the engine. Over here, in the blog, I plan to briefly describe the process for the same. So here goes the first update.

I started working on the default Top Down Blueprint template that came with the Unreal Engine. It basically contains a Top Down game template with the default blue player character and a camera adjusted so as to give it an isometric view. There's a basic level built using some BSP brushes and you can move the player around. That's all the functionality that comes with it by default. So first thing, I decided to add a basic Zoom functionality. Since I was more interested in Blueprints, I went through a few tutorials on it and then dived right into action. After tinkering around the engine for a while, I got a basic …

Random Sketches

Just a collection of my recent sketches. They were all sketched with pencil/pen and later edited digitally to add highlights/motion blur etc.

Raptor Strike Suit from Strike Suit Infinity

Kid Gohan from DBZ

Goku from DBZ

How to export models from Blender to Skyrim

About a few days back, I decided to try out Skyrim's Creation Kit during my free time. I had bought Skyrim during last year's Steam Winter Sales. Back then, I played it for a while, but never got to finish the game. I think I hit up the Creation Kit a couple of times, but didn't go ahead since I knew nothing about it. And it looked vastly different from UDK. So this time, I checked out a few tutorials in youtube before diving into Creation Kit. For starters, I checked out the tutorial series by BestinSlot. It covered the basics required for making your own mod with custom quests, dungeons, etc. And he does a good job of explaining how to start working with the Creation Kit. You can find the playlist over here: 

https://www.youtube.com/playlist?list=PLE3E7CC13B95E5AB6

I did not go through all of those tutorials. Just the areas that I wanted to focus on for now. And then I started looking for tutorials on how to export my Blender models into Skyrim. Surprisingly, in spite of h…

Experiments with Textures - Part II

Well this is a continuation of my last post. By the end of my last post, I had managed to bake a normal map, a height map and an A.O. map. I intend to use that normal map in UDK's material editor. As for the A.O. map, UDK already has it's own ambient occlusion scene going on. So I decided to take my A.O. map and merge it with my original diffuse map in GIMP. Currently I'm using DirectX 9 to render the game, and so that means I do not have access to the Tessellation features in DirectX 11 version. I'm doing this for two reasons. One is that seams in UV mesh tend to tear up the mesh when Tessellation is enabled. The second is the performance drop it would cause for the small increase in the detail of my meshes. A height map will also have to be added thus increasing the memory footprint. I might enable Tessellation later on for Landscape objects and objects like rocks which actually benefit a lot from displacement maps and Tessellation. In that case I could probably hide…

Experiments with Textures - Part I

As mentioned in my previous post, the development on my game is going through an almost complete overhaul. Everything from textures to models are getting changed or optimized. However the level layout remains pretty much the same for now. Moreover I've taken a liking to the 3rd person view, so I'll most probably end up using that as the default view in the game. I feel that it kind of gives a better sense of the scale of the level. I may add an optional 1st person view later on.

Anyways my initial search for a new texture for the walls from some of the popular free texture sites ended up in vain, as I didn't get anything satisfactory. But somehow after almost a day of searching, I ended up in deviant art. And there I found the perfect texture in the gallery of the user AGF81. It was a seamless texture and had a pretty good variation in the size of bricks. Plus it came in a power of two resolution, which means I didn't have to do any cropping or resizing in order to impo…