You wake up to find yourself on a wasteland train, heading to City 17. Last you remember, you were herded on there by Civil Protection, under the guise of your block being ‘relocated’ for some perceived slight or another. Or, at least you think you were. What did they say about the water? It makes you forget? Or does it? Where is your suitcase? Did they take that too? Wasn’t there a man in a suit? A blue suit? He said something about you ‘being more than you think you are’. Or, at least you think he did…? As the light breaks through and your eyes adjust, you ponder these questions and more, as the train pulls into your new ‘home’. For how long though, that is another question you don’t have answers for right now, but you will have that answer very soon…

Post news Report RSS Interesting bugs and the cutting room floor

Ramblings of an amateur modder 04.09.23 - The things you learn when mapping in Source.

Posted by on

Interesting bugs update

Working within the Source engine leads to some interesting discoveries, such as bugs you never knew could occur or interesting ways the engine works. One such incident occurred during some internal testing, where I'd jumped during a level transition. Not because I meant to, mind you. I use a Leopold keyboard, which I've been extremely happy with the past two years or so, but the Silver Leopold switches can be extremely sensitive. Occasionally I'll find myself resting a hand on a key without thinking and its enough to set the key press off, which led to this 'bug' I've never encountered before and shows how edge cases can come about during your testing phases.

parra 2a0000

parra 2a0001

parra 2a0002

During the transition to the second level, due to resting my hand on the jump key, just before enterting the transition trigger, I began a jump as the level changed over from map1 to map2. This resulted in an APC prop floating in mid air and a large trigger block coming across from map1 into map2. Since that trigger wasn't supposed to be there, it looks like the map couldn't assign the block to a trigger entity, and therefore sent it to world, causing it to show up in the sky. It also teleported me into the middle of map2, halfway into the ground brushwork. Certainly, something I've never seen before, but it intrigued me enough to warrant some investigation and the want to correct the issue. After reloading map1 and trying the same jump again, in a similar direction, this time I was teleported into the correct starting position, right near where the map2 info_player_start is and where the landmark should send us, but this time standing chest high in the ground brush work. I built some test maps to prototype and found I could not replicate the error, with it only occurring between map1 and map2 for some reason. Cue Tim Allen 'eugh?!' sound.

Being such an edge case, I considered leaving it be, but for the sake of trying to be 99.99% bug free, decided to fix the issue completely. How? The way I fixed it was to use the entity 'player_speedmod' with the 'Supress jumping' flag set. By setting a logic_auto to call the player_speedmod entity and set 'OnMapSpawn ModifySpeed / 0.99', meaning we can disable jumping for the map. Since its the opening map, jumping isn't required anywhere, meaning we can bypass this 'bug' entirely. I hope. player_speedmod has a bunch of useful flags in it, apart from being able to change the players speed, but needs to be called somehow. To call it, we give it a name, then use ModifySpeed / 0.99 if you don't wish to change a players speed of movement and only call it to set a flag.

clientcommand

Here's my example of setting the player_speedmod entity to call a set flag.



Another interesting 'bug' came about during testing when a scanner managed to take enough interest in me, to follow me into the map transition and ended up transitioning from map1 and map2.

parra 2a0004

With no info_node_air to help it navigate and the transition area being a tunnel area, it had a lot of trouble getting around. To fix this was much easier. Since the area leading to the transition is really only required for the player to enter, a simple NPC CLIP block out stops scanners or, metro cops for that matter, chasing after the player and ending up crossing maps when they shouldn't. It's not something I thought of until it happened and would have been something I would never have known about until it happened to someone else.


Current updates - One step forward, one step back

- Strides have been made in map '3' seen in the 'sniper test video'. The second half of the map has been expanded on, the snipers area has been modified slightly to help signposting. Lots more detail has been added to the map so far and it is nearing its final passes. The internal testing gave great results, with the sniper section being pointed as extremely frantic but extremely fun.

- Map '2' I became unhappy with and decided to scrap 95% of it and start over. It always hurts to throw away work, but since it felt the map was too low quality and was becoming too frustrating to work with, it felt better to redesign it. So far its flowing much better and the build quality is much better. I've carried over some set pieces and will be expanding the map a lot more in this version.

- Map '1' seen in the other test video has had a major set of design changes, followed by a second to last detail and clean up and is nearing its 'publish' phase. It had some extra details added, some minor texture fixes and some other minor stuff such as brush clean up, adding some func_details to some items that were missed initially and a final optimization pass. I'll be doing another pass or two to finalize it and it'll be put in the 'done' pile.

- Overall mod progress sits at around 15% at this time. Due to reworking map '2', its a step forward with progress on 1 and 3, but the redesign of 2 has stopped the final percentage from being pushed up at this time.

Thanks for reading and I hope you enjoyed it, found it interesting, or got something out of it. Feel free to join us in the Discord for more frequent updates or if you would like to help out building the mod!

Until next time...
-AgentAtaraxia-


Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: