A Beginner's Guide to Game Modding (in javascript)
August 10, 2014 1:28 PM   Subscribe

I am looking for anecdotes and experiences from people who mod games. What was most helpful/useful/valuable to you in learning to do this when you first got started?

The game we are looking to mod is in javascript, so I am also looking for tips, tools, resources, tutorials et al for javascript in specific. But I am interested in hearing your experiences in learning to do this regardless of the language, especially if you knew little to nothing about programming when you began.

posted by Michele in California to Computers & Internet (6 answers total) 4 users marked this as a favorite
Games modding really depends entirely on the game you want to mod, whether it's set up to allow such modding in particular (either by design or by chance), and if they use some sort of relatively popular framework to create the game. What game are you trying to mod, specifically? In any case, probably the best thing to do is to learn Javascript; I'd recommend taking a look at Douglas Crawford's excellent Javascript: The Good Parts and Javascript: The Definitive Guide. Even with this knowledge, I'm somewhat skeptical about your chances of being able to mod effectively.
posted by Aleyn at 2:30 PM on August 10, 2014

Ditto what Aleyn said.

Some game modding is by using development tools that the developer releases that allows players to create or modify content in the game (think: map or level editors). Sometimes you get a game with a very active modding community that creates tools that allow players to modify content. The important thing there is that non-programmers can mod when they have tools but... I can't think of examples where you can mod without tools or programming knowledge.

A good way to look at most game modding is that it's just a variation of hacking. If there's no tools, then you either make them yourself or you start sifting through code to force it to do what you want. Most modders have programming backgrounds, or at least very technical (depends on the game, really, and what exactly you're modding). So assuming this isn't a game that already has a modding community, you'll need to start learning to program. Aleyn's given you some good suggestions for Javascript.

I used to mod quite a bit, but never without tools already available, and always with games that had simple or visual scripting systems (not just code). I tried modding Cookie Clicker a few months ago (simple Javascript web game) and failed pretty hard since I did not know how to write in the language, even though I can read it alright.
posted by subject_verb_remainder at 2:55 PM on August 10, 2014

I used to mod quite a bit, but never without tools already available, and always with games that had simple or visual scripting systems (not just code).

I would be very interested in hearing about your experiences, how you got started, what tools you used in specific.

This is not my project. It is my son's project -- the same son who explained the theory of relativity to me when he was 13 (using little words and repeating himself a whole lot), who reads calculus books to occupy himself when he gets bored and is running out of other things to read (does so in spite of a math specific learning disability), etc.

He's fairly bright. I think he can figure out programming if he has a project to work on. He finally has a project to work on. He has written up some of the changes he wants to make. There is a community to participate in. Other people are interested in what he has to say (the modifications he is advocating for). He has downloaded the source code and started playing with it. It is an open source game written in javascript.

He would rather not name the game at this time. He just wants to hear what other people found most useful and valuable when they started modding games.

posted by Michele in California at 3:22 PM on August 10, 2014

Like svr mentions, you often don't have access to source and are at the mercy of what tools are available (or you'e a super keen programmer already/able to hack in patches and/or reverse engineer stuff). Learning a tool is a much different situation than having access to source.

As a novice, if he's working by himself as opposed to with others, in hand wavy terms one of he more important things is managing scope. It's easy to lose steam on a large project and end up without nothing to show for it which can itself be discouraging. Better, IMO, to start small and add incrementally, at least until he has some experience under his belt.

But I can't stress how much different access to source is from working with tools. Access to source means you are basically programming. A tool can give you access to an internal scripting language but it's typically going to stop you from doing (or at least warn you before allowing you to do) anything that will grind the whole program to a halt/cause it to crash, etc.

My modding basically is restricted to Neverwinter Nights and The Elder Scrolls: Morrowind which both came with editors, and Doom for which many editors were available. More than "people interested in what he has to say", I'd say he'd want to find a forum of other modders working on modifications for that particular game. I certainly wouldn't attempt anything ambitious without such a community (i.e. other modders for that game, rather than just other players).
posted by juv3nal at 3:41 PM on August 10, 2014

I'm a software engineer and although I've never done game modding, this sounds like the perfect situation for your avid precocious youngster to learn in. Every browser these days offers an entire host of built-in and add-on tools for the web developer whose features usually provide even more emphasis on the abilities and features you'd use for debugging existing web applications, rather than emphasizing constructing a web application or web page design from scratch, as many third-party tools do. These are just the things you'd want for modifying a browser-based game (at least one that runs in javascript and works on the document model / DOM, rather than concealing its operations down inside something like Flash or Silverlight.

So my advice would be for him to do his best learning to use the developer tools that each browser has built-in, and any add-on/plug-in tools that are also available for free.

Also of importance, depending on the game, may be learning about CSS styling of web content. The web community is constantly working on ways to improve standards so that appearances, effects, and behaviors of things in a web page that they previously accomplished using javascript to be possible with simple CSS rules. So, if he understands cutting-edge CSS well, he may find that an appearance or behavior he wants to change in some part of the game can be changed by tweaking a style rule somewhere rather than by developing and testing javascript code.

Firefox for example has an "Inspector" tool that allows you to just click on a page element and directly change its CSS properties until it performs as expected... the modder could do all experimentation quickly this way, then once he or she has tied down exactly which changes are desired work backwards and cut and paste bits from the browser back into the source code of the game being worked on.

Hope all that makes sense and helps...
posted by XMLicious at 5:46 PM on August 10, 2014

Ahh, based on your description of him, he'll do fine. Maybe support him by getting him an intro to javascript textbook. He has access to the source, and Javascript is a relatively friendly language (it's scripting, which is a different level of complexity than a compiler language like C++). Javascript is popular enough that he should be able to find help if he can't figure out a problem on his own.

If he's never done anything game-related, then it's pretty much the rule that he'll bite off more than he can chew because games are a lot, lot, LOT more complex than people give them credit. But starting the process will teach him a ton of stuff he won't get any other way, and he's kind of at the right age to jump into it. A modding community is good because they can help him check his work and figure out what errors he's making, and maybe find a couple people to pitch in depending on the size of the project. A community would also help him understand the scope of his changes - it's really hard to judge if what he wants to do is even possible if he has no experience. He might hit a wall really fast and have to dial back his ideas drastically, which can be demotivating but, again, a good leaning experience.

I got started modding with strategy games (Heroes of Might & Magic, Starcraft, Command & Conquer), which all had level editors that shipped with the game. It began with modifying maps that already existed (I think I was 10) and evolved into making my own content. Later I moved into Neverwinter Nights and Total War, which have big online mod communities that I leaned on for figuring out tricky bits or for general tutorials. Eventually I modded pretty much any game that came with an editor that could find, but I turned into a game developer by trade so that is not unusual for someone like me. Modding something that comes with developer-supported tools is totally different than messing with code, but I am not a programmer and never had the urge to become one, so using editors worked quite well for me.
posted by subject_verb_remainder at 6:09 PM on August 10, 2014

« Older Recommendations for diverse Christian churches in...   |   What makes someone a player of an instrument? Newer »
This thread is closed to new comments.