Earth Defence Fighter Worklog update

Discussion in 'Game Development' started by andymc, Nov 10, 2017.

  1. andymc

    andymc Well-Known Member Licensed User

    Good afternoon. It’s a chilly November day here in Cambridge and I thought I’d write a quick update on how things are going with my current game project “Earth Defence Fighter”

    I’ve posted a quick gameplay video below showing the current state of the game.



    After the success of my last games, I’ve decided to keep a worklog for the development of this game, I thought it might be interesting for other game developers to read, and maybe even build up some hype for my amazing space shooter game!

    Current source code state: 1582 lines, 13 custom types, 83 media files

    I’ve just implemented the basic of generating alien attack waves during levels. I’ve written a function that generates alien objects based on four parameters: alienType, number, position, direction.

    So it’s what type of alien (each one is numbered), how many in the attack wave, what position (this differs per alien type, for type 1 it’s which column coming down the screen, for type 2 it’s how far up the side of the screen it comes in) and direction (right=1,left=2,down=3)

    I’ve got two alien types as you can see in the video, the final game will have five or six. As you progress in levels the number of aliens will go up, they’ll fire at you more and they’ll move faster. I’m sure it will take some fine tuning to make this feel right at the higher levels, I want it frantic, but not so crazy you can’t play it.

    I have a set list of tasks I’m working on to release the first version, right now I’m working on the graphic files, sizing them all correctly, putting together spritesheets for animated sprites (like the explosions), and then it’s onto working on the main menu.

    Remember to check back next week for my next update.

    Known issues:
    Level doesn't end when player dies
    Score does work
    Only start game works on main menu
    Score doesn't save
    Only two enemy types
    Enemy types don't get harder with level number
    second touch on screen teleports ship
     
    Last edited: Nov 10, 2017
  2. andymc

    andymc Well-Known Member Licensed User

    Todays other notes:

    tightened triple fire spread
    altered double fire bullet graphic to match single fire
    fixed double fire not picking up bug
    fixed black box for explosions on low end phones bug (reduced graphic size)
    added delay inbetween attack waves
    fixed multitouch pointer issues
    added enemy explosion particles
    amended extra life powerup graphic for new ship
    added score combo
    added score functionality
    added score messages
    added second bomb type image
    adjusted bomb type object to allow for btype value
    increased spacing on atype 2
    swapped enemy1 and enemy2 graphics
     
  3. wonder

    wonder Expert Licensed User

    I like it, the game looks so damn sexy!! Good choice of assets and smooth gameplay! :)
     
    andymc likes this.
  4. Erel

    Erel Administrator Staff Member Licensed User

    Looks great!
     
  5. andymc

    andymc Well-Known Member Licensed User

    Quick update:
    I keep forgetting to use vectors, I really must use them more!
    I normally handle everything movement based myself using my own calculations, but I keep forgetting how much easier vectores in libgdx makes things.

    So now my alien type has changed from:
    Type typAlien(x As Float, y As Float, mx As Float, my As Float, fireDelay As Float, alive As Boolean, AType As Int, cx As Int, angle As Float, life As Int)
    to
    Type typAlien(x As Float, y As Float, vec As lgMathVector2, fireDelay As Float, alive As Boolean, AType As Int, cx As Int, life As Int)

    I'll extend this further but for now it makes things simpler.
     
    wonder likes this.
  6. andymc

    andymc Well-Known Member Licensed User

    Success! Levels are now loaded from files. I've gone for the scripted level approach, I can use notepad to write levels using a simple csv format I've come up with. This allows me to quickly write what type of alien, how many, what direction and what delay before the next attack. I've also started to add level boss code too.

    Check out the youtube video below, hopefully you'll be able to tell it's progressing well.

     
    JordiCP, Erel, DonManfred and 4 others like this.
  7. andymc

    andymc Well-Known Member Licensed User

    Okay, so I've implemented enemy flashes when they get hit, turns out it was easy. I've never played with the batch.setcolorrbga command but that's all you need. Just add a new value of flash to the alien custom type, then set it to ten, reduce that number each frame and use it to set the setcolor command to give a nice red flash to enemies when they get hit. You'll see it in the next video. Along with hopefully a level select map and boss fights. This is shaping up to be my best game yet. I just want it finished before Christmas, then I'll have released four games this year.
     
  8. andymc

    andymc Well-Known Member Licensed User

    Another quick update video, multiple levels, boss does things.



    The boss sticking to the right side of the screen has now been fixed so it moves left and right.
     
    Last edited: Nov 28, 2017
    wonder, WAZUMBi and Erel like this.
  9. andymc

    andymc Well-Known Member Licensed User

    I've started writing a level editor using b4j, look out for an update soon. This will be my first b4j application so I may be back with questions soon!
     
  10. wonder

    wonder Expert Licensed User

    How's this project going? I really like the gameplay videos!! Will we get a demo / beta soon? :)
     
Loading...