• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

HBS_Eck

Second Lieutenant
4 Badges
Feb 23, 2018
152
11
ecktechgames.com
  • Harebrained Schemes Staff
  • BATTLETECH - Initiate of the Order
  • BATTLETECH - Beta Backer
  • BATTLETECH - Backer
I'm Chris Eck, and I'm the tools developer at HBS for the Battletech project. I've recently been given permission to write up articles about some of the things I work on which I hope to post on a semi regular basis. Feel free to ask questions about these posts or give me suggestions for future topics. However, please note I am unable to answer any questions about new/unconfirmed features.

https://www.gamedev.net/blogs/entry/2267717-battletech-developer-journal-09/ - Code Generation
https://www.gamedev.net/blogs/entry/2267465-battletech-developer-journal-08/ - Dynamic Enum
https://www.gamedev.net/blogs/entry/2267348-so-you-want-to-be-a-game-developer/ - Following your dream advice
https://www.gamedev.net/projects/1562-ecks-type/ - Game Jam project
https://www.gamedev.net/blogs/entry/2267283-ecks-type-side-scroller-challenge/ - Game Jam Journal
https://www.gamedev.net/blogs/entry/2267249-battletech-developer-journal-07/ - Drop Pods
https://www.gamedev.net/blogs/entry/2267220-battletech-developer-journal-06/ - Exploding buildings
https://www.gamedev.net/blogs/entry/2267185-battletech-developer-journal-05/ - More Encounter Logic
https://www.gamedev.net/blogs/entry/2267186-blood-bowl-4-diamonds-cup/ - Unrelated but fun Blood Bowl Tourney
https://www.gamedev.net/blogs/entry/2267151-battletech-developer-journal-04/ - Performance and Encounter Logic
https://www.gamedev.net/blogs/entry/2267126-battletech-developer-journal-03/ - Region Types and Localization
https://www.gamedev.net/blogs/entry/2267089-battletech-developer-journal-02/ - Contract Parser
https://www.gamedev.net/blogs/entry/2267040-battletech-developer-journal-01/ - Grab bag of features
 
Last edited:
I'm not sure if I should just keep one thread or post a separate thread each time I post a journal. Right now I'm leaning towards one thread and I'll just say a bit about the most recent entry and keep a list at the top. This week I talk a bit about the ContractParser and how it works: https://www.gamedev.net/blogs/entry/2267089-battletech-developer-journal-02/

Also I'm pinging @HonorKnight since he expressed interest and I wanted to make sure he didn't miss the update.

- Eck
 
I love the increased building strength based on difficulty rating of the mission.
 
Thanks for that great Contract Parser Guide! I've added that to the FP guide. For my next FP I'm going to try using the parser exclusively. I want to wait and see what UW should give us so I can plan the FP around UW's new features.
 
Yeah the documentation I linked is a bit out of date, but it's also a little ahead of its time. Some of the features like contractually controlling whether or not there's a dropship extraction won't hit until 1.6 drops. If you run into any weirdness, let me know and I'll try to answer questions and update the documentation.

- Eck
 
@HBS_Eck Thanks for doing these journals !! and even more so for a new one for Easter Day to entertain while travelling!!

Very excited for the possibilities new region types offer to us as well!
 
@HBS_Eck have you developed tools related to scripted mission events (for either story or random missions), to help the encounter designers create those? @HBS_Kiva has talked in the past about the map creation process, and how even for random encounters the maps are handmade - and to make those maps reusable, whoever creates the map marks off a series of possible spots where stuff can appear (whether it be a base, or a lance, or whatever). However, I don't think we've heard much about how all the scripted events work (or rather how they are engineered), like when missions sometimes spawn additional forces based on some conditions. An example scripted event is when you defeat all turrets in a base then suddenly an extra few ‘Mechs appear (either by dropship or just magically appearing as though they just walked into the battlespace from a nearby area or an underground bunker), then you either have to defeat or evade that lance and get to an evac point.
 
Last edited:
Funny you should ask. I just told the modder CWolf that next week I am planning on talking more about how the encounter logic works. Hopefully I can answer your question in better detail then. Here's a broad overview of how it works to tide you over. Encounter logic can exist in one of two places - either in the Encounter Layer as "configured logic" or in predefined chunks of logic written as actual C# classes. The configured logic is all drag and drop/designer friendly and anytime a designer wants something unique and interesting, they enter it there. Once we've identified a set of encounter logic that proves to be reusable on different encounter layers then we'll take the time to create a Chunk class and wire things up with C#. Chunks are basically lego blocks of encounter logic that we can drag into a scene, set a few values, and start playing.

The encounter logic can be modified by the contract in small ways. Mostly the Contract just puts a different "skin" or "context" to a given mission (changing objective titles, dialogue, etc). But there are optional chunks (like reinforcements) that can be turned on or off for a given contract.

- Eck
 
I'm not sure if I should just keep one thread or post a separate thread each time I post a journal. Right now I'm leaning towards one thread and I'll just say a bit about the most recent entry and keep a list at the top.
Yeah, if you made multiple threads I'd have to tell the system I wanted notifications for each of them... by using just this one thread, it's already done and I don't have to worry about it again.
:)
 
Yeah, definitely keeping it as one thread. I may or may not keep it sticky. I'm thinking it might get more views if it pops around in the list. And then when I finally stop doing them it'll just fade out into forum history. :)

- Eck
 
The fourth entry in the series is up. This time I talk a little bit about performance tuning and about how designers wire up Encounter Logic. https://www.gamedev.net/blogs/entry/2267151-battletech-developer-journal-04/

I'm pinging @HonorKnight since he had some questions about how Encounter Logic works and I want to make sure I answered them. :)

Feel free to comment here, on twitter: https://twitter.com/Eck314/status/1122581487012937728, or on the journal entry itself and I'll try to get back to questions as time permits.

- Eck
 
Just a heads up. I'm heading to a fundraising Bloodbowl tourney out of town this weekend. So Sunday's dev journal may be late, not present, or possibly Bloodbowl themed. See my original tweet for details: https://twitter.com/Eck314/status/1123940829406666752

Hopefully the Friday stream will provide you with enough of a Battletech hit to keep you going for another week. :D

- Eck
 
Since my wife drove us home, I was able to bang out a journal entry and get it posted today. It's more about Encounter Logic since that's a pretty big topic. https://www.gamedev.net/blogs/entry/2267185-battletech-developer-journal-05/.

Here's the tweet if you want to comment there: https://twitter.com/Eck314/status/1125147585524772872

If you have any tools related questions about stuff you saw on the Urban Warfare stream, be sure to let me know! :)

I also wrote up some after action report of the Blood Bowl tourney I was in if anyone is interested: https://www.gamedev.net/blogs/entry/2267186-blood-bowl-4-diamonds-cup/

- Eck