Friday, December 29, 2006
New Gameplay Mode
"Got Your Nose, Got Your Rifle" : A player from the one team gets a new entry in his scavenger list which asks him to go get the particular weapon held by a target player from the other team. This player has to go find that target player, kill him and pry the weapon out of his cold dead fingers. The player now has two choices, either he keeps this weapon and receives a damage bonus for that round and has a better chance to kill more players OR he can return it to his assimilator and get rewards and points.
This way, people with bigger guns become the target for one round, and balance out the weapons for everyone...still too early to predict how it will turn out!
Monday, December 25, 2006
HAPPY HOLIDAYS!
And as a small gift, here's an update on the "loot" props. The code has been done and we can now randomly generate a loot props from a list of predefined models! (WOOHOO!) Just to show what it looks like in hammer, here's a screenshot.
Of course, it still has some bugs - In game the items seems to load right after the level has been created which causes the play to actually see them pop down. Also, if the game is not reloaded, but the map is reloaded, the items don't vary, they remain the same. Finally, some random crashes during the loading as well as the disconnecting period are some times present...odd...Also, they props move around like prop physics, and they interact with each other, but are still a bit off when they touch a player...
So far the loot can select a random model and spawn. We want to eventually add other features such as making different lists for wall mounted loot and rare loot and finally to be able to have a few of these scrap_loots not spawn anything (at random) - this will increase the replay value, because, besides spawning random model, some of them will just not have anything at all - so players with bad memories have a chance... ;)

(These are four isntances of the game, and each time we see random props appear, our list is pretty small, that's why we see so many redundant props)
Tuesday, December 19, 2006
Codex of Ignorance
Well, if the title didn't hint you, I will. I am a n00b and a half at coding, I have never touched code before in my life, but I was always interested by it. The problem is, everytime I started to read a book about it, I found the progress was slow (I know its essential...bla bla). So when I decided to code for this mod, I kind of wished I knew more.
I started out slowly, reading tutorials from Valve SDK Dev Site, and SDK forums. The latter is full of very knowleadgable people who are very nice and offer tons of help! In fact, I learned what I learned from these two sources mostly. It goes to show that anybody can learn, you don't need to be a l337 programming haberdasher...
I got my hands on the Visual Studio .net 2003 and started to fiddle around with it. Setting up a new mod in a breeze with Hammer so that was not hard. I quickly learned that once I started to tweak and change the code, I shouldn't delete whatever was there, but instead comment them out...suffice to say I restarted the mod a couple of times until I realize that. (Back then I did not know about Subversion...)
My first objective was to add a team menu to the mod, since HL2MP vanilla doesn't have it. I basically followed the tutorial that was on the Valve SDK Dev site, which was pretty straightforward, although I had to make sure to not screw up with the team names.
---> We initally wanted to desing the mod with the Rebels only - guys versus girls, but we saw how confusing it got when we changed the names from Rebels and Combine to with Scroungers and Foragers (Girls and Guys), and all of a sudden, we have a confusing code structure. We finally devided that the game would be better if it was just Rebels versus Combine, which would make our coding easier and the game more logical. Although, we agreed that initially the 3rd party would have been the combine crashing in during a few rounds...but thank goodness for zombines and antlions, that problem kinda sorted itself out. <---
At the moment, the menu works great, although the Auto Team option crashes the program :( I will have to look into it during our bug squashing phase.
I also got rid of the chose your model option from the multiplayer options sub menu. Now whenever, you join a team, the game will chose a random model for you!
I know what you're thinking - anybody can copy paste a code from the web. True, but for a first timer, it had its challenges for me. But for now, I getting ready to tackle coding for other parts of the mod that are not really out there. My strategy is to find something similar in the game and take it and try to modify it for my own use. In our case, I was pointed towards a cheat code (literally) about how to spawn a jeep in front of a player. I know what I need from it, but I'll have to modify it to make my loot_spawn entity spawn random models above it in the map :D
The idea is that the physics prop spawn above the loot spawn entity will fall down slightly differently everytime due to physics. Also, I will place a few other prop_physics above the loot spawn, so as to fall down and cover up the loot, which will allow players to really look for it.
So that's it for now, I will keep you posted!
Friday, December 15, 2006
This Mod's for You!
The Technology
Let's talk more about the game play, how the mod plays out and the way we tied it all to the HL2 world and the Source Engine. We first decided to keep alot of things as is by basing our mod on the HL2DM SDK
- The multplayer physics props will play an important role because they will represent the loot that players are after - no need to change anything here
- The gravity gun is an awesome tool to pick up these objects, kill enemies and return the loot to base
- The two opposing teams are present in HL2DM, why mess with it? The Combine and the Rebels are two factions with a great story behind their rivalry. On top of that, we can easily add a 3rd AI faction (Antlions or Head Crabs) that will play an important role in some rounds (see below) this offers a type of 3 way competition and a common foe for both teams
- The models, textures, sounds and code are mostly in place, we only need to add a bit more to it - hey, we're only a two man team
The Game Flow
Understanding the mod's game flow is as simple as knowing what "ScRaP" stands for: Scavenge, Retrieve and Process. Easy. You go out there, look around for the item, grab it and bring back, get your reward, repeat. Of course, this sounds too simplistic and but that's the main idea of the mod's game flow at its bare essence. There are other mechanics going on too - the Team DM aspect, as well as stealing or hiding loots. Also, as the mod progresses, we wanted to add variations to the whole scavenger hunt theme of the game by adding different types of rounds that are randomly selected by the game during an online experience -
- ScRaP Run - the basic scavenger hunt gameplay
- Omega Game - 1 person from each team is chosen as a target, the players from the opposing team have to kill this person and return their corpse to the Assimilator
- Antlion Rush - Antlions are spawned in the map, players from both teams have to kill them all and return as many dead antlions to the machine for points to count for more!
- Zombie Onslaugh - The same as above but with zombies and headcrabs everywhere
- Operation Overload - Instead of random props spawning inside the level, explosives are spawned, one team has to defend their assimilator, while the other team tosses these explosives into the enemy assimilator, blowing it up!
- Tug of War (working name) - still in its early design, but a big prop (train car, wrecked car, dead gunship) is spawned in the middle of the level. Players have to use their gravity guns primary fire to push the item toward the enemy assimilator which till try to assimilated the item, but being too big the latter will be unable to assimilated it and overload, destroying itself in the process.
Therefore, when a player joins a game, he or she will not always know which game round is loading. Secondly, most rounds will last not more than 2mins, to keep the pace fast and furious (disgusting pun - I threw up in my mouth), but this is still being tested.

To further, keep the gameplay fast we decided to keep the level size smaller. This actually helps in many ways. First, there is not a lot of ground to cover to look for the loot, nor to find an enemy, nor to find the enemy Assimilator. Secondly, we hope by making the level smaller, that we can somehow prevent the bandwith from choking - but we have to test this out, I guess I am now mixing optimized level design with network play code, which are two different things. For example, the WIP level above, is based on a Montreal Metro Station, and its kept small on purpose to allow the player to see the other end of the level, and keep the game play tight.
How a round proceeds (example for ScRaP Run)
- The world spawns the random loot across the level, and a list of these items is created
- Each player's HUD will have a graphical representation of these items (12-24 items), players on the same team will have the same list, but both teams can have a random list
- Round starts in ScRaP Run variation - players run out, try to find the item from the list, kill enemies, steal their loot, hide other loots, invest in the stock market, whatever...
- As players return the item to the Assimilator, these items are crossed out from the list, that player gets a point (or points) and receives a reward from the Assimilator
- When all the items have been found of the round timer ends, the round ends, and a new variation is chosen from the list.
- If its ScRaP Run again, new items are spawned and consequently a new list is generated. If its another variation, the the necessary changes are made and the round starts.
This covers most of the gameplay of the mod. Join us next time for updates about the progress and evolution of ScRaP!
Thursday, December 14, 2006
Long Time Developing, First Time Blogging
ScRaP or "Scavenge, Retrieve and Process" is a Half-Life 2 multiplayer team based modification based on "Scavenger Hunt". Two opposing team, the Combine and the Rebels are pitted against eachother (during very short rounds)to find and return items (loot) back the assimilator/processor unit. Once they drop the item there, they receive a reward - frag count as well as either a better weapon or a health kit. Once a round is over, all the props are removed and a new set is randomly placed for the next round.
We plan to include other varieties of gameplay. For one thing, one round could have the name of enemy players placed on the list, and players have to go find the particular player, kill that person, grab the corpse with the grav gun and return it to their friendly processor. Another round could spawn enemy zombies/headcrabs/antlion which need to be cleared, brought back and processed by both teams (a three way coop/dm) and the more corpses are processed the more points are rewarded. Of course, nothing is stopping you from fraggin enemy players, stealing their loot or stuffing their assimilator beyong capacity either...but more on this later ;)

We eventually got suckered into making a dev blog, but come to think of it, what better way that to give players a idea behind our mod and how we're making it! The idea behind ScRaP, was being tossed about between my brother, Troy and myself, Haig ever since Half-Life 2 came out. We said to oursevlves - damn it would be cool to be able to have a scavenger hunt based multiplayer gameplay especially with the grav gun giving us the ability to pick up stuff! Being the programming zeroes that we were, we knew taking the HL2 SDK and making it into a multiplayer mod would be beyond our knowledge,(school work was keeping me busy too) - so the project took a back seat for a long time.
When the HL2DM came out, we thought, wow, it has all that we need to get started. So we slowly learned tutorials found on the web (interlopers.net, Valve SDK Developer, SDK forums, Mod DB, and many more) and I could'nt believe the wealth of knowledge out there! I've learned more about modding online than with any book out there today, plus its free :D
We decided to give importance to gameplay more than content, that way we wouldn't need to spend alot of time on it until the first release - release early, release often...
Furthermore, the HL2DM SDK had everything in place for us, a solid base, 2 opposing teams as well as the gravity gun in multiplayer...models, sounds, textures... So besides a few new models and textures, we were already set!
We assigned our roles in the following fashion - I've always liked programming, but I've never touched a programming tool in my life. I decided to give it a shot, and slowly learned how to copy paste my way out of things. My brother has always been passionate about modelling ever since HL1, so it was only natural to give that task to him. He also takes care of skinning the models and being the reality check (tester) of the team. Myself, I also take care of the general flow of the game designe process and the level design (loved it since Worldcraft and Quake 2), although most of the maps were never completed because I would get bored with them. But, making them for a mod, gives me a clearer objective and purpose to making the map.
We'll first regress into the beginning stages of the design and then follow chronologically the development cycle. Right now the mod is still around 40-45% percent done, but we'll be working on it to get it out as soon as possible. A .com site will also follow shortly!
Hope you guys enjoy our blog and our mod :D
