Coming to Life
October 31, 2021

Welcome - Happy Halloween

Welcome to our newly-renovated devblog, and happy Halloween to those of you celebrating! We wish you a bountiful harvest of treats this year, and we’ve got several treats in store! There’s been quite a bit of progress since our last devblog, which means there’s a lot to go over! There’s a general update to HL2:RA progress, web updates, and an exciting progress update for Project 17. So without further delay, let’s get started!‌

HL2:RA Part 4 and Animator’s Update

Finally, DOORS!

Work on HL2:RA’s next release, Part 4, is proceeding very quickly in comparison to previous releases. Part 4 is currently slated to release with 68 assets, making it our largest pack yet, and we expect this count to grow as more assets are completed. We still have plenty of work ahead of us however, as we strive to continue pushing the quality bar as high as we can manage. In any case, we expect Part 4 to be our largest release by far, since we’re taking a huge amount of community feedback into account for this release.

Chiefly, we intend to begin shipping our releases with a showcase map, displaying all of our release’s assets in a playable environment. This was a request that came to us pretty much unanimously from the community, ranging from people just wanting to look at the assets, to developers wanting to see a proper-use demonstration for our prefabs. Naturally, we’re happy to oblige! Having a showcase map for our HL2:RA releases gives us something to practice on within a shorter development cycle than Project 17’s levels. It should be noted however, that these showcase maps are intended only to show off our assets, and shouldn’t be taken as a benchmark for Project 17’s quality bar or progress. These maps will have very minimal gameplay, if any, in order to avoid slowing down forward development. These maps will be just complex enough to showcase our assets without taking development time away from Project 17. Regardless, we’re happy to fill this community request, and hope that you all can get some entertainment out of this addition!

One of the environments you can expect to see in Part 4’s showcase map.

Another popular community request we received was to add custom doors for use within Half-Life: Alyx. As some of you may know, we already tried to include some doors in our very first releases. However, these didn’t conform to Valve’s door standards and were thus hard to work with, so we decided to pull them from our releases until we had them built to standard. We’re very happy to say that our Part 4 release is going to include several new styles of doors inspired by those found in Half-Life 2, all backwards-compatible with Valve’s doors and doorframes! For those of you wishing for a more diverse selection of interactable doors, these assets are all shipping with multiple tintable skins! These new doors should give you all the breathing room you need to add much more variety to your levels.

A small sampling of some of the doors we intend to include in Part 4.

Of course, Part 4 will have much more variety than just doors! Several types of assets are on their way to help spruce up your maps, this time centered around utilities and furnishings you might see occupying the decrepit apartment buildings of City 17. However, you can expect to see a variety of industrial assets as well, alongside some more “administrative” assets. For now, we’re more than happy to give you a sneak peek at some of what’s to come!

Some pieces of a certain prop set that will be included in Part 4.
Part 4 will include several industrial assets as well, making this release one of our most diverse.

In addition, a very small “Animator’s Update” is in the works for HL2:RA Parts 1 and 2, adding rigging and animations to some assets in order to support our SFM crowd. You can expect to see animations finally added to assets like the Citadel and the Combine dispenser, alongside a few others! We have no solid release date for this yet, but you can expect to see it soon! In the meantime we’re continuing to look into the future and plan for future releases, and we’re definitely shooting for the stars.

Web Updates

As some of you already know, we’ve been pouring a huge amount of work into improving our website, and consolidating our different pages into a single “hub” that’s easy to navigate and manage. The first change we’re rolling out - as you may have already noticed - is a move to a self-hosted and internally-developed solution for putting out our dev blogs. In addition to helping your web experience, this means we’ll have more control over what we can display and how, without being constricted by third-party tools. This allows us to bring some very cool features into our future dev blogs and, most importantly, display our blogs in a way that more closely reflects our artistic vision.

Of course, our dev blog isn’t our only web page to worry about! Our main page is going under the knife for a complete overhaul, both stylistically and concerning performance. Performance on our main page was never great due to having been put together in an extremely short timeframe, and the code we had written for it wasn’t very scalable for the same reason. But now, development of our revamped website is well underway! Performance is already drastically improved, and with an absolutely beautiful redesign to boot, courtesy of LVJohnFreeman and Doruk. This is something we’re very proud of, and we can’t wait to push this to live once it’s ready.

Due to the scale of our website refactor, we’ve decided to roll these changes out in stages. For now, only our dev blog pages have been updated to our new design, and can still be considered somewhat work-in-progress, as we wrap up the final touches and fix the last bugs as they roll in. If you find an issue yourself or think there’s something we can improve upon, we welcome all reports and feedback in our Discord server. In the future, you can expect to see more changes to our website that more closely reflects what we’re doing as a team, and our future ambitions.

Project 17 NPC Framework

We’ve been working hard to create NPCs for Project 17 in a way that’s easy for the community to use.

Project 17 itself is making substantial progress, particularly on gameplay logic. A strong focus has been placed on recreating some of the NPC behaviors found in Half-Life 2, in order to bring our environments up to the “bare minimum” of recreation. From there, we plan on seeing how much further we can push our NPCs within Valve’s VScript framework. While our functionality is still incredibly early on we’d love to show you some of the progress we’ve been making!

In order to allow for more control over our AI such that we can recreate HL2 behaviors, we’ve been hard at work creating an NPC framework that’s highly customizable. We’re creating functions for core AI behavior such as calculating view cones, maintaining targets, and so forth. Some of this functionality can be seen demonstrated in the video below.

All assets, animations, and effects are WIP and not representative of the final product.

You might ask, “why not just use the functionality that’s included in Half-Life: Alyx?” To which there are 3 main reasons:

While there’s some core Half-Life: Alyx functionality we’re intending to use, a huge amount of it we’re recreating from scratch in order to create a much more easily-customizable framework for the community. In the Combine camera’s case, field of view, detection distance, health, and other values are represented by simple variables within the script that are easily changeable to fit whatever other NPCs you might create with this framework.

In addition to the actual NPC framework, there’s functionality that we’ve created out of necessity more than anything. Half-Life: Alyx and Half-Life 2 are vastly different games in how their worlds are presented to the player, and by many accounts, HL:A is a much more “streamlined” experience compared to prior titles. Given that we’re recreating one of the most interaction-heavy sections of HL2, it became necessary to recreate some basic functionality that gives non-enemy NPCs more complex behavior.

And of course, it’s a great learning opportunity for our programmers. Given that our team was founded on a wish to further our personal skills, many of us look at this as an opportunity to try something we haven’t done before. Working within Valve’s VScript system in tandem with Animgraph has proven to be a unique challenge that’s taken some time to iron out the details, but what we’ve learned and achieved so far is inspiring, to say the least. We’re looking forward to sharing the more complex systems we’ve put together as they come online, but we’re happy to share what we consider to be our first steps!

All assets, animations, and effects are WIP and not representative of the final product.

One of the most crucial pieces of Project 17’s NPCs will be their ability to act on a “schedule” that mimics a daily routine that a citizen, metrocop or other NPC might embark upon. The functionality we currently have in place acts incredibly similarly to the ai_goal_actbusy entity found in HL2, with the exception that it’s capable of receiving goals beyond just “actbusy”. Since this functionality is still so early on in development and subject to change, we won’t be diving too deeply into it today, but we’re happy to give you a general idea of how it works:

Given that you’re using our framework with the metrocop script:

  1. Send the NPC a ‘StartGoal(“actbusy”)’ command through map logic
  2. Once the NPC has a goal, the behavior script will pick this goal up (in this case, actbusy)
  3. The NPC will search the map for info_node_hint entities that are part of it’s hint group, and create a path to one if it’s not already at one
  4. Once it’s reached its destination, read the info_node_hint for information such as what activity it should play, and other appropriate contextual data
  5. Once it’s finished playing it’s activity for the appropriate duration, repeat the process unless interrupted

While this is an incredibly simple system that only matches HL2 functionality, it lays the foundation for creating much more complex behaviors that we can’t wait to experiment with!

The Combine Turret and Camera are some extra treats we’re hoping to get you soon!

Until Next Time

All of this, combined with some as-of-yet unannounced developments, has made the time since our last dev blog incredibly exciting! We can’t wait to show you what we’ve managed to accomplish, but with staying in character we’d like to make sure everything has that extra layer of polish before we show what we have in store. We’ve already begun planning our next dev blog, as there’s a lot to go over! If you aren’t already following our progress, follow us on Twitter and join us on Discord, you won’t want to miss the next one! Stay tuned! If you’d like to contribute and think you can help us out, please take a look at our application!

Copyright © Project 17 Team 2021
Project 17 and/or Project 17 Team is not affiliated with Valve and/or Valve Software® in any way, shape, or form.
Steam, Half-Life, Half-Life Logo and the Steam logo are trademarks and/or registered trademarks of Valve Corporation © in the U.S. and/or other countries.