Main

Making TF2's Engineer into a Single Player Game

Please don't judge my game development skills off of my bad TF2 gameplay. I had like 4 hours to record all of the footage. Judge them based off of my bad animations. Thank you. https://twitter.com/JayTheDevGuy Clip & music credits: Engineer clip from Grogcito: https://youtu.be/0GnPL0IhttY?si=vd0NR3YLXAW_htWQ Nuclear Throne JW art mod from ledraps22: https://www.youtube.com/watch?v=8E_j9kyRBBI&lc=Ugwf8eHyfjFqQDDOqZp4AaABAg.9vNILLqkwpZ9vZfuAQsqV4 Engie Man Ocean Man parody from Uncle Dane: https://www.youtube.com/watch?v=M0C5elI9K3M

JayTheDevGuy

4 months ago

hey I'm Jay the dev guy and I played a lot of Team Fortress 2 in high school and I'm older than I sound so it's been a little while since then but it doesn't surprise me at all to see TF2 still going strong and after reinstalling it for this video it's easy to see that Team Fortress 2 really is a Timeless [Music] Masterpiece but seriously the creativity of the mechanics in this game are still some of the best that I've ever played I mean find another game with something like the Yuri t reward wh
ich is a knife that lets you disguise as an enemy player after backstabbing them or the Direct Hit which deals more damage to Knocked back enemies but the rocket moves so much faster than the default that it makes getting these trick shots harder but so much cooler or the extinguisher which deals critical damage to players that are on fire letting the Pyro perform these sick melee oh okay they nerfed this since I last played but still these mechanics are so fun that I find it really surprising s
ingle player games haven't stolen more from TF2 take the engineer he's just a Texan man that can build an aimbotting sentry gun to play the game for him it's a pretty simple idea from a game design and programming perspective yet I could find almost no single player games that use them as a template sure other multiplayer games have a worst tf2 engineer but this concept feels like it's begging to be used as a foundation for a little indie game and I'm a hack wannabe YouTuber with a full-time job
so I'm happy to just steal someone else's game design Vlog about it so this is me turning the tf2 engineer into a single player [Music] game I'm really excited for this idea and not only because I just find it to be a fun premise for a game I genuinely want to play myself but also cuz it feels like something attainable for me as a solo developer to actually get done the gameplay Loop can be focused on Surviving waves of enemies with you and your buildings meaning I don't have to make a ton of d
ifferent levels to make it fun I think of games like Devil daggers or hyper demon arcadey shooters that just feel good enough to play endlessly despite being pretty simple in concept these simple premises can do just one thing but do that one thing going as hard as possible and what's nice about me using a multiplayer game like tf2 as a template is that as a multiplayer game TF2 had to be at least somewhat balanced around how it feels to play against each character whether the T of 2 engineer is
successfully balanced to be fun to play against is open to interpretation but since I'm making a single player version I don't care how unfun it is to be on the receiving end of my sentry gun so I can crank everything the engineer already has up to 11 without a care in the world I can go as hard as I want I mean I won't go as hard as hyper demon to be clear but I can still have a lot of fun with [Applause] this but before I do I think I need to break down how it feels to play engineer and what
makes playing him different than playing other single player games already out there there are plenty of games about letting your autonomous minions do the work for you so I've made a few important distinctions that I think make the engineer feel different to play number one is building freely in a 3D space instead of on a grid it may seem like a petty distinction but I genuinely believe the ability to place a building anywhere in an organic environment makes the engineer feel much different com
pared to placing a pond on an artificially Perfect Game Board number two is just having a small handful of simple buildings even with all of tf2's gimmicks the engineer can never have more than four buildings out and they each serve a very specific role the Sentry shoots the dispenser gives health and ammo the teleporters teleport while some gimmicks can add minor complexities to your buildings like the wrangler's manual aiming of the sentry gun or the Gunslinger mini Sentry the engineer is neve
r commanding an army of robots like you'd commonly see in something like a a tower defense game or something like that three is that the player always controls the engineer staying in the action and forced to navigate the combat area by foot you know no ambivalently staring down watching the game play out from above you're a squishy killable fella the entire time the game is running and so with the essence of the engineer distilled into those three parts I got to work on a prototype I gave the p
layer some basic movement he can run jump Crouch all the basic stuff I didn't want to code too much since I'll probably overhaul his movement later but I couldn't help myself from adding things like coyote time which if you don't know what that is it's an extremely common mechanic in Platformers where you can jump even after you've walked off a ledge so every time the character walks off a ledge in this game a short timer starts and if you jump within that timer the game will let you jump as if
you were still on the ground it it just helps prevent moments where it feels like you should have jumped even though you were technically a little too late but I've got a lot to do so moving on something I like to do as early as possible is getting in placeholder art and I've always really liked skull girls's method of placeholder art they just import the rough sketches right into the game engine for testing before they do any polishing it gives the characters this beautiful handmade Edge that I
think something as digital as a video game really benefits from and a much uglier reminder of the human touch that I love just as much is programmer art my favorite example is nuclear Thrones during Early Access JW the lead programmer would create his own crappy placeholder art with a mouse but of course players were endeared by the crappiness MS paint placeholder art and it became a beloved staple of the game's development and it's easy to see why so I wanted to have skull girls's Charming han
ddrawn placeholder sketches and cheap memes and uh I don't think there's a better way to do the I just I added Uncle DNE to my [Music] [Applause] game Christmas vsra I [Music] promise for the century I whipped together something even worse looking sort of like a a Plants versus Zombies peashooter and after playing around with these placeholders in Unreal Engine I'm I'm really happy with the results I'm doing a lot of the trick that I've learned about making 2D characters look good in 3D worlds t
hat I talked about in my first video you should check out if you haven't seen it yet uh I just really love having handdrawn cartoons move freely within 3D games and I'm really happy the style continues to work for me but my Sentry needs something to shoot at so I coated a basic enemy and had them drop pickups that can be collected they attract to the player when you get close enough and coding something simple like this takes a lot more thought than you'd probably think so to get started making
this pickup I gave it a large Collision that when overlapped by an actor who's capable of collecting the pickup starts to move towards them but there's this problem where if I overlap the Collision through a wall the pickup has no idea there's a wall in between itself and the other character all it knows is that a valid actor overlapped its Collision so it just goes right through so to solve this I have the pickup just draw a line between the center of itself and the overlapped character and if
the line detects that there's a wall in between just don't attract to them but there's still a problem where if I initially overlap the Collision while blocked by a wall eventually I can turn a corner and gain line of sight of the pickup and since I never left and re-entered this Collision the pickup isn't doing that line Trace anymore to check to see if it can see me so an amateur solution would be to have the pickup just check for line of sight every single moment which would work since as soo
n as I turn a corner it would notice there's nothing blocking it anymore and would just start being collected but this really isn't the ideal way to program something like this for games and while this example by itself isn't going to give any any PC any trouble or lag or anything like that just getting in the habit of running logic like this every single frame will lead to the game lagging a lot earlier than you'd probably think a simple solution would be for the pickup to just check for line o
f sight every half second or so and in practice I found this to be totally fine this sort of Staggering of this logic that you could run every moment but instead just run from time to time is very common for games to use in logic like this that isn't absolutely critical to have every single frame the game is running there's a lot more logic to this pickup and I know this is a pretty long tangent for something is seemingly unimportant as an item pickup but I just I hope it highlights the thought
that goes into these things that are super easy to take for granted when we're just playing a game but anyway to pick up the pace again I wanted all my enemies to be evil robots so I made them into Wall-E but I wasn't sure if it clearly communicated that they were a bad guy so I gave Wall-E a gun and we all know that the only thing that can stop a Wally with a gun is a good guy with a gun so I had to code one for the player for now I'm basing the primary weapon around tf2's rescue Ranger which i
s a shotgun for the engineer that shoots projectiles instead of bullets and it hurts enemies but it heals your Sentry and now all the basics are in and these are definitely just the basics but I'm hoping that this simple game Loop succeeds in what I want out of an engineer single player experience the enemies drop pickups which encourages the engineer to be right where the action is and since the pickups time out it forces you to get up close rather than just play clean up after your Sentry has
killed everything in the room for you and your healing projectile encourages you to place your Sentry where you can have line of sight as you move around the map and I think this is a great foundation for a game that I hope you're excited about watching me develop in future videos this prototype is at a really exciting stage for me right now and the possibilities for things to talk about in upcoming videos seem endless like what other buildings is the engineer going to be able to build in my sin
gle player version are there going to be variations or multiple different kinds of sentry guns like what different enemy types am I going to put in what other weapons from TF2 can I just steal you know the drill you know you can do the YouTube stuff liking the video really helps and of course subscribe to see everything I'm going to make next but what I really want to encourage is if anyone has any ideas for things I can implement or simple mechanics that can make this better really please do le
ave them in the comments I'm super eager to hear what you guys have to say okay I got to go you know make this game but I got to sort of put a bow on this video first wrap it all up I was thinking ending it with another TF2 YouTuber reference so well I I put germa in the [Music] game I I hate my they got to be kidding me

Comments

@UncleDane

Dude, I was invested from the concept of this project alone, but making the player character a rotund rolling version of me?? I am now subscribed and patiently awaiting updates.

@nitefurie.

Engineer is already a single player game for new players: 1. Build teleporter from spawn to intel 2. Put everything else in intel 3. Do who knows what for the next half hour

@extrathings3981

Uncle Dane being the protagonist, a Peashooter being the sentry, Wall-E being an enemy as well as Jerma is going to be and awesome meme game, I can't wait for an alpha or something to be released.

@jaakarimiquel8473

The item pickup tangent is important. People clearly don't do optimizing anymore and everything becomes a laggy piece of shit because of this. "Everyone has 4ghz processors now, I can use caveman code and it'll be fine"

@madengineerkyouma

To perfectly mimic how it feels to play Engineer, there NEED to be some bots that behave like Spies in at least some aspects.

@afosandstufflol

You could add something like MvM's sentry buster- A fast and tanky yet pretty harmless enemy that bolts to the sentry in a kamikaze move, blowing itself and anything around it up.

@real_Clone_Gordon_Freeman

Suggestion: Make it so when the engi teleports he crumples up into a ball then uncrumples at the exit teleporter and perhaps as an Easter egg he'll rarely form some sort of origami, and perhaps give the game a sort of "blueprint" art style so it's paper aesthetic has continuity

@-AGGRESIVEPEANUT-

There's a game called Deep Rock Galactic that has a pretty good engineer class. His base loadout is a shotgun, a grenade launcher, a platform gun, and a sentry gun. You don't babysit the sentry gun besides refilling it after a major swarm. The engineer is extremely squishy (in my experience) which makes him a great team player when in co-op. This was a good video. 🎉🎉🎉

@blehmeh9889

What's really funny about this is that there's an old design doc for the mod version of Team Fortress that came out for Quake way back in the day (which led to Valve acquiring the team behind the mod and making Team Fortress Classic and then 2). The lead developer of the mod, Robin Walker, wrote down the purpose and inspiration for each of the 9 classes in the game, and for Engineer, they wanted to make a class that was "easier for a non-hardcore FPS player to approach". They had played a lot of Command and Conquer (a real time strategy game with both singleplayer and multiplayer gamemodes), and got the idea to give a class the ability to collect resources and construct buildings not entirely unlike an RTS game. So, they took the singleplayer aspects of an RTS, fit them into the balance and mold of a multiplayer first person shooter, and now a little over 20 years later we're going full circle and taking that multiplayer- adjusted design and putting it back into a singleplayer mold.

@chickenman22710

Oh man, this style of content is a breath of fresh air! Your method of the "one on one commentary" bits with the paper cut out man over the drawn background is super entertaining, despite its simplicity, and the stuttering outlines also make the scene come to life. Loved the music and humor. Keep it up and you'll go far!

@blocky_luke

Personally i think what makes tf2 engi so fun is the rush of protecting your sentry while running around upgrading and grabbing metal while dealing with spies n stuff

@goodgamingdavid1533

I feel like making it so there’s no teleporter entrance, and the exit just spawns friendly NPCs would be cool.

@charlesgillespiev

I think an important part of the engie game loop its easy to overlook is moving objectives. With engie it's easy to find a good spot and turtle, but by forcing the engie to move every so often he's forced to find new places and haul his gear, making him vulnerable. I'd love to see some version of that in this game, even if it's as simple as just telling the player to get in a different part of the map every so often.

@spectacledman

I may be focusing on the wrong thing here, but this video is beautifully animated - both the stand-in models for your game and the in-betweens featuring your paper cutout. Your artstyle genuinely feels inspired.

@stradorious4467

Factory building that manufactures engi’s own good guys version of robots that can be commanded like in RTS game would be an incredibly cool concept

@Manofthemusics

You could have a “rolling sentry” which when you right click, goes to that area in exchange for shooting slower or doing less damage or whatever

@hamnotpork7178

Suggestion: The player can change the environment with origami! Maybe you can have three mini sentry's you can fold onto walls? Or make a ledge for a sentry to sit on?

@dextergibson4871

The first things that come to mind for things in TF2 that could fit into a game like this are the silly Halloween spells and the Eureka Effect's insta teleporting to your tele exit.

@HypnoSpec

Game dev honestly still seems pretty intimidating, but it’s always fun to see people talk about it and feel good about my ability to understand the things you’re saying. I’d definitely love to see more of this game’s development in the future.

@a52productions

I'm glad you brought up the item pickup code, because I had almost the exact same problem and solution for a different application! I was making a grocery store where the purchasable items had physics, and there were a LOT of little items that needed to know their distance and LOS from the player in order to set their LOD and physics state (enabled or disabled) correctly. What ended up working out best in my case was sending out an event to a rotating ten percent of nearby objects every frame the player moved. (I also sent out events for the next ten frames after the player stopped, to make sure they all eventually got the most recent information.) Distance calculations/collisions could be done every frame, but the more expensive LOS calculations and LOD-swapping were only performed whenever it was that object's "turn". I did this instead of just reducing update rate because I wanted to make sure there was an even distribution every frame, and that there wasn't too much work being performed on frames the player had been standing still for a while. Looking back on it, it was probably overkill, and a simple timer on each object probably would have worked fine. But I liked the elegance and control of it.