It's been 3 months since we last posted about our first person shooter game, The Range (working title). As I sit down to write this, I realize that while a lot has happened in that time, the project also suffered a bit of a lull. But we've caught a second wind in recent weeks and the project is gaining ground.
A Word about Lulls
In my career, lulls and uninspired seasons of production are extremely threatening to a project. Whether it's a feature film with millions of dollars behind it or a passion project with friends, I've seen distracted, unproductive stretches absolutely kill projects. Maybe it doesn't bother some people as much as it bothers me. Perhaps some see it as a natural way of weeding out "unworthy" projects from the "worthy" ones. For me it's pretty upsetting when a creative idea, birthed by such excitement and passion, dies. They inevitably live on in my head as milestones of missed opportunity. (Sheesh, my work music today must be particularly emotional or something...)
My point is to nurture the passion that inspires your projects. Beware of the lulls that will come and do what you can to maintain momentum. "How," you ask? That's the trick to figure out; there isn't a formula. In my experience it's been a combination of a few things:
- Small victories during production; stuff to mark off the list that definitively proves progress.
- Collectively reminiscing and expressing as a team about what was and is exciting about the project.
- Brute-force discipline. Passion projects are always a daunting amount of work. Work that every team member needs to DO, plain and simple. Be inspired and challenged by this profanity-laced advice from Beeple: An artistic juggernaut that has done more digital art by himself than most digital artists combined.
So what has happened with the FPS project?
First Courses Recorded
Being CG Cookie, our passion projects are two-fold: 1) To create something awesome and 2) to share great education about that awesome thing we created. The latter extends the project's production timeline and can cause lulls, so we've learned. But that's what we've been doing the past few months and some excellent courses have come and are coming from the project!
Courses directly inspired by the project:
- Intro to Normal Map Modeling for Games: This conceptual course from Jonathan Lampel evolved from things we learned from modeling assets for the FPS.
- The Blender & Substance Texturing Workflow: Another conceptual course from Lampel about using an game-industry-standard application in conjunction with Blender.
- Fundamentals Multiplayer Games: This course from Gonzo teaches fundamentals of multiplayer development with Unity, which is a big part of his work on our FPS.
Courses directly teaching aspects of the project:
- Designing a Robot Character: Tim's course about his workflow for concepting the robotic protagonist of our FPS. It's recorded and almost ready for release!
- Modeling a Robot Game Character: My course about modeling the robot Tim designed is complete and releasing this week! It evolved into a comprehensive 37 lessons and covers one of my most intricate modeling workflows to date. Check out the trailer:
Game Asset Progress
Lampel has continued his work with the game's weapons and they're turning out really well! He's finished PBR-based textures and shaders that he painted with Substance - So you can expect some more Blender + Substance education coming down the pike.
In addition to building the weapons, Lampel has rigged and begun first-person animation. Like most of this project, first-person design is a first for us and we're learning really cool things about it. All of which will be shared with you in time.
Gameplay Development
Most of Gonzo's dev effort lately has been focused on the third-person character controller. Despite this game primarily being a first-person game, third person animation is necessary as the player will see other players running around. So we decided to start here with hopes of working out the kinks of a Blender-to-Unity pipeline so that we could approach the first-person animation (arguably more important) with a refined workflow. Accomplishing a high-quality third-person controller has proved trickier than anticipated. Having no game dev experience myself, everyday I'm realizing the crazy problems dev have to solve behind the curtain. Devs are magicians!
It has been quite tough to nail down the proper feel [of the third person controller]. Currently we have what feels like a smooth controller while on the ground, but airborne states are still a work in progress. Getting animations to sync properly with the controller or vice versa can be quite challenging but we're learning a ton along the way and we know it will only benefit our members when we teach what we've learned. -Gonzo
We embedded a WebGL version of our 3rd-person testing stage. It's simple, just the ability to walk/run the character around and jump. It's not perfect yet, especially jumping and falling big distances, but please poke around and comment with feedback if you have any! Also let us know in the comments if the build runs smoothly or choppy on your computer. Keyboard controls: Mouse to look, AWSD keys to move and SPACE to jump.
If buttons do nothing, click in the window. ESC key to exit (make mouse cursor re-appear).
Project Management
Another thing the team has realized is the importance of organized project management. Until last week, we had primarily been sharing files via Dropbox and posting updates/communicating about the project via Slack. We had zero granular asset tracking and no Unity project versioning systems in place. We know now that this cannot fly. We instituted Unity's built-in "Collaborate" feature for syncing Unity project files among team members - which is separate from file storage on Dropbox.
We also found a site called "HacknPlan"that's designed specifically for game development task management, and it has a free basic membership. Both are still new to us but they've been hugely helpful so far. Admittedly, project management wasn't something we expected to learn and eventually teach, but it's a pretty clear necessity at this point, even for small teams.
That's all for now. Till Next time!
See previous Dev Logs for more info about our FPS project: Building an FPS #1 / Building an FPS #2 / Building an FPS #3
jgonzalez i liked the presentation of firewatch, they discussed their workflow to work on the game. Not sure how sensible it is in general since i have nothing to compare it to. but interesting anyway. https://www.youtube.com/watch?v=hTqmk1Zs_1I
Hey after modeling the robot game character can i use it in my game ?
Hmm..that's a good question. In theory, yes I suppose you could. You could maybe upload an image and add the embed code in the description - see if that works?
Kind of a side note, but is embedding WebGL a way to share games we are working on in the gallery or forum sections of CGCookie? I've been wondering what the best way to share games is and what kind of size limits or other concerns one would need to be aware of.
I think that would be a great tutorial to have. Perhaps, paths and thoughts on developing a team to start with as well.
Wowzaas. That's one well-oiled CPA firm! No guarantees that our humble team of 3 will be that refined, but we absolutely will get better at project monitoring, and we will share what we figure out. We'll shoot for monitoring like it's a toddler :D
I like the project management brief mention in the article. It makes me think of the workflow at the CPA firm--everything is run like a factory conveyor belt, and every time someone touches a folder, we cause a trigger event in the software. At any given time, we know exactly were a folder is located, the status, current time, and budgeted on each step.
Those of us in the prep stage have to stress until the finished product is out the door and billed; the dashboards (main status screen) get huge a couple months prior to federal due dates--ha; and if a folder goes missing, it is very embarrassing for the preparer since partners will make a point to interrupt the whole office to find it, stopping production, then everyone in the office is running around--needless to say projects are monitored as if they are infants.
Seriously, working as a team is an art form in itself.
Thanks for the love, diaoheyhey! We aspire to make future games for all popular genres. As an FPS, you can bet on some game FX education to come from this project.
Thanks, me1958424!