Feedback on PvE FPS game

Greetings!

I have recently released the v1.0 update for my PvE Wave based FPS called “Criminal Empire”. The game has been in development for about 2 years (not full time) but I never managed to get much feedback from people or get many players at all for that matter; Feedback on anything (including this post) is appreciated!

I’ve taken inspiration from many games I’ve played mostly from 2000-2010s including NFS (style/atmosphere-wise), Killing Floor, Payday & Borderlands so if you enjoy those games you may enjoy this game too.

About

Criminal Empire is a fast-paced PvE FPS set in Lysander, a near-future city under lockdown by heavily armed robotic police. Players fight through increasingly difficult waves, earn cash and XP, unlock skills and weapons, and try to survive as long as possible.

Game Trailer

Criminal Empire

I’d particularly like feedback on what the game is lacking, anything confusing and any bugs you encounter (especially with more than 1 player & other platforms since I’ve only been testing solo on pc for the majority of development with occasional testing on other platforms) since this game has been buggy forever basically lol, anyway I’m also interested in hearing what you think the game does well!

Thank you in advance for checking out Criminal Empire!
Current version: v1.0.9 [see replies for patch notes]
Original version: v1.0.5

7 Likes

While I was loading in my character started taking damage for about five seconds before I was allowed to control my character, which really didn’t seem fair. But once I started playing it was better. The combat was challenging, but not too challenging. When you kill an enemy, their health bar seems to fill up again before it disappears, which I think is another glitch?

2 Likes

Not being able to control your character is due to the map not loading in on time during my own testing so you fell through the floor, I’ll take a look and see what I can do though as well as the health bar

1 Like

Criminal Empire v1.0.5 → v1.0.6

  • Improved map loading
  • Fixed the target health bar displaying full health when a target is dead
  • M4T2 (Rifle) headshot multiplier from x1.05 to x1.2
  • IMPACTOR (Bat) heavy attack multiplier from x1.6 to x1.7
  • BLOC9X (SMG) spread gain from +0.35 to +0.38
  • VANTA14 (DMR) damage from 25 to 24
1 Like

Wow, the map loads much better now! And the health bar fix is great too.

I explored the menu a bit more. I like the options you give for difficulty, with changes in amount of fire. And I like the option for day or night, and weather. Menu music and main game music are nice too!

I find it a little hard to aim and look around sometimes. It’s a bit too quick and snappy. I wonder if you can smooth it out a bit, or limit how much you can actually move the camera per swipe?

2 Likes

Honestly thank you for the kind words on the game and I’m glad the fixes worked for you too lol, I’ve had that snappy camera feeling myself in other Roblox games before so I’ll see if I can do anything about that tomorrow since it’s about midnight for me rn

2 Likes

You’re welcome, I’m happy I was able to help.

Whenever your day starts again, might I suggest you set the ScreenOrientation property in your StarterGui to LandscapeSensor? That’s what I have my games set to and it seems to work well for mobile. I tested your game out on mobile, and it definitely doesn’t seem designed for portrait. So why force the player to turn their phone to fix the screen when you can simply start with the correct orientation and have it look good from the start? That’s just my thinking.

Things look good on mobile and pc for the most part, otherwise. Though some of your gui seems to overlap with the Roblox core gui, which seems to take away from an otherwise polished finish (I like the 3D menu options that move when hovered over, and the spinning of the entire menu to another place when changing to another menu type).

The game plays best on Playstation, in my opinion. No aiming/camera issues there. Though, unfortunately, menu navigation is the most difficult, and at some points the player can get completely stuck if they don’t realize they have to press the Touchpad. I think you might be missing some SelectedObject assignments to help activate the menu navigation for console players?

2 Likes

Unfortunately I couldn’t figure out the mobile camera smoothing but I did do some testing and I see what you mean, I’ll try again some other time, servers might be down atm

Criminal Empire v1.0.6 → v1.0.7

  • Extras menu now replaces the main menu buttons
  • Improved main menu functionality on consoles
  • Credits menu is now a list rather than 3D models (easier to maintain)
  • Fixed mobile landscape view
  • Fixed a rare case where you would get stuck under the map whilst loading
1 Like

Are you using a custom camera or the default Roblox camera? I haven’t had the need to do any camera smoothing yet for my games, so can’t say off the top of my head how I’d do that, but I’d be happy to try to figure something out to help you.

I’ll test out the how it plays on console later today, since you’ve made some improvements, and let you know.

2 Likes

I do affect the cameras CFrame every frame for camera bob but I wouldn’t say it’s entirely custom and after testing with an Xbox controller the main menu should be much better now but there are still some small issues I need to look at tomorrow.

I only had a few hours to work on it today so I chose to fix the easier things first, I’ll properly see what’s up with the mobile camera tomorrow too.

1 Like

Is there any way you can run a while loop inside of a task.spawn and check for the presence of UserInputService’s GetGamepadConnected(Enum.UserInputType.Gamepad1)? And if it’s true, set GuiService’s SelectedObject to your play button? I think it’d be better than having to use the Touchpad at the start of the game or the up button just to be able to have the SelectionImageObject appear. I tested it on Playstation and it might be a bit better, but the SelectionImageObject doesn’t appear automatically. I know Roblox does warn players that some games require pressing the Touchpad to be able to use the menu system, but personally I don’t like relying on a player’s knowledge of that.

2 Likes

Ah that didn’t cross my mind since I automatically tap the d-pad without thinking when testing to begin using the menu, should be a quick fix however thanks for pointing that out :+1:

2 Likes

Ended up being a case where the code was there for the SelectedObject being set to the play button but didn’t actually work, same thing happened with ScreenOrienation earlier :roll_eyes:

Criminal Empire v1.0.7 → v1.0.8

  • Updated menu toggle icon
  • Daily Rewards is no longer a forced pop-up but now a toggle button
  • Improved main menu navigation on consoles part 2
  • Updated Extras buttons
  • Improved credits list appearance
  • Fixed being able to move around in the menu after leaving it
  • Fixed credits not loading
1 Like

Getting SelectedObject to work can be tricky, with controllers and device types not always being detected at the start of a game. Did you use the “while” loop inside of a task.spawn like I suggested? That way, the moment you know that you have a controller, then you can assign the SelectedObject something. Otherwise, it can be set to nil so that keyboard and mouse or touchscreens don’t see the SelectionImageObject. But whatever you did to fix it, it works now. Just tested all three device types.

There is a “hello world” text that appears when console is loading the main game. Not sure if that is intended.

Question. How do you intend console and pc players to activate the shop button? I touched it on my phone and it’s definitely functional.

Oh, and I’m curious about the ScreenOrientation problem you mentioned too. Did you do something other than set the property of the StarterGui? Did you do this using code, or just adjust it manually?

1 Like

For setting the SelectionObject, I wait until the loading gui is destroyed and then call a function which sets SelectionObject to the play button if a gamepad is connected. This didn’t work previously since I called the function prior to the loading gui being destroyed rather than after. I also had to set the majority of the Selection properties manually since the automatic navigation didn’t like the 3D effect.

Originally for ScreenOrientation it was set via code in StarterPlayerScripts and I never realised it could be set in StarterGui until you told me!

The “hello world” print is intentional for anyone looking in the console; couldn’t leave out the classic line.

When you say the shop button do you mean Roblox’s shop in the top right that can be enabled? I imagine gamepad and pc players can navigate to it just fine unless I’m missing something.

i like me a good pve shooter, so i’ll give it a try and list my thoughts down below

-loading screen is missing ignoreguiinset, but maybe that’s intended (it’d look better if the loading screen covered the whole screen)

-sprinting and crouching are toggle (instead of hold) by default, which i’m not really used to. i don’t know what the industry standard is here, but it took me a while to realize that; i thought sprinting was just unresponsive

-as for the gameplay itself, i don’t know how much i can say: the enemies seem to be bugged, wearing no clothes and holding finger guns (see image attached)

-the enemy ai is… questionable… i played on the hardest difficulty i could find, and the ai doesn’t seem to be that big on aiming weapons at the player. they strafe around, sometimes aimlessly, and just act like they’re shooting you when they really aren’t. it doesn’t help that they’re pointing finger guns at me

-i couldn’t find a way to get more ammo, which is weird, because i want to shoot my guns in a shooter game. games with limited ammo tell the player that they have to pick their fights and make use of the ammo they’re given, but in this case, there seems to be no reason for there to be limited ammo in the first place as it just ends up making guns useless.

-wave 2 seems to be very long, spawning about 100 enemies. i couldn’t personally find all of these (though they kept shooting), so i got stuck on wave 2 forever

-the animations aren’t loaded beforehand, making for a very awkard first equip on all the items

-you can break enemy pathing very easily by jumping over/sliding under something. the ai can’t do this so it finds a path all the way around, which you can exploit by going back and forth

-there’s a lot more sadly but this is just what came to mind first. i hope the game isn’t in a finished state yet

1 Like

The shop works fine, sorry about that. Not sure why I was having problems before.

Thanks for satisfying my curiosity and explaining the other things you did.

1 Like

I’ll come clean and say I’ve been a bit gentle with testing the AI and I’m sorry for you to see all these bugs, missing clothes and finger guns are certainly new though. I’ll see what I can do about the AI potentially in a v1.1.0 update.

However smaller things I can fix such as the loading gui could come tomorrow if I have time hopefully.

Honestly the ammo is a complete oversight when I switched from Objective based gameplay to longer wave based gameplay, I reckon gaining ammo on kill would be a good temporary idea for now which I may be able to do tomorrow also

About the toggle controls there did in fact used to be hold controls for sprint and crouch until just before v1.0 (v0.41.7) but removed due to issues and bugs I was having, I think I can make toggle or hold an option within settings at some point

Thank you for playing the game and telling me about these issues however, it’s very valuable! And if you could tell me about the “a lot more” that would be great

a lot more Basically was just me saying that it doesn’t yet have that ‘game feel’. don’t get me wrong, certain aspects are really really cool (the weapons and their animations for example and all the non-gameplay systems already made (THOUGH most of them are pretty buggy)) but it currently feels more like a scripting exercise than a game, if you get what i mean. i would study the games your game is inspired by (i’m guessing payday?) and try to figure out what they do to make their game feel like one.

most of this boils down to gameplay design, as there’s currently no real challenge as the game is a breeze. i’m admittedly not a (good) game designer either, and i have yet to make my own pve shooter, which i’m planning on doing after this current project – so take all of this with a grain of salt

1 Like

Wave 2 being very long and spawning loads of enemies isn’t intended so I disabled the newer changes I made to the wave system. As of writing I expect this version to stick around for a little while until I see what’s wrong with the AI next update but here’s basically everything else:

Criminal Empire v1.0.8 → v1.0.9

  • Added “Toggle Crouch” setting
  • Added “Toggle Sprint” setting
  • Added ammo boxes that spawn throughout the game
  • Loading gui now fills the screen
  • Initial weapon animations are now preloaded [Idle, FirstEquip, Equip]
  • Enabled more combat music
  • Disabled more recent changes made to the wave system temporarily
  • Moved v1.0 changelog to Archives and replaced with v1.0.x changelog

(to ns2k we made our accounts 4 days apart what are the chances)