My first attempt at an FPS style MV game?
ProcGen3DMV0.1a by Arowx for Metroidvania Month 21 - itch.io
My first attempt at an FPS style MV game?
ProcGen3DMV0.1a by Arowx for Metroidvania Month 21 - itch.io
Well I managed to get the simplest FPS to nearly be a playable game.
Basically zombies moving in on the player and old school raycasting as a gun (DOOM original version).
No crosshairs or bullet counters but a score, also no shot delay mechanic and the no game over state.
Code weighs in around 878 characters
public class K:M{T t;float s=30f;List<t> z=new List<t>();int u=0;public U w; void Start(){t=transform;t.position=v(0,1.5f,0); T g=c(Q.Plane,V.zero,v(100,0,100)); for (int i=0;i<100;i++){V p=A.insideUnitSphere+A.onUnitSphere*50f;p.y=0f; T x=c(Q.Cube,p,v(1,2,1));x.name="Z"+i;z.Add(x);}}T c(Q q,V p,V s){T n=G.CreatePrimitive(q).transform; n.position=p;n.localScale=s;return n;}void Update(){float a=Time.deltaTime; float b=a*s; t.Translate(v(i("H"),0,i("V"))*b);t.Rotate(v(0,i("X"),0)*b);V p=t.position; foreach(T e in z){e.LookAt(p);e.Translate(V.forward*a);} bool h=I.GetButton("F");R y=new R(p,t.forward);H j;List<t> d=new List<t>(); if(h&&P.Raycast(y,out j,100f)){T r=j.transform;if(r.name[0]=='Z'){d.Add(r);u+=10;}} foreach(T f in d){z.Remove(f);G.Destroy(f.gameObject);}w.text="SCORE "+u;} float i(string s){return I.GetAxis(s);} V v(float x, float y, float z){return new V(x,y,z);}}
And that's with a lot of class name to character assignments and changes to the names of inputs.
//game expects to be on the default camera in a scene /* Need to rename Inputs * Horizontal to H * Vertical to V * Mouse X to X * Fire1 to F * w needs to link to a TextMeshProGUI label for the score * */ using T = UnityEngine.Transform; using G = UnityEngine.GameObject; using V = UnityEngine.Vector3; using I = UnityEngine.Input; using R = UnityEngine.Ray; using H = UnityEngine.RaycastHit; using P = UnityEngine.Physics; using Q = UnityEngine.PrimitiveType; using A = UnityEngine.Random; using M = UnityEngine.MonoBehaviour; using U = TMPro.TextMeshProUGUI;
Unless I can find or figure out some other ways to reduce the size of the code base in C# or maybe write a wrapper API that does things via one character method calls not sure I could create an FPS in 500 characters in Unity.
The questing is should I submit this as an entry?
Great work, got a bit stuttery (sfx, frame rate) and glitchy around level 9.
The screen space used is a lot for a Web based game and reducing it but allowing full screen mode may help with performance.
Maybe a points allocation feature and other attributes could make for a more controllable weapon selection.
E.g. features unlock at 1,2,4,8,16 levels and each wave allows you to toggle 1,2,3 features.
And maybe other features e.g. shields, bombs, drones, special weapons, speed ect.
Nice work. Seemed to get a bit slow or 'clunky' at times and the bullets sometimes went through walls and hit zombies sometimes not. (WebGL version).
Maybe run an optimization pass over the game e.g. is it pooling and re-used resources e.g. zombies/tiles or updating some things too much e.g. UI elements every frame.
Would have loved to be able to get into and drive the cars.
Gun seemed a bit too accurate for a starting weapon, but great potential to build up on the work you've done.
Maybe it could be more dramatic with a night time and torch light or foggy weather?
Thank You. Invisible otto was a bug that became a feature. I was going to add him to the map, then thought it might be more fun if you just hear him.
Yeah, the movement could be faster, I will try that after the JAM. I found myself hitting the shift key to sprint maybe that could work so you can creep slowly or run fast and make a noise.
Great work.
Critical feedback:
Not sure what the spikey walls were doing?
Found it really hard to see and recognize the swivel buttons, maybe they could be larger and easier to see and shoot.
Rotating walls great idea but some way to differentiate the bit's that will move and rotate from static normal walls.
Otto was too evil and un-stunnable / unstoppable.
https://arowx.itch.io/bzrk26 Give it a spin, just for feedback and last minute bug fixing, as voting not open yet.
Entered https://itch.io/jam/tabletop-game-tool-jam/rate/2083179
Any feedback on how to improve it would be a great help?