A Velociradish Devlog – Week 10

Velociradish Production

This week, there has been continued polish added to the character, including the addition of sound effects to the punches, as well as particles to really emphasise the action throughout the game.

While we had someone compiling some sound effects, I decided to also chip in at that end in order to ensure that each animation to accommodated for. Thus I gathered most of the combat sound effects, as well as some for the title sequence. From the background music to the menu, everything is now connected to a sound, while punching enemies has a satisfying crunch to it.

As was discussed last week, I did manage to get those punch swing arcs into the game. By simply spawning the particles on top of the character, and aligning them by eye, I managed to achieve what I wanted, in comparison to trying to dynamically spawn them and trace the arm. It’s a bit of a quick fix, but it does the job – see the effect for yourself below. A fairly convincing punching arc, in my opinion.

I also managed to add a small comet-like effect to the last punch to emphasise it as the finisher of the combo.

4X Combo.gif

The combo text effect has also made its way back in, after the transition to the new character. Now it spawns with finished combos again!

PunchingCombo.gif

…Probably needs a second pass for the alpha.

I also made sure to add dollar signs to the score in order to better contextualise it in accordance with the theme. It fits the game much better than simply as arbitrary points. For further insanity, the amount of money has also been multiplied by a hundred or so in order to really exaggerate the big-budget feel of the film. I ended up spending a bit of time making a combo counter animation, to better emphasise the impact of the player’s combos:

ComboCount

The win screen of the game was further polished, with bugs having been ironed out. Now the proper sounds and animations play in time, and the player can press a key to return to the main menu. After the programmers exposed some variables for me, I also decided to add a Highest Combo statistic, to create some interesting feedback on the player’s performance.

WinScreen

I also realised that the way I had implemented the MainMenu was causing major problems to the framerate. As I used the 2D Scene capture camera as a workaround for the fact that I simply did not know how to properly draw a UMG widget, I was forced to do a last-minute reworking. With the power of hindsight, I was anow able to much better understand what I needed to do to fix the problem, as well as have better debugging ability.

I also came up with what I considered to be a rather ingenious way of solving a problem – as the 2DScene Camera was attempting to render every single frame as an image, it was consuming incredible amounts of memory. It became apparent that I needed to replace the camera. To make things more problematic, the camera was animated using a matinee, and I knew of no way to copy the original camera’s translation to a new, ordinary camera without having to redo it by hand. After a few attempts it just became too much of a tedious task, so I decided to simply disable the 2DScne Camera and parent it to the new one! This way, the new camera could essentially piggyback the old one, allowing for exact timing and placing in the animation. It also meant that I had to figure out how to place an upossessed model of the character in the scene in order for the map to properly function like a menu. Never have I been so proud to have something look exactly the same as it did before:

TitleScreen.JPG

While not ideal to have to run into such a problem so close to the deadline, it was a good learning experience for me in advancing my understanding of the engine, and in logic. Compared to what I knew at the beginning of the semester, my grasp on my scripting logic is already significantly better. Hopefully I will be able to further relieve pressure off the team’s programmers in the coming months.

There was an overall tweaking of HUD elements throughout as well, including some slight visual and audio cues to better inform the player about the game’s Coolness Meter. This also involves tints to the ScoreCounter in an attempt to quickly create that association between Coolness and the Score. A small sound cue is also used to tell the player that entering a high Coolness meter bears some meaning.

A lot of fixes and learnings this week – I hope my hard work has paid off in adding to the feel of the game through visual effects, sound effects and UI!e

A Velociradish Devlog – Week 9

Velociradish Production

This week involved a lot of polishing and final touches to our vertical slice. This included creating the menu screens, making the HUD functions work, as well as setting up more feedback and particle effects.

Firstly, I needed to make the HUD a bit more presentable. Now that the character was textured and ready to go, I added the new portrait to the HUD. The bullet counter is now working and ready to go as well. While not finalised, it’s still a step in the right direction. The next step is to make it match the theme we are going for:

NewCoolnessv2.png

I also took a picture of an item from the game and made it into a quick icon. Needs some further work, for sure:

Icon_Camera

Setting up the main menu and pause menus were probably the biggest hurdle for me this week. To make the most of the props and the level  that we had assembled in the game, I added a scene capture camera, so that the picturesque view that we have of the scene will also double as the main menu!  Here it is during the initial set up phase of this system. You can see how I had set up an additional camera to act as the scene capture camera. I was able to set up a view that draws directly on the screen, creating a kind of real-time main menu.

scenecapture2D.PNG

After asking a teammate to dress up the scene a bit more, this is what we ended up with:

MainMenu.gif

Using Unreal BluePrints, I also managed to have the controller work with all of the buttons in the game. Sounds trivial, but it is definitely one of those things that will be noticed when it’s not there. I can also say that I learnt a lot from forcing myself to sit and figure out how to make all of this work without asking for help from a programmer. And doing the small programming tasks to take some burden off the programmers is exactly what I am striving to do.

After unsuccessfully trying to get some particle effects working on the character’s punching by using Unreal’s AnimTrails effects, I decided to just re-use some existing assets (such as those below) to create a similar result anyway. It’s at these points that you ask yourself why you hadn’t thought it doing it a long time ago. Instead of tracing the arc of the palyer’s punch (which was ideal), it just didn’t look right – so even if I must spawn an existing arc and orient it by hand, it’ll do:

slashmesh.PNGSlashMask.PNG

 

 

 

 

 

There was also a bit of tweaking to the HUD animation. Here’s the final clapper entry animation:

Clapperv2.gif

I also developed a win screen for the game. This involves a ranking system in which the player’s score is divided by S, A, B, C and D, dependent on their performance throughout the level. It also requires a fair amount of balancing until the levels become something really special. This took a bit of time, as well as getting each piece of text to animate the way I wanted it to. I also found some neat gunshot noises which I felt work quite well to emphasise each score that shows up in sequence:

I also began the process of adding the necessary sound cues into the engine, beginning with some menu sounds. We’re still missing a lot of the cues for many things – so that is an important aspect that needs to be addressed! From here on, everything should be all about setting up the rest of the game polish, whether it’s animation, sound effects or visual feedback. Still a lot of things to add to as well, including things which are still not working completely:

  • The combo counter – managed to get the combo counter working, though it seems to have some animation hiccups right now.
  • Animation fluidity – such as trying to make the getting enemy animation work when the character needs to get back up
  • Sounds
  • Sounds
  • So many sounds!

Save

A Velociradish Devlog – Week 8

Velociradish Production

This week was spent on the little fixes – getting in the remainder of the HUD elements, including finalising the game’s Coolness Meter, as well as a score counter to contextualise the score a little bit.

A great deal of the week was also used in trying to connect and debug the character animations, which will be of great importance to the presentation of the game. Dealing with the animation montages, and ensuring that animations were being called and blended properly, required a large amount of collaboration with the programmers, as I needed to understand how each callable action was in fact referred to, and whereabouts in the overall scheme of the project. In addition, a lot of gameplay tweaks in the enemy spawning placement needed to be done.

I also managed to texture a clapper for the intro animation as seen from last week, this time creating an interesting chalk effect on the board. I also hope to smooth out the animation to create a really interesting transition animation from the main menu and the level screen.

An important piece of advice that was offered was to begin packaging the project for delivery – while two weeks does indeed sound like a lot of time to simply have a vertical slice ready to ship, it’s always smart to get started sooner than later. After tallying up some of the must-have features which we are lacking , some rather important things began to show, such as:

  • The entire set of sound effects that need to be done
  • A logo
  • A win screen
  • HUD feedback in response to the combat
  • Reconnecting the particle effects that were lost when replacing the main character mesh.
  • A gameplay video
  • Finalising the main menu

It does seem to feel that there is a considerable chokepoint through which a lot of the work is probably going to rely on me. Here’s hoping this next week goes well!

 

A Velociradish Devlog – Week 7

Velociradish Production

Now that things are starting to come together, we are working on further contextualising the theme and making the game a cohesive experience. I started the week by finishing off some dizziness particles, which would hover over a character’s head to indicate when it the player stunned or dizzied. Implementing it has been a whole new issue, however, as it was not a simple matter of attaching it to the player. Current attempts to do so have resulted the player leaving behind a trail of stars in their wake, so more experimentation is required.

Suggested solutions have been to simply make star-shaped meshes and append them to the model itself, so that may be the best way to go for now!

P_Dizziness.gif

The first pass on the HUD has also been completed, with a first look at the proposed Coolness Meter. This meter acts as a performance meter for the player, and therefore their health. In order to maintain a successful film shoot, the player must continue to perform well and avoid harm. While somewhat functional, the meter still needs some revision both in its design and its placement. We found that it is better placed in the corner of the screen rather than the centre as originally intended, and I will need to make it asymmetrical to reflect that. There also seems to be some serious issues in communicating the link between the player’s performance and the meter.

UINew.PNG

Many playtesters were also asking about the theme of the game, and it became clear that we need to establish it more in the game’s opening scenes. In order to better contextualise the filmmaking theme of the game, I decided to simulate the film clapper that typically initiates the beginning of a take. In a similar manner, the clapper is used to indicate the start of the level, as well as its name.

Clapper

I even set up an animation as a way to show this off even more!Clapper

We also wanted some throwable items in the game which change state depending on their damage. For starters I made some garbage bins in order to give this a test:

With only three weeks remaining, we need to do whatever we can to ensure that the feel of the game is apparent to a player as soon as they pick up the controller!

 

A Velociradish Devlog – Week 6

Velociradish Production

Week 6 for me has further involved making the numerous micro design decisions that make up the game loop, and otherwise facilitating that they get addressed. This has ranged from making simple meshes to fix gaps, rearranging the map as needed, and tweaking the HUD.

With less than one month left to go in our development, it became glaringly obvious how far behind schedule we really were, and so an evaluation of our time was in order. I made an inventory and assessment of our progress so far, logging exactly what is needs to be done in order to reach our deadlines. This has involved cutbacks to scope and features as necessary – it’s always better to address them sooner than later. I’ve gone so far as to take this chart and stick it to the wall, as we can’t afford to lose track of time with so little time remaining.

As for particles, I continued to work on the most immediate forms of feedback that are required for our game loop, in an attempt to address ways that we’d need to communicate the game’s features to the player. For example, how do you know when an enemy is about to fire at you? How do you know when your supermove is charging? How do you know when you’ve successfully negated a projectile flying at you?

There are so many things that can be overlooked, that I invested at least a week’s worth of time in learning to work Unreal’s Cascade particle system.

Left: A reticle that will appear over an enemy’s head; Right: A charging aura that will circle the player.

In less than a week, the difference in complexity and skill is already beginning to show in my particle effects. Compare the two particle effects for the same feature below – both are attempts to indicate when two bullets have collided with each other in midair. I really wanted to really emphasise the clash between the two, and give it a ‘wow’ factor that would encourage players to pull it off as often as they can. I guarantee that the difference in skill is already noticeable:

Left: My first attempt at bullets collding; Right: My second attempt, which I think looks miles more exciting than the first.

Overall I think I will be able to bring some really exciting visual effects to the project by the end of the year, especially as I gain a better grasp of Unreal’s Cascade. I also hope to study up on 2D animation principles and apply them towards creating some really interesting hand-drawn effects!

A Velociradish Devlog – Week 5

Velociradish Production

For the fifth week of our development, there have been some major developments in the game’s direction. Before we get to that, I’ve been continuing to work on these particles, including some text effects to really emphasise when the player has pulled off a really cool stunt:

Rather than implementing a font material system, I decided that adding low-res textures for the text would be the quickest, if not dirtiest method of getting something into the engine.

As you can see from the grid above, I also got a hang of the SubUV function in order to maximise texture space when we need to generate a range of words. Hopefully this would lessen the impact that loading textures would make on the game’s performance.

While I ended up with rather basic results for the game’s particle systems, I’ve felt that it’s definitely been important to at least get some kind of feedback into the game, before getting caught up in trying to polish things. Iterating on the project, especially this early into development, is the surest and safest way to progress.

Besides particles, my role as usual has also been in maintaining the team’s logistical side of work. While it may not look like much in screenshots, I also continue to work on some of the more-overlooked aspects of the game’s production, including scheduling and documentation (I could take screenshots, but they would make for some pretty boring pictures!).

In addition, I worked in ensuring that we finally decided on a direction for the game – a huge step considering we are a month into development! From here, production should only go smoother.

A Velociradish Devlog – Week 4

Velociradish Production

Now that the greyboxing of our environment is all done, it’s now time to move on and get some other utilities up and running!

HighresScreenshot00000.png

Our greyboxed environment is finally looking like a level.

Time is pressing, and so we need to get progress done on the more urgent aspects of the game such as the HUD, and better reflect our idea of being in a film performance. The important things to do in order to overhaul this HUD will involve taking aesthetic cue from film tropes. I also want to throw a clapper in there somewhere, because nothing says ‘film set’ like an old-fashioned clapper.

HUDUI.PNG

The HUD is getting there, but there’s still work to be done!

Pushing even further in to the concept of film production, we’ve chosen to restructure the health system in a way that better distinguishes the game from its traditional beat-em-up roots. Instead of a health bar, the game name functions using a Coolness meter. Akin to games such as Tony Hawk’s pro skater, the goal is now to pull off as many cool stunts as possible.

While keeping an eye on as much high-level gameplay mechanics as I could, I also felt that this kind of game would need as much feedback as possible. If anything, the over-the-top nature of the game demanded as many over-the-top effects to keep up. Since I hadn’t touched Unreal’s Cascade system in a while, I needed to do some research…

InfinityBlade_ExampleSlash.gif

A particle effect from the 2011 iOS game Infinity Blade

… And for research I referred to the effects of Unreal Engine 4 game Infinity Blade! Once I had reverse-engineered and examined the underlying principles of these particle effects, things started to get on a roll! I started by attempting to replicate the above effect.

A particle effect in action within our scene so far, with WIP assets for the time being.

Then I just got carried away:

I was perhaps having a bit too much fun on these particle effects, adding things from stars, popup text and splashes. I wanted to make sure that the player has overkill feedback to really emphasise each punch, shot and combo.

I also made a point of asking outside sources for their opinion on our controls and overall gameplay, as nailing the second-to-second action is the most important aspect of our game. In this project, nothing should be more important for the player right now than feeling like that action hero who can effortlessly and stylishly defeat rooms full of thugs.

A Velociradish Devlog – Vertical Slice Week 3

Velociradish Production

This week was mostly working on environment props in which to populate the environment,

I’ve been modelling some reusable stall assets, with which we can tile and repeat easily and efficiently. Being able to mitigate and squeeze the most out of textures sizes is taking priority over the poly count for this project, so working on an interesting silhouette and reuse as much texture as possible is the focus.

stallsCap

An early style test for market stalls. We found out it looked too ordinary from a distance…

As we added our assets into the engine, it became evident that a lot of the environment props and animation still looked far too ordinary, and thus further exaggeration was required. To push our theme further into the increasingly cartoon aesthetic, we needed to make every shape much more short, squat, and rounder. I also preferred to add some curves to the shapes, as I wanted to avoid straight lines as much as possible.

Pasted image at 2016_05_10 05_30 PM

… So some stylistic overhauling was required.

It’s been a while since I’ve attempted to create an environment, so I am finding myself a bit rusty in my practices and habits. Keeping factors in mind such as sharing UV space, as well as tiling textures is causing me to work a bit slower than I expect to, but overall it’s been great to finally have a larger role in asset creation.

Matching style is also a potential issue, as my fellow environment artist specialises in a particularly realistic style, whereas I prefer to abstract and simplify shapes and forms. Constant cross-referencing and consulting seems to be the most consistent way of solving this.

Next we’ll see the props in-engine and just about ready to go!

 

A Velociradish Devlog – Vertical Slice Week 2

Velociradish Production

This past week I have been working on trying to get the game’s planning up to scratch. I have been especially interested in coming up with workflow solutions in order to help us prioritise, as we often do have problems with meeting the necessary deadlines.

As we have more time than ever before to plan our time, I made sure to spend an entire day of scheduling, so that we make the most of every day as we possibly can. This included recording an asset list, where we listed as many assets and features that we could think of at this point in time. I also had us agree on particular deadlines and milestones that we need to meet throughout the course of the project. This kind of planning becomes increasingly important when the milestones and deadlines reach longer than two weeks, as it is incredibly easy to end up working on minutiae that doesn’t need to be worked on!

Next I also wanted to implement an actual Kanban board in the room – something physical which we can look at every day. It became increasingly apparent that a spreadsheet wasn’t cutting it, as no one was actually referring to it in order to find out what to do. The I set up colour-coded Kanban cards organised, emphasising the sprints we had already set up in Hansoft so that our deadlines and goals for the week are understood.

kanban window.JPG

My own tasks this week have included some greyboxing and planning of levels throughout the game. This also allows us better quantify the amounts of assets we would need to make, and how to tackle each of them. Identifying what can and needs to be built, as well as determining our priorities early, make the overall task seem more possible than otherwise.

The project is also looking like it will become a rather animation-heavy game, and it became rather difficult to discern the multiple states that the character is in at each point in time. As a result, for visual feedback purposes while we test the game, I made some quick, hilariously bad placeholder animations. They’re here just so that we know when the player is on the ground, attacking, or is defeated, and until our final character is rigged and ready to animate:

 

 

 

 

A Velociradish Devlog – Getting Vertical Slice-y with Prototower

Velociradish Production

My main priority has been working on getting core gameplay in, even if it means making small decisions in order to get the project moving forward. Incessant discussion about the most menial design decisions often hurts our progress, especially when a decision can’t be made at all. Most of the time we just need a starting point before moving from there.

As a consequence of trying to micromanage our workflow, I end up limiting my own tangible output, with tasks boiling down to the fairly simplistic. While not artistically challenging so far, I feel these are often the small features that you don’t notice until they’re not there. As these are often something that we as a team tend to overlook, I considered it a part of the game’s infrastructure that we should spend time setting up, if not in a rudimentary manner. I’m currently more interested in learning blueprints and engine functionality at this point, so I’m willing to put aside some art in order to get this done.

With some placeholder images (if only we could make a Hot Fuzz game), I went ahead and came up with some simple menu functionality to alleviate some pressure off the programmers.

devpic2

Warning: Hot Fuzz may or may not exist in the game.

Setting up the game’s HUD itself was a little more involved, as the prototype initially functioned with a healthbars that hovered above the player. As some of our project has been built with C++, it takes a little more effort to actually set them up to work with blueprints. On the bright side, I did manage to successfully set it up without any major trouble, though I’m not sure that’s because I’ve actually learnt more, or because some of it was set up from the previous time. Either way, I seem to have a better grasp on handling UI throughout this project, and at the rate of oddjobs taking on, I will likely end up taking on some visual effects as well. Only time will tell.

devpic1

Setting up the HUD had to be made from scratch due to the initial concept not having one in the first place!

Stay tuned for next time!