Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411283 Posts in 69325 Topics- by 58380 Members - Latest Member: bob1029

March 29, 2024, 05:39:39 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsSpace Brawl [Arcadey Space Sim]
Pages: [1]
Print
Author Topic: Space Brawl [Arcadey Space Sim]  (Read 2332 times)
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« on: April 15, 2020, 08:19:20 PM »

Feedback post:
https://forums.tigsource.com/index.php?topic=69908.msg1422111#new

Windows .exe download:
https://drive.google.com/open?id=1wnqDR7ac-OtcH9Q6O507JV5g04BfrajD

Intro:
This is my little hobby project while sheltering from Covid 19. Essentially an off brand remake of my favorite part of “X Wing vs Tie Fighter,” The multi craft respawn melee. Modern development tools like Unity 3D make such development disgustingly easy. I don’t intend this for commercial release but just some fun to share around with my friends, and hopefully make me look cool in my son’s eyes (it doesn’t). Disclaimer: The sound files are temporary and “borrowed” from a commercial game.




Base Goals:
The goal is to make a PvE space shooter with the feel of an arcady WW2 dog fight. There will be no missiles, but there may be some fancy gun types associated with different fighters. The Pregame menu will allow the player to choose from a series of  encounters and modify the parameters of the encounter to create the type of gameplay they want to experience. These parameters include the score limit, AI skill level, and types of ships used in the encounter. The ships themselves will have different properties and some will be objectively better than others. The game will progress to a preset score or time limit after which the player will be dumped back in the post mission screen with each ships' scores.





Stretch Goals:
* Multiple classes of Fighter to emphasize Turn & Burn vs Boom & Zoom play styles.
* Token collection for non Death match game styles.
* Flight cohesion and inter fighter communication logic (attack my attacker)
* Squadron comm sound files
* NPC and faction related freighters to pirate for tokens (arrr)
* Sensor network allows for fog of war
* Multi player

Implementation Plan:
Rigid body craft movement FighterPhys
Camera control between craft view, free roam
Player input to FighterPhys
Basic AI Waypoint
Guns, bullets and hit takers
Scan objects and GUI radar scopes
Targeting and GUI target highlighting
Check for death and respawn
Kill death score keeping.
Combat AI behavior
Main menu
Mission menu
Directions menu
Credits menu
Ship Glossary menu
Multi AI skill levels
Muli ship types
Communicate Mission Menu to game craft type, skill, and flight size to Game.
Communicate max kill and mission time out to game
Aim assist UI toggle
Game ends and debrief screen gets accurate kill counts and scores.
   Separate out each team's performance
   Sort by team and pilot performance
Add UI for shield, armor, target stats
Smarten AI to keep within the fight area.
Mouse Input toggle
Smarten AI to act based on player position.
Move all AI to central controller to enable editing across multiple ship prefabs
Add energy bar that boosters an guns draw from
Team based exclusion zones with auto turrets
Death token spawn and ship collection
Change Go Home logic to do so on full loot.

Add token logic to AI for pickup and banking.
Add banked tokens to score and menu debriefing
Add new ship classes and weapon classifications.
  Scout
  Light Fighter
  Interceptor
     shot gun batch fire logic
  Heavy Fighter
     Boost effects turn rate not speed
  Turret Corvette
     WACO interface for turret aiming, autopilot option
  Bomber
     same controls as turret Corvette but pilot weapon is a null field projector
Add turret fighter logic and restrict to turret fighter
Create interceptor shotgun and appropriate AI logic to use it.
Create Heavy fighter fast turn mode
Create Null field gun and special logic for how null field bullets interact with the world.
Child all launch pads to a base or starship.
Have multiple camera positions for sharship land and launch.
Modify landing pad to have appropriate launch and landing lengths
Implement instant ship switch so the player can
Revamp radar to scan for ships that only the player and allies can see.
NPC Capitol ships with cargo and turrets
Create flight interaction logic
Show Flight's AI state and health
Create DPad UI menue
 Allow AI to call for help and respond to help requests
  Allow user to call for flight to break formation or get in formation
 Allow user to call for flight to head home
  Prioritize maneuver: Collect coins, target big ships, Scout sweep, dogfight, formation, head home.
  Mission based toggle launch option for flight (all together or individual)
Attach Vocal reactions from flight to orders and player activity
Attach UI elements for fighters in flight (help, guard, heading home, health)
  Create landing/takeoff animation
  Create Spectator mode if player assigns themselves to an empty team.
 Create laser turret logic and laser turret picket ships

Missions
 4 team Furball
  4 team Bounty
  4 team Pirate
  2 team commerce raid
  2 team cops and robbers
  

« Last Edit: May 26, 2020, 07:37:18 AM by Wilson Saunders » Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #1 on: April 20, 2020, 10:29:01 AM »

Based on user feedback I added mouse input, and an aim toggle to the start mission screen. The mouse options are accessible by the ESC menu.
I have tweaked the AI to to a hard break then a smooth evasion roll. Also they will stay closer to the play area when boosting.
I have relocated the physics code to the Fixed Update because I noticed the game was running faster than was playable on a test computer.

I plan on using this dev log as a feature list. New features will be added to the first post and completed features will be crossed off.

Latest build has been uploaded to the link in the Feedback post.

« Last Edit: April 21, 2020, 12:17:35 AM by Wilson Saunders » Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #2 on: April 21, 2020, 12:25:37 AM »

I have added an energy bar for the booster and the guns. This is to discourage spamming the guns or the booster. It also seems to make the player more cautions shooting. Similar shooting caution has been added to the AI. New UI elements allow the player to see their health, the enemy's health, and the energy bar.
New screen shots

Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #3 on: April 27, 2020, 10:15:23 PM »

Added two more fighter models. I am calling them interceptors. They have slower turn speeds but faster top speeds. Also they have a higher rate of fire but lower accuracy. I did some work on the Squadron control system, but not enough to show off yet.





New build is in the link at the play testing page.
Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #4 on: May 05, 2020, 02:35:13 PM »

Edit: new build uploaded Features:
- Splitting Boost energy from gun energy,
- Inter squad communication for requesting help and targeting craft that are targeting the craft in need of help.
- User to Squad communication, Attack my target, Attack who is attacking me, target enemy attacking friend, Tell friend to go home for repairs.
- Add other voice messages like, I killed an enemy, congratulate player on killing an enemy, inform player they are ejecting, express loss that the player's ship was destroyed, call for help, accept call for help, and tell player they are heading back if too damaged.



Monday Update:
I have added the "I need Help" and "I am coming to help you" logic for the squadron, so hopefully the space brawl will not devolve into 3 allied ships chasing 1 enemy while 3 enemy ships chase you (The enemy of the one chased enemy ship will call its allies to help it). I also bound those commands to the Dpad Left and Right so the player can call for help, even if they don't need it. I additionally made commands "Every one attack my target," and "Go home ally that my forward vector is closest to" naturally these commands are only accessible by the player.

All the voice work is done in my voice, but I am going to ask around and try to get some more voices. I don't have a new build up because I am still trying to incorporate some of the voices into the appropriate game play prompts.

The script is as follows:

Pilot voices:
Request Help: - 0
 - I’m taking fire
 - Need as little help
 - Get this guy off me
I will help you - 1
 - I got you covered
 - On my way
 - On it
Ai Heading Home - 2 ("Barn" is pilot slang for hanger or repair bay)
 - Going back to the barn
 - Heading back
 - Going in for repairs
Player make a kill, - 3
 - Nice shot
 - Way to go
 - Keep it up
AI makes a kill - 4
 - I got him
 - Splash one bandit
 - One less baddie in the sky
AI Dies - 5 (no death screams everyone ejects safely)
 - Punching out
 - I’m bailing
 - Ejecting
AI recognizes Player (Flight position One) Dies - 6
 - Oh no we lost One
 - Commander? Commander!!!
 - One is down, who is in charge now?
Attack my target - 7
 - Attack my Target
 - Focus on my Target
 - Priority target identified
Player tells AI to Go Home - 8
 - Return to to base, that is an order
 - Get out of there, we’ll cover you
Priority harvest scrap - 9
 - Let’s grab some loot
 - Priority Salvage
Priority attack Fighters - A
 - Break and attack
 - Bring down those fighters
Big Salvage Dump - B
 - Yard Sale! come and get it
 - We hit the Jackpot
 - Look at all that loot

Command Voices:
Launch
 - All Wings clear for launch
 - Launch sequence activated
 - Good hunting out there
 - Launch code confirmed, good to go
Landing
 - Welcome back
 - We will get you patched up ASAP
 - It is good to see you back in one piece
Victory
 - Victory is ours
 - That turned out better than expected
 - Chalk one up for the good guys
Defeat
 - Unacceptable losses, aborting mission
 - The mission is a wash, lets get out of here
 - We are done here
« Last Edit: May 10, 2020, 08:23:51 PM by Wilson Saunders » Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #5 on: May 12, 2020, 09:32:56 AM »

Update: I got a friend to read the lines from the post above and incorporated his vocals into the project (His is the one that sounds like it was recorded on professional equipment). I have added the squadron status indicator at the left of the screen as well as the time and score counters.

I have also added two more teams to the melee (blue and yellow). I was going to have different levels that allow different number of teams, but I figure I will just make all teams available at the mission config screen, and if the player chooses to put 0 craft on a team, then that team will be disabled. I probably should make a spectator mode, for if the player puts them self on a team with 0 ships.
Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #6 on: May 18, 2020, 09:59:47 PM »

Update: I am still waiting on several people to give me voice recordings. I need 9 to ensure a good mix of voices. Fortunatly the code doesn't know if I reuse the same sound file on a different index. I added an Options screen which will allow the player to configure the mouse input and the player Voice option for the carrier and pilot. The voice options not chosen will populate the other planes in the flight.

I fixed a few bugs like yellow flight couldn't land due to a bad exclusion zone index. The landing zone exclusion area keeps the AI from spawn killing the player, it was supposed to represent the range of some static guns protecting the player's landing zone. So I decided to add some static guns protecting the landing zone. I may have also added a gunship model complete with faction colors to make the turret locations more obvious.

Feedback in the feedback thread is always appreciated:
https://forums.tigsource.com/index.php?topic=69908.0



Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #7 on: May 26, 2020, 07:47:01 AM »

This week I spent incorporating four new sound packs into the game. I also did some of the work to implement the pickup token object, but it is not ready for release. Hopefully the next release will have the bounty hunting mechanic implemented. Right now this is just a two scene project. I think I can implement the bounty hunting mechanic through variable manipulation on the game play scene. After that I might have to switch my focus over to multi player. I don't think I can justify a commercial release with out it, and I have never done multiplayer before. I should figure out what the limitations of it are before getting too far along in signle player development.

Also a friend of mine made a hype reel for the gameplay as it currently stands:


Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #8 on: June 01, 2020, 10:05:47 PM »

This week I added two new voice packes and completed work on the token system. A new game mode has been created to take advantage of tokens: Bounty Hunter. When a ship dies in bounty mode it will drop two bounty tokens. Any ship that flies near those tokens will pick them up. Ships have a limited token space and must offload collected tokens at base to score them. If a ship is shot down it will drop all its collected tokens and the two bounty ones. Further UI work has been done to allow the player to specify AI wingment need to focus on a specific target, collect coins or attack fighters.

AI now recognizes coins as a target to fly at but not shoot. The AI will also recognize when they are 50% full of tokens and return to base to bank them.

I think I am going to try and implement multiplayer. I have not done so in previous games, but I think this game would be more interesting with PVP and Coop options.
Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #9 on: June 09, 2020, 08:20:50 PM »

I would like to add a multiplayer option to this game so I started looking into UNET. Boy did I pick a bad time to do that. I ported the project from 2017 to 2019 with all the fun and games that entails. I did a UNET tutorial and thought it made sense, but when I tried to apply the lessons I learned to the main project, I found the client and host did not sync. I am going to look into the Mirror library to see if that has any better application. I still have the original on back up and if Multiplayer proves to hard I can revert and continue development in single player.
Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #10 on: June 17, 2020, 12:02:46 PM »

Still Dicking about with unity multiplayer. I got cubes to move about in a synchronized manner but am a long way from making my dreams come true. Fortunately a talented artist by the name of Michael Shepard (https://www.artstation.com/artwork/8lQgkm)offered to make me some space ships. So now I have two heavy fighters the Castilan and the Reaver. I modified the fighter code to that the interceptors have a shotgun like weapon and the heavy fighters can use boost to increase their turn rate. The AI has not been updated to utilize these new abilities but the game seem to play ok for now. I made the heavy fighters slow to compensate for its firepower and durability but this seems to make them very weak to enemy teams using localized numeric supremacy.
Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #11 on: July 02, 2020, 12:17:50 AM »

Thanks to the efforts of Michael Shepherd I now have models for a carrier, cargo ship utility ship and bomber. This means I mus now elevate my game from a simple dog fighter to a multi role strike fighter game. This was always the plan, but my original vision was to have multiple "Flights" each with a player controlling the lead ship. If multi player were added, other players could join the other flights in the mission and play a different role in the mission. Such as player 1 flying light fighters escorting player 2's bomber wing.

The more I examine Unity's multiplayer functionality and think about the player's interface with the game, the more I want to revamp the system. So here is the new plan:

Each flight consists of a maximum of 12 fighters/bombers/utility craft. The player sets each flight slot with a fighter type, skill level, and voice. The ship type and AI skill of each ship will be factored into the flight's "threat level." When someone hosts a game they will set the scenario's maximum threat level. All players will get to deploy flights that are at or under that threat level.

While in game the player can swap between each fighter in the flight and issue general flight orders. Utility ships and bombers will stay back in their launch cradles until the player issues a command to launch them (or if the AI controls the entire flight, the AI dictates the situation warrants it).

The new system will give the player greater flexibility to customize his squadron, but will limit team inter dependence as each player will have the ability to carry out all mission roles unless they choose not to.

Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #12 on: July 07, 2020, 03:06:55 PM »

New build is up with a new mission, convoy piracy. There is a modular cargo freighter model that follows a prescribed path. I have kept the 4 flight model but now there are just two teams. This allows for a combined craft approach. I will eventually build out a new UI for squadron creation so we will have full combined arms interface.

I also have a Carrier and Bomber  that need to be incorporated into the game along with play balancing the Pirate mode.
Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #13 on: July 13, 2020, 09:11:53 PM »

I am in the process of reworking my code so that the player can field multi ship type squadrons. I can load the squadron makeup from a text key, but building out the UI so the player can load and modify that text key is my current challenge. I will try and incorporate the carrier into this update as the limited space in the model is what prompted the redesign.
Logged

Play my games at http://monkeydev.com/
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #14 on: July 21, 2020, 09:46:50 AM »

I am part way through the Edit Squadron screen. It can be accessed off the main menu or from the mission select screen. It will have the following modes:
* Pick Squadron
* Edit Squadron
* Save Squadron Are you sure?
* Leave without saving Are you sure?
* Can't pick squadron, Threat level too high

The way this is intended to work is the player can edit squadrons while offline to come up with the best play style for a mission. The host of a multi player game will set the Server's Max threat level and all players will have to submit a squadron that is less than or equal to that value. The player will be able to pick or edit existing squadrons from the match screen, as well as view enemy player squadrons.
Logged

Play my games at http://monkeydev.com/
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic