Download

Police State - UE4 FPS/TPS tactical shooter with a research focus

Figured I’d share a quick work-in-progress video.

Got some assets off the marketplace to start work on this over Xmas. Obviously based off shootergame right now until I redo the character controller. Its basically going to end up being a FREE tactical shooter (like SWAT 3/4, Ghost Recon, FSW, Rogue Spear) but with a twist in that everyone who plays it will be generating data for academic research of games (so I can finally finish my PhD).

It’ll feature procedurally generated missions/levels/other stuff and will provide a testbed for a number of research questions (which I can’t tell you right now, but obviously will be freely available once published).

https://youtube.com/watch?v=hZ9Ftm2fJVc

In case you’re wondering, it will likely have a fairly political slant to it. I’ll experiment with characters other than the prototype characters at some point too, but right now I’m focussed on building basic gameplay (all the fun gadgets from SWAT for instance).

Did I mention it’ll be free? :slight_smile:

Oh yes. And multiplayer. Although hosting a MP game doesn’t fill me with happy thoughts, so maybe that’ll come later. I’m an AI guy after all :slight_smile:

Looks like fun already. Nice AI. I can easily visualize a Tactical Multiplayer Co-Op against AI Bots in Procedurally Generated Missions. Will the game have Sci-Fi Weapon elements?

That’s just the default shootergame AI right now. So its pretty dumb :), but I’ll be adding more squad behavior style AI at some point.

I’m not sure about the sci-fi weapons part to be honest. My preference is probably to keep is more “realistic” in that I’d like to be able to reskin it with say current military models and still have it work. There are quite a few hi-tech pieces of equipment out there in the police already, so I’ll probably just add in those parts that feel hi-tech and call it done. Its more about tactical movement and squad command/control for me. I want it to play out a bit like the old school tactical shooters did. Lots of breaching of doors, covering potential firing points, setting up perimeters etc.

Its a bit of a lost art to do tactical FPS games. Most of the games touted as tactical right now (i.e. insurgency) seem anything but tactical to me. So I’m going to try and stay true to the principle of those games (the careful movement, the planning, the spatial awareness). In a way using the prototype artwork off the marketplace is at least allowing me to get something that suggests “this is a work in progress” off the ground without having to deal with the baggage of being recognized as another game. Which is nice!

Been trying to get a test level together, noticing some weirdness when I’m building using BSP’s. I guess they aren’t the way to build things these days? Kinda sad really.

No Sci-fi…Ok…:frowning: The placeholders got me all excited. I’ve been longing for a “futurealistic” Tactical FPS since 3DO’s Space Hulk back in 1995. I’m very interested in Game AI and developed Behavior Trees in UDK. I’m glad to see them be adopted by Epic in UE4. I’ve examined other AI techniques such as HFSM and Planners. I still haven’t wrapped my head around Planners…lol. I would expect a Tactical FPS to have AI-Controlled Teammates (that can be possessed by Players at anytime for co-op multiplayer), so, I’m looking forward to how you evolve the both friend and enemy AI.

Although not tactical games: Army of Two and Left 4 Dead provided impressive AI controlled Teammates which added to the Fun Factor when playing the game Solo. Another aspect I enjoy about Army of Two is the customization options for Characters and Weapons. You mentioned developing a parts swapping system in a previous thread, do you intend to include such a customization system in the Police State?

I’m probably going to be using a HTN planner for the mission generation. Its done OK for William Van Der Sterren and his CGFAI planner for Arma, so I’ll try that approach first I think. I’m interested in a constraint satisfaction approach too (Ian Horswill’s stuff springs to mind).

Yeah, AI controlled team mates that can be kicked out as humans join the game is my goal. At the very least I want to be able to have squads of four-eight on the police side. I’m toying with the idea of doing asymmetric game modes though, I really want the game to be far less predictable than most shooters (hence the need for procedural generation of the space). There’s something to be said for people knowing the map in terms of landmarks and awareness, but it really sucks that most “tactical” games come down to learning when to throw a grenade at a choke point. So I’d rather go for a more dynamic environment where people have to put effort into gathering intelligence on enemy locations etc. I think the BF2 Mod Project Reality did that particularly well (judging by the youtube videos I’ve seen of it).

Regarding the weapons. My plan is to have a component based weapon system. I’ve not worked out the exact architecture for it yet, but ultimately I’m planning on a state driven event based approach to it. I’ve used a simple version of that in the past and I really quite liked how it worked (so firing was a “trigger” component that simply sent a “start firing” event, the actual creation of projectiles was done by a firingmechanism component etc). Advantage being that you can show it all visually by having each visual component replace a default component for that particular usage. I guess it’ll end up as a simplistic version of Borderlands weapon system.

Its really early in the development though, so who knows where it will lead. I’m taking it easy and just going with the flow :slight_smile:

That’s sounds fantastic! Below is a 10 year old Modular First-Person Weapon Customization System concept formerly dubbed GunVertor. I’ve always wanted to develop this system, but, lack the skill required to produce the needed 3D Assets. However, we both may be in luck as TAN_ has expressed interest in collaboration for authoring modular entity assets specifically for such systems.
[TABLE]

Chamber: The Weapon Core Component in which other components connect into. It is the mechanism loads ammunitions from the ammunition storage into the weapon, applies motivational force, directs ammunition through the barrel, and ejects ammunition byproducts. Chambers effect the amount, type and speed of loading ammunitions.
Barrel: Projects the ammunition. Barrels effect ammunition range and dispersion. Long Barrels produce long range/ narrow dispersion; Shorter Barrel produces short range/wide dispersion. Barrels also provide a ‘heat sinking’ for the weapon.
Loader: Can be attached to the barrel or magazine. Loads ammunition with Hand2.
Trigger: Control mechnism that activates Firing Unit/Mechanism. The Trigger determines how the user can fire the weapon. A weapon can posses multiple triggers.
Firing Unit/Mechanism: This component provides motivational force to a ammunition. High Quality Firing Units can project ammunition a great speeds long distances.
StockGrip: Absorbs Recoil. Recoil can effect weapon handling and accuracy. High Quality Stocks can absorbs greater amounts of recoil. Handgrip attaches to player.
Magazine: Magazine/PowerCell/Canister are storage components. These components effect Ammunition Refill/Recharge speed and Storage Quantity
AmmoMeter: A 3D HUD Display for Ammo Count associated with the magazine.
Scope: A HUD accessory component that assist in visibility of the target (ie: Zoom, Infrared, Thermovision)
TargetReticle: A HUD accessory component that assists in targeting and locking.
Distorter: This accessory attaches to the Barrel of the weapon to muffle sound of Solid Ammunitions or change the visual characteristics of Energy Ammunitions.
Bayonet: This Blade Weapon accessory attaches to the barrel of the weapon and used as melee weapon.
**Deflector **(not shown): This accessory attaches to the Chamber or Barrel providing defense shield capability.

I wholeheartedly agree and understand. I appreciate you taking time out to discuss and answer questions. I would definitely like to wrap my head around a HTN Planner for mission generation. I think it would make for interesting RPG Quest Generation. Hmm, I wonder if there are any Fantasy-Theme Tactical Shooters out there. Anyways, I’ll keep my eyes on this one.

PS: PM me, if you’re interested in collaboration with TAN_ in regards to customizable system and assets.

You should think beyond just the gun here though. It needs to synchronize things like which animations to play on first and third person meshes. It needs to be able to handle different stances for the user (do things work differently if you are prone for example?). I think your modular gun idea is sound, but it needs to consider the bigger picture as well I think. Which is why I think a state-machine based component system is the right way to go. OK its not going to be as easy for people to just drop-in in terms of creating systems from scratch, but I think its the way of doing it with the most potential for fast turnaround of weapons. It would be possible to make it easier with a small editor magic, so that for the most part you can simply build off existing weapon templates.

I’d be up for a collaboration btw. I’ll PM you.

Turns out I can’t PM you as your inbox is full :wink:

zoombapup,

Slightly off topic here, but what happened to your AI video series? Been anxiously waiting for new videos…

I even went to such lengths to bother Mieszko (through RCL) to fix that issue with pawn hearing not working properly, just so your AI guard video #3 remains current.

You also mentioned in one of those videos that you were going to do some C++ code for AI as well, and PR it to Epic…is all that on hold now?

Thanks!

A couple of things have temporarily buggered my tutorial schedule up:

  1. I got a bit ill over chistmas/newyear so took a week off
  2. My students then all realized that they have a hand-in due monday next week and were in full-on meltdown mode :slight_smile:

I’m actually doing the code for a new tutorial (this one on steering behaviors) right now actually. If I can get it finished off I’ll try and post it tomorrow night. But rest assure we should be back in play with the remainder of the AI Mob tutorial series very soon. Unfortunately academic life does tend to come along in squirts. Sometimes I’ve got plenty of time and can enjoy just doing tutorials over the weekend. Other times I’m super busy and try and sneak them in when I have some spare time.

I’m always happy to help with my tutorials btw. I do get emailed when people respond to the videos so if you have any issues just make a post. I might have missed the odd one or two when I’ve been ill, but I’m generally pretty good for that kind of thing.

As for new tutorials. The flocking/steering/boids one was a request that seemed like fun. I’m going to finish the AI Mob one, then do an update to that one to use EQS. THEN I’m going to do a few gameplay style tutorials, first one on my list being an AI driven sentry gun (like the one from TF2). I wanted to check out the new EQS system so a sentry gun seemed like a reasonable idea.

Then we’re back into a new semester at work and I can plan on doing tutorials based on what my students are working on.

So yeah, been off for a bit with illness/work, but back now.

Glad you are feeling better now and are ready to jump back in…looking forward seeing more videos. :smiley:

Cheers!

Sorry about that, PM Inbox Cleared. There was a bit more to that 10 yr old design then just an illustration, but, I couldn’t get pass first base with assets for R&D. I totally agree with state-driven behavior, even standard fire weapons requires it as I quickly discovered this scripting the GraviTron in UDK:.

https://arcadekomodo.com/home/wp-content/uploads/2013/09/GraviTron_Operation.gif

I worked out a communications interface between the components to keep things modular, with the Chamber being considered the Core piece. However, I did not consider each component requiring its own state-machine or behavior tree. Today, I would take this into consideration eliminating a ‘core’ component, allowing for a more emergent behavior with the components collectively.

Yeah, I pretty much ended up doing a component oriented system very similar to Unity’s components. I also had a state machine editor (really simple one) that coordinated statefulness with other state machines. The state machine editor was really just to make it easier to visually see the coordination between components as you could visually see highlighted what the current state of each was. So for instance as one changed state you could see if the others were changing state appropriately. I think that was probably the most powerful debugging tool for the more complex interactions.

I tend to use the state/component/event paradigm throughout my codebases these days. Which is why the “components” in UE4 were a bit disappointing to me. I can understand they were worried about the update overhead of more active components, but using a registration model would have helped sort that. I still want to experiment with modding UE4 to allow a proper component composition model (i.e. a dynamic one even for C++ with the option to properly enable/disable components etc). I’m sure it wouldn’t be a huge amount of effort.

You need this:
http://www.tomlooman.com/getting-started-with-unreal-engine-4/

Quick preview of a tutorial I’m working on which will eventually find its way into PS. Sentry gun!

This uses the EQS system for target selection, which is the main feature I wanted to experiement with for this tutorial series.

https://www.youtube.com/watch?v=sdpYFjilnKE

Thanks, I’ll have a look at using that approach. Might well be useful!

@zoombapup any updates?