Devlin Willis

UE4 Gameplay Engineer
Independent Contractor for 3 years

small prototypes

Often you just want to see if an idea works. I’ll occasionally take a quick stab at something, and doing so provides exercise for my rapid prototypingThis can be described as a quick pass, or just getting something down on paper. This often involves "letting go" of some best practices, although good architecture can enable rapid prototyping. This term may also describe a phase of development wherein the mechanics/features of the project change rapidly as the design is fleshed out more.... skills. Here is a small sample of features I’m responsible for, with implementationImplementation refers to either making features work or integrating assets. The execution of ideas. Implementation is connecting the pipes and running the wires.... in either UE4 C++As Unreal Engine 4 C++ makes heavy use of macros and is garbage collected (among other things), it differs in significant ways from standard C++.... or Blueprint Visual ScriptingBlueprint Visual Scripting (BP) is Unreal Engine 4's solution to the problem of slow iteration. A designer/artist/scripter can make smaller edits/mechanics without fully recompiling the game/engine. It is node based, where the developer can connect functionality and data without having to worry about syntax or a context shift.....

Virtual Shopping Prototype
Randomized Building
Ability Image Map
Interactive Foliage (how-to)

Source Control

Of great importance to any project is the notion of not losing progress due to a mistake or hardware failure. What is often referred to as source control, or version control software, is a common tool used to ensure everything continues to work during development.

Implementation

Whether you want your game developed in UE4 Blueprint Visual Scripting, UE4 C++, some combination of the two – or even just with “vanilla” C++; I’ll do it with your preferred style in a way that your team can extend on their own.

Game AI

Games which play out the exact same way each time are boring. Variety is the spice of life, they say – why not bring some interesting behavior to your project? Whether its boots on the ground or a patrolling airplane squadron, I’d love to take a look.

Art/Anim Integration

You’ve worked hard to source (or create, commission, etc) the animations most suited for your game. Why worry about if they’ll ever make it in? Alternately, I can take some load off of your art team for edits or tasks that don’t require their well-trained eyes.

Consultation

Nobody likes to go it alone, especially when they don’t exactly know where they are or their destination. Regardless of your scopeSimilar to a Milestone, a descriptive set of goals for a phase of development... – just looking for an opinion or seeking a longterm plan – I’ll gladly jump in and provide the facts as they stand.

Perforce
SVN
Git
UE4 C++
Blueprint Visual Scripting
C++
Java
Python
External Frameworks
Controller/Behavior Tree
Environment Queries
Complex Behavioral States
Perception System
Persona Anim Graph
Montages
Blendspaces + Offsets
Level Editing/Composition
Material Editor/Funcs
Cascade
Creating Actionable Design
Organizing MilestonesA well-defined feature/mechanic list which differs from a Scope of Work by being paired with deliverable(s). The more defined, the better, things not present aren't likely to be in the deliverable. Decent examples include feature/title updates - or the Beta phase of a game....
Personal Tutoring/Training
It is my belief nobody can be at 100% at any skill. There is always room to grow. These bars are loose estimates and are relative to each other and not any particular external example. 

Source Control

Implementation

Game AI

Art/Anim Integration

Consultation

Source Control

Of great importance to any project is the notion of not losing progress due to a mistake or hardware failure. What is often referred to as source control, or version control software, is a common tool used to ensure everything continues to work during development.

Perforce
SVN
Git

Implementation

Whether you want your game developed in UE4 Blueprint Visual Scripting, UE4 C++, some combination of the two - or even just with "vanilla" C++; I'll do it with your preferred style in a way that your team can extend on their own.

UE4 C++
Blueprint Visual Scripting
C++
Java
Python
External Frameworks

Game AI

Games which play out the exact same way each time are boring. Variety is the spice of life, they say - why not bring some interesting behavior to your project? Whether its boots on the ground or a patrolling airplane squadron, I'd love to take a look.

Controller/Behavior Tree
Environment Queries
Complex Behavioral States
Perception System

Art/Anim Integration

You've worked hard to source (or create, commission, etc) the animations most suited for your game. Why worry about if they'll ever make it in? Alternately, I can take some load off of your art team for edits or tasks that don't require their well-trained eyes.

Persona Anim Graph
Montages
Blendspaces + Offsets
Level Editing/Composition
Material Editor/Funcs
Cascade

Consultation

Nobody likes to go it alone, especially when they don't exactly know where they are or their destination. Regardless of your scope - just looking for an opinion or seeking a longterm plan - I'll gladly jump in and provide the facts as they stand.

Creating Actionable Design
Organizing Milestones
Personal Tutoring/Training
It is my belief nobody can be at 100% at any skill. There is always room to grow. These bars are loose estimates and are relative to each other and not any particular external example. 

As these are only estimates, I won’t be covering ranges and what I mean by those. I’ve assigned a percentage to these bars in line with how I view that skill relative to my other skills. As an anchoring point, I’d take on any project in UE4 C++ even if it were modifying a part of the engine I’d never looked at (not to say I’d breeze through it or ‘best’ somebody with knowledge of the specific system), while I’d want to take time to fully explore the Perception system before choosing it as part of my go-to AI toolkit.

  • Primary Skill: Proficient, with years of experience. Listed in Green. 
  • Secondary Skill: Competent, at least a month of experience. Listed in Blue.

Listed above are what I consider to be my strengths, where I break down the larger skills into smaller areas.

There are clickable links embedded throughout the page so try hovering over elements like icons and titles. These are external to this page but will more clearly demonstrate my knowledge of the given area. These links will vary based on what the category is – I’m not going to link you to a production repo to demonstrate my knowledge of p4, for instance – though I’ll probably link to, say a Github.

The key word here is relative, as if I don’t feel competent at something I wouldn’t offer my services at it. Nothing listed above is something I can’t do. As a baseline, you can expect professional level performance on any skill listed. The higher bars are where you can expect me to shine.

I wouldn’t say that I’m less knowledgeable, but I’m certainly out of practice and would need to “shake off the rust”. The majority of my experience has been with non-AI mechanics and I don’t often work on AI these days, but when I can I like to experiment to see what I can do with my enemies. 

Most of my experience with this system has been from the C++ side of things, where I’ve implemented sight-detectable actors and configured things to detect them. I’m more familiar with the simpler PawnSensing- but Perception is more generic and expansive. Agents can have multiple senses, even custom types which aren’t directly related to reality. Stimuli can expire, so its easier to have transient “events”. 

To implement a smell outside of perception, you could spawn a “breadcrumb” which ages over time. You’d use EQS maybe to find the oldest crumb which the agent would reach in time, and then follow the trail as a linked list. Or perhaps something else. With perception, you’d just register a source which creates events and when you want to grab the stimuli, you can do so all at once – by sense or altogether. 

If you’re working on a game which doesn’t use Unreal Engine 4, we can still work together! Obviously my skillset is oriented around that engine, but I’ve got experience outside of UE4 and should be able to transition to your codebase. If you’re using a publically available engine, I may opt to learn the engine for free provided that I can still pick up the work afterward. If you’re looking for somebody who can jump directly into your project yesterday, just keep this tab open and come back if you can’t find somebody more qualified for your engine.

Great to work with, very personable, completely trustworthy. Clear communicator. Third time working with him, and I'll certainly be back.
Robert Menna
‘Base Competency’ skills which I can do but won’t land me a job.

Image Editing

I can edit images in almost any tool which is similar to Photoshop, GNU Image Manipulation Program, or Paint.net. These programs allow for non-destructive workflow involving filters or generation tools. They're extremely deep, and I only just scratch the surface.

Microsoft Office

Probably not the entire suite, alright? But I can use the more "mainstream" programs to make things that are presentable. I'm more familiar with LibreOffice, but all that office software is the same- Right?

Audio

See now, this is where we're going to stretch "base competency". I can record sound on either my desk mic, headset mic, or my phone and then strip it down and edit in Audacity. Its not much, but at least I own my placeholder sounds. Also, I can use a "DAW" ? As in FL Studio. Never really made a hit song though 🙁

Video Editing

Oh yes, I can do this too. I briefly edited videos for a YouTube Channel which I was attempting to start up, and I have minor experience in Sony Vegas, Microsoft Movie Maker, whatever the apple equivalent to MMM is, and HitFilm Express.

3D Art

I actually have several programs related to 3D art which might be unusual for a programmer. The obvious first choice is Blender, but I also have Modo and MARI. Yeah, that's right. And I can't even get MARI to work all of the time. I am not scared to make programmer art whatsoever.