If you want a thing done well, do it yourself. Part 3

So since my last post, I've done the following:

  •  Implemented
    • Swipe to Boost system
    • Simple HUD colours
    • Linear Dampening into the Movement system
  • Cleaned up the spaghetti code
  • Fixed the following bugs:
    • Double tap for break isn't not working correctly in all circumstances
    • Player can move while break is held
  • Decided to ignore for now:
    • Fixing the PC controls
    • The 1-2 second hitches (caused by garbage collection)
  • Discovered a bug with the way UE4 handles touch input.

Games development is inherently illogical.

If you hold down the virtual joystick on one area of the screen (Touch 1) and then begin tapping on the other side of the screen (Touch 2) infrequently the InputTouch Released event will trigger for both the Touch 1 and Touch 2 event.

This occurs even though Touch 1 is still held down, causing the virtual joystick I created to "cease functioning as intended" dev speak for break.

Logically, that print should never fire. "Logically"



Lets work through this, we get the InputTouch - Released event. This only triggers when we stop touching the screen with any one of our fingers, we then check to see if the finger that was released was Touch 1, if it was we then check to see if Touch 1 is still pressed down.

You can see that Touch 2 (Blue) occurs and as I physically release Touch 2. The game triggers a release on Touch 1 (Green), which triggers the illogical print to fire and then releases Touch 2.


Fortunately we can work around a bug once we know what the bug is, all we need to do is add an extra bool and check to see if Touch 1 is still held.

The mind boggles.



If you want a thing done well, do it yourself. Part 2

I've done it!


Retro Blast - V0.182 

What you're looking at is the first rudimentary implementation of my own virtual Joystick that not only imitates but improves upon the one that comes with the engine. 

  • Bugs
Double Tap isn't not working correctly. - Easy fix
You're able to hold break and move at the same time. -  Easy Fix.
This can potentially be expanded into a gameplay feature.
Hud doesn't scale to screen size - ???
I'm unsure how long this will take to fix. I can imagine the fix would involve plotting out the items using as percentages and then using the screen size to scale things into position correctly.

e.g. "Health:" is at 50% Y and 95% X - Screen size is 1280(w)x720(h). w*0.5 = Y Position h*0.95=X Position

  • Notes
    • I need to add the boost to the touch controls (After doing a quick playtest)
    • I have yet to test this on a cooked mobile build
    • The previous mobile cooked build has serious 1-3 second hitches
    • I need to clean up my spaghetti code into organized bite sized portions
    • I broke all the pc controls while getting touch to work....



If you want a thing done well, do it yourself.

I've gotten some player feedback that I should consolidate my controls.

  • Problem

I've been told that moving your thumbs up and down the screen to access these areas isn't appealing and I'll be honest I threw this together for a quick play test to see if these should be implemented as full features.

  • Current Implementation
(Red line draw over so it looks like I know what I'm doing)

 

These controls are "implemented" using the InputTouch action and a few bools.
 
This solution while quick has a few downsides.

1. InputTouch only fires once per press / movement
2. The location output will update to the next input location (e.g. 2nd finger)

Useful for quick "Screen buttons" like I have above especially as it functions while Epic's Virtual Joystick is working but not exactly intuitive and no granular customizability on my end.
 

  • Potential solutions


- Easy - Remove the break and boost from the game
- Hard - Integrate the break and boost into the my own custom virtual joystick
- Cop Out - Move the break to the other side of the screen and add on screen buttons

I obviously went for the hard solution because I had a cool idea.

  • Idea

If the player double taps and holds down their finger in the joystick dead zone (Red) then they will begin to break and if the player moves the joystick outside of the normal joystick navigation area (Blue) twice then they will boost.
I'll then complement these actions with the UI & Ship model changing colour to indicate these actions are going to occur.

  • Implementation

The next post I make will cover how I implemented the system.

 

Questions make you smarter

Hello and welcome to the emporium of imagination also know as the Retro Blast Dev blog.

The vessel to post questions about how to do things in UE4 (Unreal Engine 4) and then attempt to answer my own questions, because asking questions will make you smarter if you ask the right ones to the right people.

Anyway if you haven't noticed already I'm going to keep the language casual and the grammar incoherent.

  • What is Retro Blast?
 
Is the working title for what I've wanted for a while, a good mobile shmup.


I started working in Retro Blast around the start of 2016, with the intention of making a mobile shootem up that had the essence of two of my favourite games Capcom's U.N Squadron and Bizarre Creations (Now Lucid Games) Geometry wars.

Unfortunately I've kinda strayed off the track a little. I started with the twin stick shooter template and have slowly nurtured it allowing it to naturally evolve into what the game wants to be, following the "fun" where ever it appears.

  • Who's working on this?

Currently I'm working on all aspects the project by myself.

  • Game Synopsis 
 
You are a wo/man controlling a ship, inside of a much larger ship that is controlled by an AI.
That AI for some reason or another is now self aware and would you believe, it wants you dead.
 
  • What actually is Retro Blast? 

Ok, I'll be honest initially I just wanted a side scrolling shooter but then one thing led to another, I kept trying new things and kept adding things that would sound fun but also challenge my abilities in UE4 which would in turn force me to learn something to solve a problem.

Retro Blast in it's current state is a top down shooter with physics driven movement, it's somewhere in between asteroids and a really basic version of geometry wars.

I'm currently aiming for a rouge-like where the player has to escape an AI by navigating through levels and physics puzzles



Current feature list:


  • Physics Based inertial moment.
  • Limited Fuel and Ammo based resource system.
  • Difficulty based Ammo pickups.
  • Basic AI with gradual difficulty curve.
  • Android Support.
  • Two Tier damage system.
Future feature list:
  • Custom touch screen controls.
  • Play testing of 3 different resource systems.
  • 1 Prototype level that showcases Combat, Navigation and puzzle solving.
  • Reverse camera lag.
Currently working on:
Custom touch screen controls 

Retro Blast - V0.182