Senior Production

Prototyping

Senior Production

Post III


This week marked the end of an era, and the beginning of a new one. At the end of the week, moving into the early parts of the weekend, I reached a point in the tutorial I was following where I no longer needed to continue. Not because I had finished it (far from it, lots of cool polish related features were remaining), but I got to see enough of the engine and how to do things that I could leave the nest and fly on my own. Towards the later part of the weekend, during my untimely catching of a really nasty sickness and some of monday, I managed to scrunge together most of a prototype for one of our games, Balls Balls Revolution (BBR will be used from now on so I don’t have to keep typing it).

I mentioned BBR in my first blog post where I talked about some of our brainstorming ideas. If you want to go back and read it, the link is here: http://vincentloignon.com/blog/brainstorm/. If not, that’s fine, because i’m actually going to talk about it a bunch in this post and you can probably figure it out. I suppose this now makes “What did I get done?” the all important question. The short answer is a lot of important systems, but from the outside, it looks like a whole lot of nothing. Lets take a look at it a bit more in-depth to witness some of the neat things I got up and running.

 

3D

BBR1

 

2D

BBR2

 

This is a graphic representation of some of the things that have been achieved. Now, It is important to note that you can’t see roughly 95% of the work I did from this, but lets break it down and see the insides.

The first thing to look at is the environment. The player (gold orb) is on a platform (the ugly grey thing). The camera is static and doesn’t move and in the 3D space, it is angled slightly so you can see ahead (hence the perspective warping on the ground). The player can move around the platform, but is blocked by invisible barriers I have placed so they cannot falloff and so they can only move so far up the platform (like most bullet hells tend to do). The player is also able to Dimension Hop between 2D and 3D. However, 2D is currently incomplete visually.

We also have another important system which is shooting. In fact, the shooting system has been built in a way is very easy to extend and create all sorts of bullet spreads and projectile types. These will be very important for building a bullet hell. Now, I tried to make a video to show this off because that would be the easiest way to do that. The biggest problem was that I kept coughing due to my recent sickness and my mic has horrible static, so i’ve opted for a picture heavy post this time. I am looking towards fixing my mic problem for the future so that I might be able to show some of these things in video form. I will explain it all first then just put all of the images in a gallery of sorts to look through should you wish to.

  1. The first step is to create your bullet spread. You can create a blueprint class and extend a class i’ve created in code called Bullet Spread. What this class does is when told to fire a projectile, it will search all of its sub-components and find all of the Arrow Components. These represent where to spawn the projectile and how to orient it in 3D space. It then creates a projectile of the type specified for each arrow. This means it is easy to create bullet spreads because its all visual in the editor and the system just handles everything else.
  2. The second step is to create your projectile. The projectile is slightly more complex, but is also very simple. You create a blueprint class, extending yet another class i’ve created in code called Projectile (big surprise). This class contains a mesh component, sphere collision component, and projectile movement component. The collision is separate from the mesh on purpose so you can customize them separately. The process is fairly simple, you import a mesh into the mesh component, tweak it as needed (materials and other settings). You can adjust your sphere collider to fit within your mesh as best you can or what will make sense in a game context. You then adjust the movement to work in the fashion you want. In my example, I turned off gravity, gave it a slight Y velocity (so it fires at a 45 degree angle to the arrow component) and give it a velocity. The nice thing is that you can also add other components and customize it to your liking and the base systems will still work.
  3. Lastly you go into the player’s blueprint and change which spread and projectile to use, in this case the ones you just created. Also make sure that you compiled everything before running! You can now run it and see your cool new spread and projectile in game!
  4. Profit!

 

[tribulant_slideshow gallery_id=”2″]

 

This brings my post for this week to an end, but there will be more in the coming weeks as I detail the progression of capstone from my eyes. Just keep in mind things I talk about may vary between things I’ve done and things my team has done.

TL;DR:

  • Finished Tutorial
  • Started BBR prototype
    • Dimension Hopping!
    • Bullet Spreads & Projectiles!
    • You can make your own bullet spreads and projectiles easily!

Learning Curve

Senior Production

Post II


 

This week has been interesting in the world of unreal. The first step I needed to take moving forward with my team and our choice of using Unreal Engine 4 for our games is to learn it. Having never used it before (besides some basic tinkering previously), it was a daunting task. It still is to be frank. I knew there was going to be another learning curve, one that is a little more menacing than the one I usually need to deal with. Nevertheless, i’ve been pushing forward at a slow and steady pace, quickly gaining momentum.

Most of my hours outside of our weekly meeting schedule have been focused on using a tutorial to help guide me through some basics before I spread my wings and fly through uncharted skies. The tutorial series can be found on youtube (here) and is provided by Epic (go them!). While it does a few things i’m not particularly found of such as blue prints to do code, i’ve taken it as an extra challenge to figure out how I might setup things to do the same task but purely in C++. A bit more complicated at first when I didn’t have a clue what I was doing, but this has proved to be a very helpful challenge and continues to push me forward at an ever increasing rate.

My progress so far has been minimal though. It’s to be expected and as a result, this post will be short, but at the very least, there has been progress. Speaking of progress, it wouldn’t be official without a screenshot to go with it!

TwinStickTutorial1

The player can move and turn their character using either a controller or the keyboard. The enemy has very very very very basic AI which just follows the player and their classes are setup for the next part which involves some shooting and killing. Looking forward, I am anxious to get through the important parts of this tutorial so I can start looking towards the creation of our game’s prototype.

TL;DR

  • Twin Stick Shooter Tutorial
  • Some progress learning UE4 (slow but steady)
  • Can’t wait to program Balls Balls Revolution

Brainstorm

Senior Production

Post I


One of the integral parts of my Capstone class is working with a team to create a game. Assuming we decide to challenge enough stages and make it through the cut this winter, this will become a 2 semester long project. This blog, beginning with this post, will try to elaborate on some of the things we will be working on, my thoughts on various things and just the process of making our game. In the future, it is likely I will be posting content such as images, videos or perhaps some code but for this first post, it will lie mainly in the realm of text. There is a TL;DR at the bottom for those who prefer it.

Like everything, this game will have to start somewhere and the first place for us to begin is with the ideas we have brainstormed. The class requires us to have at least 20 ideas (they don’t need to be thought out) and the idea behind this is to get us thinking and to explore our options before settling. I don’t have intentions of posting this list here, but I would like to talk about a few of the more notable ones and my thoughts on it.

The first thing we talked about and the thing we were originally excited for was a Tower Defense. Having talked briefly over the summer with my team, we knew our interests lay in a more strategy oriented game. We started brainstorming with a tower defense game and ended with 3 different takes on it. While we could theoretically take any of these aspects and apply it to each of the other ideas (or even merge it all into one game), they are fundamentally different. The idea I brought up was a casual competitive take on the traditional gameplay by turning it into a game that two players play against each other. Players would be playing in a round based system (where actions such as building towers could only be down between rounds) and the object was to get as many of your troops through the enemy defenses. Other mechanics such as abilities, wave organization and more would be in place to allow each player control over the process. Victory was also determined by who won the most rounds rather than who was last standing. This meant that each round could be wildly different since each round was like having a fresh start. Other interesting mechanics brought up by the other 2 variations were the use of environment (such as weather) to affect gameplay and a blend of 2D and 3D mechanics that would make it a battle in both a 2 dimensional and 3 dimensional plane at the same time.

Moving forward a bit, we also had an idea for a dungeon crawler. This also had slight variations, but the basic idea was the same. It was intended as a couch co-op game with multiple players playing together and working together to get through a dungeon of monsters. One of the ideas focused around having roles and the use of teamwork to survive while another focused around two or more players controlling a singular character. Either way, it was sure to be an interesting idea to see to fruition.

Since our session was open to any idea, one of the things that was brought up was a horror game. Now, I’m not usually a fan of this genre, but some of the ideas being thrown around really got me thinking. The biggest of these ideas was the use of sound to help the user find their way around a dark space. This as well as using light as a mechanic for gameplay (such as a monster which only moves in the shadows) would make for a really interesting game. We have come back several times to this idea since the initial brainstorming and the more we talk about it, the more interesting and appealing this idea becomes. I am, however, slightly concerned about the scope of this idea so this will need to be something we tackle early should we move forward with it.

One of the more innovative ideas we came up with was intended to use a peripheral (such as a phone) as the main controller for the game. The idea which sticks out the most is a Cooking Simulator. Rather than abstracting the process of cooking into little minigames like a lot of other cooking games have down, this was intended to be a simulation of cooking. The game would use the phone as a means of navigating the work stations and selecting tools. The hardware on the phone (such as accelerometer and gyroscope) would be used as input for the game which interpret the action based on the context. This game is also ambitious in a different way because the point was to get the user to create a dish and they would be rated on how they did. An example could be making a steak dinner and they would have to tenderize the meat, season it, cook it on the stove or BBQ to the desired temperature and prepare vegetables and other sides with it. Everything you would do in real life to prepare a meal would have to be done in the game. This game has a lot of potential walls to climb over should it go forward, but it is definitely something that would be fun to see to completion.

The last idea I will talk about is one that kind of sprung up out of the blue. Typically, our ideas would be a genre or a specific take on a genre (such as Cooking Sim or 2D/3D Tower Defense), but this one started off as a bad joke. We initially put up the words “Balls Revolution” with no idea what it actually would be. One can only assume we meant a ball rolling game, a classic amongst champlain game students. We later jokingly changed the name to Balls Balls Revolution as a playful stab at Dance Dance Revolution and how it is redundant in its name. But when I posed a question to my team asking what we think this game would be, a great idea was formed. On our list of ideas, we had bullet hell listed. This was meant to signify that we could make a generic bullet hell game. Then someone brought up the idea of combining the 2D/3D mix we liked from the tower defense idea and putting it in the bullet hell game. This would mean you would play in either a 2D or 3D space and that everything you did in either dimension would have an equivalent in the other dimension. So for example, fighting a boss in 3D could have a part which is impossible in that dimension, so you would swap to 2D mid fight and fight the equivalent boss at that particular time frame and this would be a important mechanic in the game. Lastly, we tried to figure out how to tie this idea to the name. One of us had the idea of putting a ball game spin to it where the player is a spherical object (perhaps a ship or something of the sort) that was fighting a race of sided objects. Perhaps even the number of sides on the enemy could signify its difficulty. This in particular is my favorite and I would love to see this through to completion.

Looking forward, i’m sure this will be an interesting semester and I have high hopes and aspirations for what my team and I can accomplish together.

 

TL;DR:

  • We brainstormed ideas
    • Tower Defenses! (Maybe 2D/3D twist on it?)
    • Co-Op Dungeon Crawler
    • Horror game
    • Cooking Sim 2015
    • Balls Balls Revolution
  • I like Balls Balls Revolution the most