Search Unity

Games Old School FPS(Doom, Wolfenstein, Duke Nukem Style)

Discussion in 'Works In Progress' started by Razputin, Apr 3, 2016.

  1. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Hello guys, I've been working on an Old School FPS game on and off for a little while now. Recently I decided to start from scratch because I've learned a lot recently. So I'm updating this thread with Update 3. Check it out and thanks for watching!

    Working Titles :

    Brutalus - if the game ends up being super violent more like Brutal Doom.
    Ego Superstar - if the game ends up being more comedic like Duke Nukem.

    The Lastest Video :



    Previous Video :



    Website : deleaseproductions.com
    Twitter : https://twitter.com/AdamDeLease
     
    Last edited: Apr 25, 2018
    zakdank, Acatriki, Mister-D and 3 others like this.
  2. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,562
    haha, love this!
     
    Razputin likes this.
  3. CrisisSystem

    CrisisSystem

    Joined:
    Oct 7, 2015
    Posts:
    124
    Dat kick + shotgun blast

    <3
     
    Razputin likes this.
  4. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    CrisisSystem likes this.
  5. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Hello everyone! I've started this project from scratch as I've learned a lot recently. Check out Update #3



    More to come soon!
     
    chelnok, theANMATOR2b and RavenOfCode like this.
  6. CharisVik

    CharisVik

    Joined:
    Feb 18, 2018
    Posts:
    77
    This looks really awesome and nostalgic.

    What platforms you are planning on releasing?
     
  7. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    If I actually finish it win/mac/linux more of just experimenting right now having fun learning some new stuff
     
  8. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Update #4 out now :



    Update Notes :
    • Slide Kick
    • Akimbo Weapons!
    • Hands sway as you move
    • Crouching
    • Shotguns
    • Camera Shake when Fire
    • Dead bodies spray blood
    • Rockets that do AoE damage
    • Sounds with volumes based on distance
    • Some fun random weapons

    Knocking the enemies into the air was very annoying to add due to the fact that they operate using a NavMeshAgent and knocking them airborne required a Rigidbody.
     
  9. Fhiz

    Fhiz

    Joined:
    Feb 28, 2018
    Posts:
    79
    Looks cool!

    BTW thats exactly the same graphical style (Faux/Fake 3d) that Im using for my (WIP) asset.

    Although i ditched Animations completely for now, mostly due to the lack of (legally) sellable animated 2d sprites.
     
  10. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Yeah there pretty much arn't any. that's why i'm just borrowing them from duke nukem/doom ect. while prototyping
     
  11. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,562
    here are some pixel effects ive made a while ago, might be usefull to u
    splatfrontgif.gif splatside2gif.gif
    if there is interest i can make more ;)
     

    Attached Files:

    Razputin and theANMATOR2b like this.
  12. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,562
    sorry for spamming this thread :rolleyes:
    im having fun making pixel animations
    pistolfiregif.gif
     

    Attached Files:

    Doug_B and Razputin like this.
  13. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Haha, when I get around to it I might try digitizing my actual arm like they used to do.
     
    Mister-D likes this.
  14. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,562
    yes, will probably look a lot better that way.
    can u tell a bit about how u handle the sprites in this setup?, might have a go myself with my pixelated assets
     
  15. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Sure which sprites though.
     
    Mister-D likes this.
  16. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,562
    enemys and weaponsprites?
     
  17. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Weapons are all just in a blend tree that goes between Idle<->Fire with each gun being a different entry in the tree, so like weaponState 1 = uzi idle/uzi fire weaponState 2 = shotgunIdle/shotgunFire ect.

    This is used to give them a sway when you move the character/mouse
    Code (CSharp):
    1.         float movementXMouse = -Input.GetAxis("Mouse X") * 2;
    2.         float movementYMouse = -Input.GetAxis("Mouse Y") * 2;
    3.         movementXMouse = Mathf.Clamp(movementXMouse, -.1f, .1f);
    4.         movementYMouse = Mathf.Clamp(movementYMouse, -.1f, .1f);
    5.         Vector3 finalPositionMouse = new Vector3(movementXMouse, movementYMouse, 0);
    6.         transform.localPosition = Vector3.Lerp(transform.localPosition, finalPositionMouse + initPos, Time.deltaTime * 2);
    7.  
    8.         float movementX = -Input.GetAxis("Horizontal") * 2;
    9.         float movementY = -Input.GetAxis("Vertical") * 2;
    10.         movementX = Mathf.Clamp(movementX, -.1f, .1f);
    11.         movementY = Mathf.Clamp(movementY, -.1f, .1f);
    12.         Vector3 finalPosition = new Vector3(movementX, movementY, 0);
    13.         transform.localPosition = Vector3.Lerp(transform.localPosition, finalPosition + initPos, Time.deltaTime * 2);
    14.  
    The enemy sprites are also in a blend tree but it determines which animation of the blend tree to display based on the angle relative to the player.

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class EnemyAnimator : MonoBehaviour {
    6.  
    7.     private GameObject player;
    8.     private Animator anim;
    9.  
    10.     void Start ()
    11.     {
    12.         player = GameObject.FindWithTag("Player");
    13.         anim = GetComponentInChildren<Animator>();
    14.     }
    15.  
    16.     void Update ()
    17.     {
    18.         Vector3 enemyLookDir = transform.forward;
    19.         Vector3 playerRelativeDir = (player.transform.position - transform.position).normalized;
    20.  
    21.         float angle = Vector3.Angle(enemyLookDir, playerRelativeDir);
    22.         Vector3 cross = Vector3.Cross(enemyLookDir, playerRelativeDir);
    23.         if (cross.y < 0) angle = -angle;
    24.  
    25.         if (Vector3.Distance(player.transform.position, transform.position))
    26.         {
    27.             if ((angle < 35 && angle > -35))
    28.             {
    29.                 anim.SetFloat("Angle", .25f);
    30.             }
    31.             else if (angle < -35 && angle > -135)
    32.             {
    33.                 anim.SetFloat("Angle", .5f);
    34.             }
    35.             else if (angle > 35 && angle < 135)
    36.             {
    37.                 anim.SetFloat("Angle", .75f);
    38.             }
    39.             else if (angle < -135 || angle > 135)
    40.             {
    41.                 anim.SetFloat("Angle", 1f);
    42.             }
    43.         }
    44.     }
    45. }
    46.  
    So it's something like this where angle angle .25 is the character looking straight at you, .5 is one side, .75 is the other side and 1 is their back.
     
    Last edited: Apr 12, 2018
    theANMATOR2b and Mister-D like this.
  18. Ceciphar

    Ceciphar

    Joined:
    Jan 21, 2017
    Posts:
    51
    How is this done? In 3d or 2d?
     
  19. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    It's 3d, the sprites are 2d though.
     
  20. Ceciphar

    Ceciphar

    Joined:
    Jan 21, 2017
    Posts:
    51
    billboard?
     
  21. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Yup.
     
  22. Ceciphar

    Ceciphar

    Joined:
    Jan 21, 2017
    Posts:
    51
    Thanks ill be updated on this forum
     
  23. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Update #5 - Fist of Fury & Explosives



    Update Notes :
    • Melee Weapons
    • GIBS!
    • Enemies now attack
    • Multiple New Explosive Types
    • Ammo Pickups
    • Card Key Doors
    • Change weapons with 1-9
    • Ammo & Health displayed on local canvases
     
    GarBenjamin and Fhiz like this.
  24. zakdank

    zakdank

    Joined:
    Jan 25, 2011
    Posts:
    41
    Great work. So many people are focused on next-gen graphics and features that they forget that trends have a tendency to repeat themselves. I think this style of game will become popular again because of it's simplicity, overly-bloody combat and sense of destruction. Either way, great work!
     
    CharisVik and Razputin like this.
  25. evamariah

    evamariah

    Joined:
    Apr 23, 2018
    Posts:
    14
    these graphics bring me back in a good way. I think the updates such as the camera shake and explosive effects add a lot. Cool game.
     
  26. ronin82

    ronin82

    Joined:
    Oct 23, 2018
    Posts:
    2
    WHAT A GREAT PROJECT :)
    For those who like this old-retro style games, check Project Warlock it is also writted in unity 3d.
    I hope that Razputin will finish his game!
     
    sebastianbrozda likes this.
  27. Frostbite23

    Frostbite23

    Joined:
    Mar 8, 2013
    Posts:
    430
    NOICEEEE!
    I like what I see, pack it up with some levels, some more sound effects and a whole bunch of AI and your hittin awsome classic retro action territory!

    Can't wait to play!
     
    Razputin likes this.
  28. SpinTheDaddy

    SpinTheDaddy

    Joined:
    Aug 9, 2016
    Posts:
    26
    How is it coming mate?
     
  29. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    170
    Hey, I haven't worked on this in a while. 3D Level design proved to be too difficult, but I'm going to attempt a similar project again soon once I've wrapped up my current game and current Novel.

    I'll continue to use this thread when I return to the project.
     
unityunity