Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - SparkyMcSparks

Hey UGX peoples,

I'm going to be participating in Extra Life this year and wanted to see if anyone was interested in making a donation under my name for a charity.

I'll be playing CoD mods for 24 hours on Saturday Nov 7th (mostly zombiemode I suspect, since that's the most popular), so you can feel free to donate with a note on what you'd like to see me play since I'll be streaming. You can also join in to play mods with me (given there is a free space / time after donors who requested it play).

Thanks in advance and your help is much appreciated even if it's just a $1, it's all going to a good cause for children! If you donate $6 or more you'll get guaranteed beta access to Rainbow Six: Siege too, so there's that if you're feeling generous.

Thank you,
Alex "SparkyMcSparks"
1962 days ago
Someone said it'd be nice to get a forum section on Steam for World at War so modders can post threads for their stuff to maximize exposure by grabbing people who don't visit forums like these. I think it's a great idea, and they asked how to go about getting it moving...

This URL will ask you to sign into Twitter (it's legit, check URL) and auto fill your status and ask if you'd like to tweet it.[email protected]%20Any%20chance%20of%20Mod%20Release%20sub-forum%20on%20%23Steam%20discussions%20page%20for%20%23CoDWaW%20%23PC%20so%20modders%20can%20post%20their%20content?

DO NOT RETWEET. IT DOES NOTHING. ATVI Assist only look at individual tweets.

Feel free to spread that URL link to other communities + players, and even if you aren't a modder and just play mods still tweet it!

Note: Not doing a petition because realistically it wouldn't achieve anything here. You need to grab their attention and let them know what you want with your individual voice.
2199 days ago
Started writing some tutorial guides to share some knowledge I have gathered over the years from modding and working professionally on CoD, they're not specific tutorials on how to like do a boarded window or create a magic box, these are more high level and slightly technical.

Using Steam for centralization and I've been going back to update them when someone has questions (like I added a completely new section on overlapping nodes when someone IMed me asking after I posted the navigation tutorial).

If someone wants to copy them here that's cool, but like I said, probably better to just check them out on Steam because I may be adding / addressing / grammatically fixing things that people point out.

If anyone has ideas for tutorials let me know, something similar to stuff I've already written would be good topics. I'm thinking next few ones might be like how the A.I. animation system works, keeping your script variable counts down, tips for faster iteration, etc...
2294 days ago
We're looking for Builders and Gameplay Engineers, so if anyone here feels confident and serious enough in wanting to apply feel free to get in contact on Steam or PM.

I'd be happy to personally pass your stuff on to the hiring department with the caveat that it's completely out of my hands from there, but I know a lot of people here are hard workers and talented so it's the least I can do to give back.

Apply on the website links below, let me know, and then you can send me your coverletter / resume to aromo (at) treyarch (dot) com and let me know your username so I can put one and one together.

Level Builder
What you’ll be doing:   
•    Work with design leadership, artists, and other level designers to deliver environments that embody the creative vision of the game.
•    Research subject matter related to the history and look of locations portrayed in a level.
•    Collaborate with other designers, artists, animators and engineers to create levels that are not only incredibly fun, but look great and run well.
•    Detail and polish geometry based on photo reference and concept art.
•    Prioritize and self-manage to meet deadlines.

Make sure you have your best map that you feel represents your quality of work. If you think it could have shipped in Call of Duty 4 / World at War (depending on the mod tools you use), then you're on the right track.

You may be asked to do a test map, I would take it serious and make sure it's polished and fun. Some basic rudimentary scripting knowledge might help, but you don't necessarily need to do both -- make sure you're really good at one of them.

To get some idea, check out Ravensoftware's Design Test, it's a bit more lax since it's just for an internship.

Senior Gameplay Engineer
What you’ll be doing:     
•    Implement, debug and optimize systems in C/C++ and other languages
•    Spearheading development of innovative gameplay experiences
•    Contributing to game architecture and technical designs
•    Performing data and code analysis to identify improvement opportunities
•    Providing mentorship to less experienced engineers

Basically working on source code to create new features, some scripting work involved too. As an example from what a Gameplay Engineer did on BO2, you'd be working on general gameplay stuff like pathfinding, or a special focus on weapon systems or animations while exposing the new features to scripters.


Question: How old do I have to be there to work?
Answer: Legal working age is 14+ in USA I think, but realistically, you need to be self-sufficient and reliable more than anything.

Question: Do I have to move to Los Angeles?
Answer: Yes.

Question: I don't have X years working or Y shipped titles of a "AAA" game, what do I do?
Answer: Don't let that turn you off. Mod experience counts a lot too and if you are able to bring value to the company, they'll want you.

Question: I just made a map in a week, will this be good enough?
Answer: Probably not, like any other job application, you'll want to show the best of you.

Question: I'm moving there all by myself, do I get any assistance?
Answer: Negotiate it, it's case-by-case basis. See if you can get relocation assistance, temporary housing, and so on.

Question: Any examples of what I can do?
Answer: This guy got a job at Ravensoftware doing their old Design Test.

Question: What do I need when I apply?
Answer: Have a website up with videos, pictures and download links of your work. Send in a cover letter and resume.

Question: What about people who aren't from the US and how well do they have to speak / write english. ( Advanced; Fluent; ... ?
Answer: Will need to sort of Visa issues with HR. As for speaking / writing, hard to say for sure as I'm sure it's illegal to discriminate, but I'd say just be able to have conversations (which will be happening often at work) and read / write your ideas down on a document (also happens a lot too) in a manner that others can understand. Basically, I wouldn't let the language thing hold you back from applying.

Question: How much does it pay?
Answer: Check here for ballpark figures, but of course like all other jobs, case-by-base basis + you negotiate it.

Question: What's a typical workday like?
Answer: Here's a straightforward overview: Start at 10:00am, clock in and resume any tasks you have. Maybe a small team meeting in the morning. Lunch at noon, lot of food trucks and restaurants nearby. Back in from lunch, resume working on tasks. Maybe some more meetings mixed in. Follow up with team mates or leads on stuff you're working on. Out at 7:00pm.

Question: I'm not ready yet, how can I get more experience?
Answer: You give yourself experience. This talk by Chet from Valve gives an invaluable presentation about getting into the game industry. Eurogamer Expo 2012: Valve Software's Chet Faliszek
2384 days ago

Direct Link :
^ This version I'll probably update in the future.

This is purely for educational purposes, as you can't get geo.

How It Works

It grabs all the entities, structs, and nodes in a map by script and spits them out into a .MAP that can be read by Radiant.

This does not decompile geo, nor generate script_brushmodels.

How To Use It

You'll need to be running +set developer 2, +set developer_script 1, and +set logfile 1 (or 2)

You can either just run the mod because IWD is included, or build MapEntityDump mod IWD manually.

Run any SP or Zombies map.

After a few seconds you'll see in console all the entities in the map being printed out.
NOTE: You'll be sitting at a black screen, this is intended. It stops the game from running any game mode sripts.
NOTE: Ignore any Script Runtime Errors about FX, I'll try to address this in the future.

Once it's done, go into the <root>/mods/MapEntityDump folder and look in console.log

Search for "iwmap4" as this is where the dump starts at.
Select everything down until the end where you see the success message "Map entities saved ( see console.log for info ) "

Copy and paste this into a .MAP
You may want to do some cleanup.
       Search for "dvar set cl_network_warning 0"
       Replace with empty strings.
Now open the .MAP in Radiant.

What Is Modified

     I just renamed calls of NewDebugHudElem() to NewHudElem() since the former isn't available in the public game.
     If you run the game with the developer dvars and encounter looping Script Runtime Errors in this script, it's likely because of NewDebugHudElem() calls.

     Call the dump script on every map.
     Script that will grab everything and dump it into a .MAP format.

     Changed file prints to write to the logfile.


This was written and tested in Call of Duty: World at War, but may work in other Call of Duty titles if you take the _dump.gsc

Triggers == 64x64x64 Brushes.
Script_Brusmodels == 32x32x32 Brushes. Default to Brown Case texture unless it's part of a specified system.

Triggers + Script_Brushmodels are temp and not reflective of actual size as you can't get that information from script side.


v1.2 (6/6/2014 3:24:07 PM): Dump Script_Brushmodels

v1.1 (6/6/2014 1:42:25 AM): Dump Action Nodes + Vehicle Nodes + Structs + Texture Triggers Appropriately

v1.0 (6/5/2014 7:55:21 PM): Dump Entities + Nodes + Triggers
2416 days ago
What is Zombie History?
Every time a Zombie is instructed to do something it is logged in the Zombie History for each individual zombie. Normally this is seen through a debugger, but I made a function to print it out in-game.

How Do I View Zombie History?
You'll want to add this line somewhere in your scripts, even the map script is fine:
array_thread( GetSpawnerArray(), ::add_spawn_function, ::zombie_history_print );

Here is the function I wrote that you'll need to copy and paste, I put it in _zombiemode_utility.gsc since almost every script includes it:
self endon( "death" );

if ( !IsDefined( self.zombie_history ) )
self.zombie_history = [];

last_zombie_history_size = 0;

while ( true )
max_prints = GetDvarInt( "zombie_history_debug" );

if ( self.zombie_history.size != last_zombie_history_size )
last_zombie_history_size = self.zombie_history.size;
prints = 0;

for ( x = self.zombie_history.size; x > 0; x-- )
if ( IsDefined( self.zombie_history[ x ] ) && prints < max_prints )
thread print3d_at_pos( self.zombie_history[ x ], undefined, "update_zombie_history_" + prints, ( 0, 0, 64 + prints * 10 ) );

wait ( 0.05 );

Then after, you'll want to toggle the DVAR "zombie_history_debug" to any number of history events you want to see. It'll print the most recent at the bottom, like the console.

How Can I Log My Own Events?
Stock scripts already log events for you, but if you want to log your own you'd want to do something like:
self zombie_history( "zombie_assure_node -> failed to find a good entrance point" );

Call it on a Zombie AI and the first and only parameter is a message (usually is the function name the log is in and some helpful description about what is happening).
2418 days ago
Thought I'd finally post this since people see me on Steam using the mod tools and have been asking a lot, figured it'd be good to have some transparency to see if anyone has ideas or feedback for the mod while it's being worked on.

What It Is
A linear experience that is more about getting from point A to point B with Nazi Zombies slowing you down. Think of Extinction, but instead of forcefully making players stop every couple feet to defend it'll all be randomly generated in real-time by script constantly polling to see how players are doing and what to throw at them in terms of Zombies.

What It Isn't
This isn't a game type like Objectives game mode that is layered on top of the regular Classic game type, this mod is fully catered to bringing a similar experience you get from Call of Duty singleplayer levels but with a Zombie twist.

Who's Working On It
Just me and DidUKnowIPwn are scripting. We have a map donated by Zeroy (MP_Argentan_Night) that we are using. Currently this seems to be a good size team since we're just focusing on getting the mod to a playable state.

We don't want to lock ourselves into features that don't work or aren't fun, this is an iterative process and will take time to see what works and doesn't work. But for now...

* Zombies spawn dynamically at random spots as you play every time.
* Intensity ramps up dynamically depending on how bad or good you are doing.
* Vignettes to help tell a story for each level.

How Can I Get Updates?
Either this thread or visit / subscribe to my Twitch where I'll regularly try to stream development (although most of the time it may be uneventful until we get something more playable up and running):

I have ideas / suggestions, where can I get them to you guys?
Please post ideas here with your username for tracking:

Can You Make A Map For It?
Yes! While the mod isn't currently released, you can still start working on a map for it if you like.

Design a map that is linear, don't worry about doors / gates / scripted events as those are influx -- it shouldn't be stopping you from laying out a map.

Right now we're trying to keep it very modular. At the very least, to get the mod working in your map all you'd have to do is add a line of script_structs from beginning to end. The mod takes care of the rest in populating your map based on players getting from beginning to the end, and using path nodes to dynamically drop in zombies.

Here is the layout for ZM Argentan:
Green Lines == Various routes to take
Red Lines == Script_Structs which allow the mod to run on your map.
2420 days ago


RED = Zone offline.
BLUE = Zone active (adjacent to occupied, so zombies will spawn from here too).
GREEN = Zone occupied.
WHITE = Zone online but not active or occupied.

Download Files Here:
2428 days ago
Looking at the WaW Scripting Support forum section, it seems like a lot of problems can be solved quite easily without much help if doing some debugging. This tutorial is easy enough that you don't need much scripting knowledge, if anything, it'll let you post valuable information when seeking help for people to better assist you.

I'll try to keep this thing updated over time (and cross-posted between UGX and ZM forums) if I see more common issues arise in the support section or someone has a specific debugging question or technique they want to know about.

Running The Game In Developer Mode

First off, you want to run some dvars when working on your map / mod. These are the ones I recommend ALWAYS using when developing your content:

set developer 2  set developer_script 1  set thereisacow "1337"  set logfile 2  devmap <mapname>

Zombies Debugging

In addition to running the game in developer mode, you can use for zombie related development tools:

set zombie_cheat <1-5>

1     Start all players with 100000 points
2     Start all players with 100000 points   don’t spawn any zombies
3     Start all players with 100000 points   turn on the power after 5 seconds
4     Points   no zombies   power after 5 seconds
5     Same as 4   the ability to re-buy the same perk over and over. Useful for testing animations, sounds, etc.

Checking Logfile

Everything that is printed to the console is printed to the console.log file which goes in the main folder by default. If you're running a mod, the console.log will be in your mod folder within the installation directory.

If you're posting an error on the forum or for someone to fix, it's generally a good idea to attach this file since it'll contain all the console information of what went wrong like a callstack.

Script Runtime Errors

When running your map in developer mode, if you encounter a Script Runtime Error (SRE) the game will end the map if it's fatal or bring up a pop-up window if it's non-fatal.

If you have a SRE you should ALWAYS address them to get a proper fix in -- don't assume since people playing your map won't be running developer mode the issue goes away. It is still happening in the background and can cause really bad issues like hitching, unexpected script results, or even crashing your map.

They usually look like this:
******* script runtime error *******
undefined is not an array, string, or vector: (file 'maps/mp/_load.gsc', line 113)
if (!isdefined(level._effect["lantern_light"]))
called from:
(file 'maps/mp/_load.gsc', line 12)
lanterns thread lanterns();
called from:
(file 'maps/mp/mp_houses22.gsc', line 2)
started from:
(file 'maps/mp/mp_houses22.gsc', line 1)
main() {

The way it's displayed is the bottom is the origin of the script routine, and the very top is where the SRE was encountered.

In the above example, the map main() function calls the _load.gsc main() function which calls the _load.gsc lanterns() function which has an error on line 113 with the lantern FX.

Note: The formatting is off in how the forum shows this, but the asterisk (*) will always be under the variable / function with the error. It'll display properly in-game to give you a better idea what part of the line is problematic.


Asserts are a development feature that check if a condition is true and if not, stops the game. This is useful for when you as a designer want to validate your assumptions about what the state of the game should be whenever possible.

AssertEx( IsDefined( ai_maxis), "Maxis AI did not spawn." );

These have no impact in non-developer mode, so people playing your map will never trigger them... but they may run into a SRE. In that case, you should avoid defensive coding to get around the issue and instead fix the issue; if something shouldn't happen, then an assertion is the right thing to use.

Here are the various Assert API you have at your disposal:
Assert( <value> );     Assert that the given statement is correct. The function will throw a script error if this is false.
AssertEx( <value>, <message> );     Assert that the given statement is correct. The function will throw a script error if this is false, with the given message.
AssertMsg( <message> );     Throws a script error with the given message.

Dev Blocks

If you want certain script snippets to only execute when in developer mode, you can wrap in /#    #/

This is useful if you want to kick off developer functions or do prints to the screen of information you want to see from script. People playing your map won't see these.

	while ( true )
trig waittill( "trigger", who );
IPrintLnBold( "Player who purchased perk: "   who.playername );

Common SREs

could not find script <script_name_here>
You don't have the script in a FastFile or IWD that is being loaded by the map.

   must be applied to an int (applied to undefined)
You'tr trying to do a mathematical operation on a variable that isn't defined before the operation. You can't initiate a variable while doing the mathematical operation, you need to define it earlier even if it's just a zero.

undefined is not an array, string, or vector
Variable you're trying to reference is empty.

cannot set field of removed entity
Entity has left / deleted from the game or the entity variable it was stored in has been reset / undefined.

cannot cast undefined to <variable_type_here>
You're trying to reference a variable that is empty.

potential infinite loop in script
Your while or for loop doesn't have a wait in it. Every loop needs a wait, whether it be a timed wait of 0.05 seconds or waiting for a notify.
2429 days ago
Finally got around to signing up here!

I'm Alex, or go by SparkyMcSparks online. Originally from Chicago (land of deep dish pizza and really good hot dogs, Google 'em up to know what you've been missing out on). I moved to Los Angeles three years ago to work at Treyarch originally doing Wii ports and Mod Tools for CoD, eventually shifted over to working on Zombie maps for BO2.

In my spare time I still love to play mods and work on some, as well as learning other tools like Source engine and Unity3D stuff. I enjoy riding my bike on the beach year round and eating tacos around LA.

If you ever want to game or chat about nerdy things, or even have quesitons about modding or applying at Treyarch feel free to add me on Steam:   SparkyMcSparks
2429 days ago


or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch
Loading ...