I know it's been a while since I posted something here. I have a long story to tell, so grab some chips, popcorn and maybe a soda.
It was around February and I was working on the new version of the demo map with the cartoon retro style. Besides the mod being more complicated then it had to be, everything was looking great. I mean, look at those shadows.... Shadows. This is when I noticed that most of the earlier maps did not have shadows.
You see, most lighting in this style comes from the top and we lose shadows to direct players to an object or a location or for the hell of looking good. To me, this looks very bland, especially now since the walls have no pattern on them. as a test, I removed most ceiling lights and projected the light from the observation rooms much like you would in Portal.
As you can see, I was having a hard time with this so I simply stopped to let myself think about where I wanted to take the project. I wanted it to be more then just a puzzle mod with a gravitygun edit.
Late in March, I made a brand new solution-well two. The first solution was another Half-Life 2 single-player solution with most Half-Life 2 content removed. The second was Alien Swarm with the skeleton solution. I manage to get the player pickup working, and some punt stuff working in the ASW engine. However, I had no game menu and I could not figure out how to access player saves. This and after hearing all the stuff I would have to do from people who worked on ASW, I decided to stick with 2007. But why didn't I try other community solutions like the SDK base or SwarmDeferred? Well, simply because I could not get them to work. I wanted to rebuild a mod, not fight with an engine that was meant for a multiplayer third person game.
So I started to redo the entire Punting system and elements. The first thing that needed to be done was the puntgun and punting system.
This is a demonstration of the old punting system which again was just a sloppy edit of the physcannon code. The puntgun edit increased the tracer distance and made it only hit objected flagged as "puntable". This was a fast instant activation that would trigger a cube's special ability in which the player would use to solve puzzles. The player could also punt the floor and fly upwards (which in my opinion was the only thing really fun about this system). However, there are downsides to this:
- First, the tracer would go through anything that was not solid geometry. In the map, I would make invisible walls to block punts going through things like glass and such.
- Second, There had to be a box for each effect. Since the physcannon code in my opinion and at the time my skill level was very messy, I only made it so you could only primary fire to Punt. the box entity had a selection of what box it was. This made the mod more about the boxes, and not about Punting.
- And last, it was ugly. The physcannon uses a sprite to connect the weapon and the target. Since the trace length is longer, it made more ugly even if you are looking at it for a split second. A particle effect could do, but I felt like it would be too fast for it to fully update and start.
So how do we address these issues? How can we avoid using the physcannon code, and have it work without so many code and map hacks. After much thinking, this was the solution:
Ok, not too different when you first look at it, but lets look at it closer. The punt beam as now been replaced to a projectile ball. The ball hits the boxes and activates it. But this time, it's the ball that changes the boxes state. So you can preform different effects on the same box. The player's punting ability are given and removed based on the map, so there will never be "gun upgrades". Instead there will be ball dispensers that will give the player the punts required to start, continue, or finish a puzzle. So far, this makes the game more about the punting. But let's take it a step further!
I've made the punt balls much like the energy balls in Half-Life 2. They can now bounce off of walls but have a much smaller life span. Also, they travel much slower to prevent all hell breaking loose when you fire it. So far we solved our 3 issues.
- Instead of a tracer, it's a projectile. It will bounce off of anything solid and can still activate boxes.
- Each punt ball is assigned to a mouse button. You will not feel like you are playing "Move around and press Mouse 1" anymore!
- The Punt ball uses Source 2007's particle system which for that engine is the highlight of visual effects. Of course, in future versions of the Source Engine it's much better but at least we are not using sprites and coded effects!
It also has this going for it:
- There can now be bounce-able and not bounce-able surfaces. We can now use "noportal" (A vmt pram in the engine for Portal 1) to tell the ball what surfaces can it bounce off of, and what surfaces it can't.
- There can now be more imaginable boxes working together. I'm not ready to talk openly about them yet, but the boxes in this system are different too.
- It has nothing to do with the content of Half-Life 2. All of it is newly coded and scripted.
That last one is a great way to start talking about the future challenges. The first is Steampipe. As you all may know, everything is being ported over to your common folder and now uses a new vpk system. If you were to opt into the Half-Life 2/Portal 1 and try to load the SDK, you will have a hard time getting to to work. The Source SDK is meant for the GCF system that Valve is now making obsolete. If Punt, or any mod uses content from Half-Life 2 without the content being in the mod directory, it can cause problems later on. I have no idea what Valve plans to do about the SDK base, but as long as the public Steampipe update dies not delete the source engine base GCFs, and Punt remains mostly custom content, we should be fine. If the base gets an update, hey maybe we will get a newer engine to work on.
Art has always been an uncertainty of this project. We went from a Portal chamber style to a complex, colorful retro-futuristic design. However, since the main game mechanic has been changed, the art and mapping design must too. As I mentioned earlier, the style lost the shadow direction which by map design can hint players to elements and location. This style also required a lot of resources for something I wanted to be kept small in the first place.
I'm not gonna lie, when I started this project, I wanted it to be like Portal 1. Not like a 1:1 clone, but I wanted the art of it's simplicity. What I admire to this day about the original Portal is that it's basically Half-Life 2 plus Portal stuff. And isn't that what Half-Life 2 mods are? Half-Life 2 with our stuff plastered on top? Of course, we can edit Half-Life 2 stuff or simply remove it and redo parts, but how I see it, Portal 1 felt like more like a mod then a game. And to me, that is the charm I like about it over it's sequel. The mapping, the elements, the base mechanic is all simple.
Why I showed Punt with Portal like chambers was to try to recreate the simplistic mapping of Portal. With the old system, I did not have no need for flat walls so pipes, benches, vents, signs, and trash bins could be placed in the map. Since the need of flat walls is now a necessity, as launching a ball at a prop may break a puzzle if shot at the correct way. I have not made a final decision on what Punt will look like, I just know I want it to be simple much like Portal 1 is. Simple.
However, I will not go fully back to the style in which I first showcased the mod with. A thing I loved about the retro-futuristic theme is that it allowed me to solve old problems in a new way. The first style I just made it like if I was mapping for Portal. But the retro-futuristic theme made me think how elements like buttons, doors, indicator panels will look like in the new setting. Thanks to the new theme, these elements severed the same purposes, but looked like a more creative way of doing it.
As one person said, I go through art like toilet paper. It's a funny, and witty comment, but I know it's true. The challenge about art now is to make it appreciate the simplicity on how games can be, but also to think new and be creative. I hope this long article makes up for the months of nothing. I can't wait to show you the new punting system and look forward updating in the future. I will not be always righting articles or posting stuff on small updates and such. For that, you can follow my Twitter account for smaller things.