My name is Chetan Jaggi. I am the Lead Programmer. I am from India. I joined the team in 2015. I love video games & anime. In the last couple of years, I have developed a new hobby of killing myself in the gym & I love it very much.
12th Grade.
I used to be an outdoor person. I used to play a lot of cricket, (& little bit soccer) and yea video games in the arcades.
During that time in India most of the science students would either pick a doctor or an engineering degree after school. I was always fascinated by physics. I used to watch all those afternoon shows about space and time on the Discovery Channel after school.
I liked programming as well, I enjoyed making small webpages in HTML and programs in c++. I was making small games in c++ like hangman, tic tac toe (it eventually evolved into a 10K+ lines monster), etc.
Before 12th grade in school, I always thought games like Street Fighter, Doom, Mario, etc were alien tech, aliens come in their little ships and drop them off on this planet for us to enjoy.
Even the internet was new for us in those times. I used to update Windows XP sp1/2/3 on a dialup connection (fun times). Eventually, in that year I came to know about Hammer/Steam and the fact that Half-Life 2 has been made in c++ and something called Directx9. Only then I realized the full potential of C++ or programming in general. I was already pretty comfortable with C++ and Half-life 2 sealed my fate.
I have already developed a fairly big text-based tic tac toe game in dos based turbo c++ 3.0 with an option to play against AI or 2nd player on the same pc. It was 10K + lines code written on pieces of paper and then typed into turbo c++ during many cybercafe sessions backed up over 10 times in 2 floppy disks. This was before my parents bought me a PC. It was exciting throughout the development and when I showed it to others & teachers my excitement was off the charts. So I had a little bit of experience of what I am getting myself into and seemed like the best option moving forward.
Although my initial interest and learning efforts were spent more in learning hammer making maps, etc but I was good at programming and there were almost 0 jobs for a level designer or game designer during those times so I focused more on programming later in the college.
I have a bachelor’s degree in computer science but I learned absolutely nothing in college that helped me either on Black Mesa or any other job/project.
During my early 20s, it was sorta necessary to have a degree to get a job at any decent company so like millions of other teenagers I also prepared for entrance exams for engineering college and enrolled in one of them. But by the end of 1st year, I came to a realization that I would be learning absolutely nothing that would help me with game development or becoming a better programmer in general. The Education system was not that great and I was a little bit selfish about how I wanted to spend my time.
So I bunked a lot of classes, spent some of that time trying to learn about game development and the rest of it playing CS/TF2, etc & calling everyone on the server noobs.
I tried to learn about game development as much as possible, whether making small maps in Half-Life 1 hammer or making small games in turbo c++ (dos based c++). I made sure my grades/marks were decent in both internal and external exams to secure a decent degree and keep teachers happy. Some of my teachers including the head of our dept were supportive/helpful even with bad attendance so that helped a lot as well.
I was initially more interested in level design and hammer things, I spent countless hours experimenting with maps, making face masks for HL NPC, photoshop, 3ds max, etc, but there was no job other there for a level designer or a game designer back then, there were very limited options even for a game programmer. So I focused more on programming later in college.
First of all, play a lot of games of different types and genres. Spend enough time in each game to understand why it’s good or bad. You should be able to explain in detail why you like or dislike a game. Try check reviews/general feedback of some of those games and try to understand what others like or dislike about it etc.
Learn at least one technical skill whether it’s programming, concepts in Photoshop, animation in a 3d software like max/Maya, etc Try to be as good as in it as possible. At the end of the day everyone on the development team will contribute as a designer but most of the time you will be hired based on your technical skills. So pick at least one and master it. It will take some time and a lot of hard work but you will get there eventually.
Try to get into modding, many games have a developer or modding SDKs. Pickup the SDK for your favorite game and start experimenting with it both for learning game design and developing technical skills. If you are interested in game design try modifying gameplay in some way whether its changing damage of guns in a competitive shooter or spells in Dota, just make changes as you see fit and share it with people. Gather feedback and earn what works & what does not.
Just make something whether it’s a small game as programmer, concept arts, some animations, etc, whatever make something, put it up on a website, forums and maintain a blog or portfolio website. And with each project try to aim a little bit higher than the previous one to incrementally increase your skills and experience.
Also, don’t be afraid to send out resumes or apply for job positions. Maybe follow some of the industry people in your field on Twitter/Linkedin many of them have open DMs sometimes for questions.
I was looking for the next job/project in 2015 so I sent a lot of emails including one to crowbar collective since they were looking for people. I got a reply back from the crowbar collective for a Skype interview and I got hired shortly after that.
I always wanted to work on something Half-Life since Half-Life/Doom/StreetFighter was one of the games that inspired me to get into game development. I have tried to get involved with black mesa at least once (if not twice) before and I am happy it all worked out this time. It will take some time and practice but you will learn it eventually. Don’t be afraid to reach out but at the same time don’t spam anyone either.
I think pineapple/chocolate or any sweet/fruit on a pizza is the most sinful sin you can ever commit.
Being limited by DirectX9 technology. There’s so much we could have done both in terms of visual quality and performance if we had DirectX 11 support.
We have an amazing art team. You give them 10% improvements in the technology and they would convert it into a 100% improvement in Game quality. There are a lot of small things that have become normal in any current-gen game but we couldn’t do it because we were limited by DirectX 9 but in terms of visual quality and performance.
Ricochet. YES, I LIKED RICOCHET for all of 10 hrs or so I played it.
I played many mods for halflife 2 and I don’t even remember most of their names. One of the story based ones was Coastline to Atmosphere that I thought was pretty interesting.
There was one more mod called Synergy that allowed us to play HL2 in coop, it was janky but I played a couple of maps and it was enjoyable.
I hate bullet sponge bosses so I would say 100 headcrab sized Gargantua.
But if the question was IRL then I would select 1 Gargantua sized headcrab and just hide under the bed all the time ezpz.
In terms of technical challenges again we were limited by Dx9 and the engine itself. There were a lot of limitations & old tech, we tried to raise the limits and upgrade a few parts wherever we can but still, it was nowhere near current gen engines or tech.
In terms of game design, I was in charge of both the boss fights with animation lead Nate and we faced a lot of challenges with both Gonarch and Nihilanth.
Gonarch was the first boss battle we worked on and one of the first things we did was revamp the Long Jump mechanics. Ctrl + jump for a long jump only in the forward direction wasn’t that fun and it was very limiting in Gonarch. We wanted the player to always keep eyes on the Gonarch while moving around so we would know what he is doing next and the player can react accordingly. Even before Gonarch, we always wanted to improve long jump anyways and it felt like a good time to finally do it during the early phases of Gonarch development.
We changed it so that we have two different boosting mechanics one for horizontal long jump on double tap, in the direction of movement( in any direction), and second to act as a mini air break of sorts to either stop during horizontal long jump or prevent falling damage. Each consumes a certain amount of mana/charge from LongJump(LJ) meter which changes over time at a specific rate.
One of our main goals of the fights was to encourage movement as much as possible. During gonarch battle in both the arenas GonarchA & the final battle in the Lair, it was crucial to use long jump to dodge his attacks or reposition yourself. It was challenging to convey or remind players about the fact that they can Long jump in any direction. Even during our internal testing a lot of times people would forget about that when playing for the first few times. We tried to solve this by adding a long jump puzzle/tutorial in earlier xen levels (although it was a simple straight jump) , added hints on the loading screen and we added a reminder popup in gonarch A. We don’t really like to spam cards or text/images on players face but this was one of those moments where it felt necessary.
Another challenge was to encourage players to use RPGs for more damage on gonarch so we spammed RPG ammo crates all over the place as a hint to the player or a subconscious scream “USE RPG”.
Nihilanth had its own challenges. In HL1 it was a big bullet sponge blob in the center of a room, you spam all your weapons and done. His attacks were very limited as well.
I think the only aspect of Nihilanth that everyone quickly agreed upon was skipping teleportation to different rooms attached or behavior, no one wanted to do that in our version of Nihilanth.
Otherwise, the team was so divided on this boss battle. We did a lot of experimentation and prototyped around 15+ attacks/variants, ranging from spawning waves of minions, 1000 different variations of energy balls, beams, etc Our goal was to make it feel a bit less bullet spongy, encourage movement and teach the player as the fight progresses. We also wanted to keep it a little bit towards the easier side for most of it. Well, it gets all sorts of crazy in phase 4 but it lasts for only 5-10 secs.
One of the biggest concerns was that we are adding a lot of new attacks or behaviors which have never been used in the game before this battle, so players had no idea what is going on whenever they see these new attacks for the first time. Eventually, after a lot of experimentation, we decided to limit the number of different attacks, we added a lot of visual/audio telegraphing and we kept the same attacks for all the phases, we just made them harder to dodge in later phases.
Another thing that took me few attempts to figure out was portals, I wanted to use variations of portals tech for Spawning minion ( so they would walk inside the area through portals instead of usual appearing out of thin air), for spawning those props that are thrown at the player and yea i was considering dropping the moon. But there were a lot of technical challenges and not a lot of time since Nihilanth was one of the last things we worked on before release. But I am happy that after a few prototypes I was on the right path. I got portals for spawning props working without much instability or impact on perf so we shipped that. Also a shoutout to Oleksandr Palamar who did some physics magic during the final hours to polish the actual projectiles logic to make them feel so great.
In the end, it all worked after 1000+ rounds of testing & iterations and we are pretty happy with what we shipped.