2009scape-website/services/m=devblog/view_post046a.html
2020-11-24 12:27:36 -05:00

250 lines
18 KiB
HTML
Raw Blame History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Mirrored from services/m=devblog/view_post.ws?post_id=75&tag_id=3&page=1 by HTTrack Website Copier/3.x [XR&CO'2010], Sun, 18 Jul 2010 10:51:00 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"><!-- /Added by HTTrack -->
<head>
<link rel="icon" type="image/vnd.microsoft.icon" href="../../site/favicon.ico">
<link rel="SHORTCUT ICON" href="../../site/favicon.ico">
<link rel="apple-touch-icon" href="../../site/img/mobile.png">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="
en,
English
">
<meta name="keywords" content="RuneScape Developers' Blogs">
<meta name="description" content="RuneScape Developers' Blogs - Mod Edam talks a little about this year<61>s upcoming Christmas holiday event, from the perspective of a new developer.">
<meta name="title" content="Holiday Event - A Christmas Warble">
<title>Holiday Event - A Christmas Warble</title>
<style type="text/css">/*\*/@import url(../../site/css/global-34.css);/**/</style>
<script type="text/javascript" src="../../www.jagex.com/js/jquery/jquery_1_3_2.js"></script>
<script type="text/javascript">
$(function(){
$("#play, #playExisting, #playBannerNoad").each(function(){ this.href += "?j=1"; })
})
</script>
<link rel="stylesheet" type="text/css" href="../../site/css/kbase-6.css" media="all">
<link rel="stylesheet" type="text/css" href="../../site/css/devblog-2.css" media="all">
<link rel="stylesheet" type="text/css" href="../../site/css/sifr-0.css" media="all">
<script type="text/javascript" src="../../site/css/sifr_core-0.js"></script>
<script type="text/javascript">
var Trajan_Pro_Bold = { src: 'http://site/img/sifr/Trajan_Pro_Bold.swf' };
sIFR.activate(Trajan_Pro_Bold);
sIFR.replace(Trajan_Pro_Bold, {
selector: 'h2',
css: '.sIFR-root { font-weight: bold; font-size: 23px; text-align: center; opacity: 0.95; leading: -1; color: #411f13; }'
+ ', .sIFR-root a { color: #411f13; }'
+ ', .sIFR-root a:hover { color: #411f13; }',
wmode: 'transparent'
});
</script>
</head>
<body id="nav" class="bodyBackground">
<a name="top"></a>
<div class="bodyBackgroundHead">
<div id="menubox">
<ul id="menus">
<li class="top"><a href="../../site/title.html" id="home" class="tl"><span class="ts">Home</span></a></li>
<li class="top"><a id="play" class="tl" href="https://github.com/2009scape/2009Scape/releases/latest/download/2009Scape.jar"
onclick="try{pageTracker._trackPageview('/play_game/menu/top')}catch(x){}; try{_pageTracker._trackPageview('/play_game/menu/top')}catch(x){}"
><span class="ts">Play Now</span><!--[if gt IE 6]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul>
<li><a href="../../secure.runescape.com/m%3dcreate/index.html" class="fly"><span>New Users</span></a></li>
<li><a href="https://github.com/2009scape/2009Scape/releases/latest/download/2009Scape.jar" id="playExisting"
onclick="try{pageTracker._trackPageview('/play_game/menu/existing')}catch(x){}; try{_pageTracker._trackPageview('/play_game/menu/existing')}catch(x){}"
class="fly"><span>Existing Users</span></a></li>
<li><a href="../../site/options.html" class="fly"><span>Java Options</span></a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top"><a id="account" class="tl" href="../../site/account_management.html"><span class="ts">Account</span><!--[if gt IE 6]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul>
<li><a href="../../secure.runescape.com/m%3dweblogin/members/members.html" class="fly"><span>Upgrade Your Account</span></a></li>
<li><a href="../../secure.runescape.com/m%3dcreate/index-2.html" class="fly"><span>Create New Account</span></a></li>
<li><a href="../../site/account_management.html" class="fly"><span>Account Management</span></a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top"><a id="guide" class="tl" href="../../site/kbase/guid/manual.html"><span class="ts">Game Guide</span><!--[if gt IE 6]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<!--[if lte IE 6]><iframe src=""></iframe><![endif]-->
<ul>
<li><a href="../../site/kbase/guid/manual.html" class="fly"><span>Manual</span></a></li>
<li><a href="../../secure.runescape.com/m%3dweblogin/loginform802b.html" class="fly"><span>QuestHelp</span></a></li>
<li><a href="../m%3ditemdb_rs/frontpage.html" class="fly"><span>Grand Exchange</span></a></li>
<li><a href="../../site/kbase/guid/rules_of_conduct.html" class="fly"><span>Rules</span></a></li>
<li><a href="../../site/kbase/guid/lore.html" class="fly"><span>Lores</span></a></li>
<li><a href="../../site/splash.html" class="fly"><span>What is RuneScape?</span></a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top"><a id="community" class="tl" href="../m%3dforum/forums.html"><span class="ts">Community</span><!--[if gt IE 6]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<!--[if lte IE 6]><iframe src=""></iframe><![endif]-->
<ul>
<li><a href="../m%3dforum/forums.html" class="fly"><span>Forums</span></a></li>
<li><a href="../m%3dhiscore/hiscores.html" class="fly"><span>Hiscores</span></a></li>
<li><a href="../../site/kbase/guid/Player_Submissions.html" class="fly"><span>Player Submissions</span></a></li>
<li><a href="../m%3dadventurers-log/index.html" class="fly"><span>Adventurer's Log</span></a></li>
<li><a href="../m%3dpoll/index.html" class="fly"><span>Polls</span></a></li>
<li><a href="../../site/kbase/guid/Downloads_and_Wallpapers.html" class="fly"><span>Downloads &amp; Wallpapers</span></a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top"><a id="help" class="tl" href="../../site/kbase/guid/Customer_Support.html"><span class="ts">Help</span><!--[if gt IE 6]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<!--[if lte IE 6]><iframe src=""></iframe><![endif]-->
<ul>
<li><a href="../../site/kbase/guid/Customer_Support.html" class="fly"><span>Customer Support</span></a></li>
<li><a href="../../site/loginapplet/loginappletb4b5.html?mod=www&amp;dest=loginapplet/loginapplet.ws?mod=accountappeal&amp;dest=passwordchoice.ws" class="fly"><span>Password Recovery</span></a></li>
<li><a href="../../site/loginapplet/loginappletef7e.html?mod=www&amp;dest=loginapplet/loginapplet.ws?mod=accountappeal&amp;dest=lockchoice.ws" class="fly"><span>Locked Account Recovery</span></a></li>
<li><a href="../../secure.runescape.com/m%3dweblogin/loginform14d4.html?mod=offence-appeal&amp;dest=index.ws" class="fly"><span>Appeal Bans &amp; Mutes</span></a></li>
<li><a href="../m%3dbugtracker_v4/index.html" class="fly"><span>Submit a Bug Report</span></a></li>
<li><a href="../../site/parents.html" class="fly"><span>Parents' Guide</span></a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top"><a href="../../secure.runescape.com/m%3dweblogin/loginform53bb.html?mod=www&amp;ssl=0&amp;dest=index.ws" id="login" class="tl"><span class="ts">Log In</span></a></li>
</ul>
<br class="clear" />
</div>
<div id="bannerNoad">
<a href="https://github.com/2009scape/2009Scape/releases/latest/download/2009Scape.jar" class="HoverImg" id="playBannerNoad"><img src="../../site/img/main/skins/default/playnowc20a.png?12" alt="Play Now" /></a>
</div>
<div id="scroll">
<div id="head"><div id="headBg">
<div id="langAndLogin">
<div id="lang">
<a href="../../site/title.html"><img alt="English" title="English" src="../../site/img/main/layout/en.gif" /></a>
<a href="../../site/l%3d1/title.html"><img alt="Deutsch" title="Deutsch" src="../../site/img/main/layout/de.gif" /></a>
<a href="../../site/l%3d2/title.html"><img alt="Fran&ccedil;ais" title="Fran&ccedil;ais" src="../../site/img/main/layout/fr.gif" /></a>
<a href="../../site/l%3d3/title.html"><img alt="Portugu&ecirc;s (BR)" title="Portugu&ecirc;s (BR)" src="../../site/img/main/layout/br.gif" /></a>
</div>
</div>
</div></div>
<div class="navigation">
<div class="location">
<b>Location: </b> <a href="../../site/title.html">Home</a> &gt;
<a href="indexc326.html?tag_id=3&amp;page=1"><span>Developer Blogs</span></a> <span class="divider">&gt;</span>
<span><span>Holiday Event: A Christmas Warble</span></span>
</div>
</div>
<div id="content"> <div id="article">
<div class="sectionHeader">
<div class="left">
<div class="right">
<h1 class="plaque_medium">
Holiday Event: A Christmas Warble
</h1>
</div>
</div>
</div>
<div class="section">
<div class="article">
<div class="topshadow">
<div class="bottombordershad">
<div class="leftshadow">
<div class="rightshadow">
<div class="leftcorner">
<div class="rightcorner">
<div class="bottomleftshad">
<div class="bottomrightshad">
<div id="post">
<div class="devblog">
<div class="devblogHead">
<div class="devblogFoot">
<div id="archives"><a href="indexc326.html?tag_id=3&amp;page=1">&lt; Back to archive</a></div>
<h2>
A Christmas Warble
<br/>
by <a href="index908e.html?author_id=68">Mod<EFBFBD>Edam</a> 11-Dec-2009
</h2>
<div class="content"><p>Merry Christmas! Joyeux Noel! My name is <span class="strong">Mod Edam</span> (yes, as in the cheese). I<>ve recently started work at Jagex and my first project is this year<61>s Christmas event. I want to talk about what was going through my head as I developed this project, what I felt was important and how I approached it.</p><p></p></div><div class="hr"></div><h3>Plot</h3><div class="imgright"><div class="topbord"><div class="bottombord"><div class="leftbord"><div class="rightbord"><div class="toplcorn"><div class="toprcorn"><div class="bottomlcorn"><div class="bottomrcorn"><a href="images/xmas09/gateway.jpg"><img src="images/xmas09/gateway_thumb.jpg" alt="Beware of the Humbug" /></a></div></div></div></div></div></div></div></div><a href="images/xmas09/gateway.jpg">Beware of the Humbug</a></div><div class="content"><p> </p><p>I was excited and a little daunted at having the Christmas event for my first project. As holiday events only stay in the game for a short while, developers are usually given more freedom to do what they want, however, this freedom can be a mixed blessing. Holiday events are some of the most played content in RuneScape and players have high expectations.</p><p>My foremost concern was getting the plot right. I know from experience (a couple of half-finished novels) that the overarching plot is the most important thing to get right when starting a project. From that, the characters, atmosphere and game mechanics are derived. If you get the plot wrong, it makes it so much harder to get everything else right.</p><p>As this was my first project, my first instinct was to go for something as quirky and off-the-wall as possible, but I subdued that impulse. I think when working with something like Christmas there<72>s a mine of timeless stories and folklore to dig into. If I were to create an off-the-wall Christmas, I<>d risk alienating myself from this material and perhaps find myself unable to capture some of the things people most associate with Christmas.</p><p>The problem with reusing traditional Christmas tales, though, is that I run the risk of making something boring or creating something that feels like a sitcom<6F>s cheesy Christmas special. Don<6F>t get me wrong, cheesy Christmas specials are awesome, but I didn<64>t want to create something boring. I decided to use a traditional story as the basis of my event, but to change the perspective and give it a twist. Hopefully, a bit of humour and a fresh perspective could give the story a bit of a kick, yet still let me tap into that traditional atmosphere I have a hankering for.</p><p></p></div><div class="hr"></div><h3>Atmosphere</h3><div class="content"><p>One of the main differences between quests and holiday events is atmosphere. An event has that charged, almost panicky atmosphere about it. The frantic mass of players who arrive in the first ten minutes has an anarchic beauty to it. It<49>s exciting to see all those players in one place (while the server whines and groans under the pressure of it all), but, more than that, holiday events are about inciting a feeling in a player. I want players to get just a little bit of that Christmassy feeling in their stomach while playing my event. </p><p>Creating atmosphere is partly done through dialogue and plot, but I think graphics will always play the bigger part. Communication between developers and graphics artists is crucial for success. As a developer, this stage can be quite scary - I have to trust that my graphic artists will produce what I want them to. Unless it<69>s something absolutely crucial to the in-game mechanics, I can<61>t really dictate how I want something to look. Instead, I tell the graphics artist what I want something<6E>s function to be, or what a character<65>s back story is, then leave it to their expertise. If I were to try to control this process too much and say exactly how I wanted something to look, I<>d be making poor use of their expertise and the project would undoubtedly suffer for it. As it is, I<>m really pleased with what was produced. </p><p></p></div><div class="hr"></div><h3>Characters</h3><div class="imgright"><div class="topbord"><div class="bottombord"><div class="leftbord"><div class="rightbord"><div class="toplcorn"><div class="toprcorn"><div class="bottomlcorn"><div class="bottomrcorn"><a href="images/xmas09/ice_sculptures.jpg"><img src="images/xmas09/ice_sculptures_thumb.jpg" alt="MiscreantArt" /></a></div></div></div></div></div></div></div></div><a href="images/xmas09/ice_sculptures.jpg">MiscreantArt</a></div><div class="content"><p> </p><p>In addition to creating new characters there were some old characters I was dying to re-use (there's a small cameo for Jack Frost and the return of some impish characters). For me, creating the new characters was the easy part; reusing the old ones proved far more challenging.</p><p>I had to be sensitive to the character - many NPCs are under another developer<65>s curatorship, so it<69>s good manners to make sure they<65>re happy with how I<>ve used their NPCs. If I were to add a particular new trait to an NPC it could potentially hinder future developments for that character. There<72>s also the challenge of writing dialogue in a character<65>s <20>voice<63>. This can be tricky, and I sometimes found myself replaying old bits of content just to work out how one character may address another. </p><p>There are advantages to reusing old characters. The first is that I had tremendous fun writing the dialogue - especially for those I am particularly fond of. It also allowed me to layer the content a bit more and give the players who know RuneScape well a bit of added fun. I could create in-jokes and reference other content, and I could put these characters into situations they<65>ve not been in before.</p><p></p></div><div class="hr"></div><h3>Rewards</h3><div class="content"><p>It<EFBFBD>s been decided (I believe rightfully so) that holiday reward items shouldn<64>t give players a notable in-game advantage. Because of this, there<72>s the danger that holiday items end up at the back of a bank account or being looked after by Diango - why would a player choose to wear something that gives no advantage when they could wear something that does?</p><p>To an extent, I think us developers (and players) have to accept that holiday items won<6F>t ever be the most-used items in the game, but that doesn<73>t mean they should be written-off as useless. For me, a good holiday item is one which looks cool and is a bit of fun. More importantly, it should have a distinctive look that<61>s true to the event it came from. What better way is there to nostalgically say "I was there at Christmas 2009" than by wearing a piece of it?</p><p>If you'd like to discuss this blog on the forums, please visit <a href="../m%3dforum/forums33f1.html?16,17,393,60035556">this forum thread</a>.</p><p></p></div><div class="hr"></div><h3></h3><div class="content"><p>Today, we've also released this year's Jagex Christmas card, which has some of the characters from this year's in-game event on it. If you wish to have a look at or download it, you can find it in the Downloads and Wallpapers section of the site.</p></div>
<br class="clear" />
<div id="meta">
Project: <a href="index4a4b.html?project_id=22">Holiday Event</a><br />
Tags:
<a href="index53a5.html?tag_id=78">christmas</a>, <a href="index629a.html?tag_id=3">development</a>, <a href="index12c6.html?tag_id=79">holiday</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br class="clear"/>
</div>
<div id="footer">
<div class="contain">
<div class="footerdesc">
This website and its contents are copyright <20> under AGPL.<br />
Use of this website is subject to our <a href="../../site/terms/terms.html">Terms &amp; Conditions</a> and <a href="../../site/privacy/privacy.html">Privacy Policy</a>.
</div>
<a class="jagexlink" href="../../www.jagex.com/index.html" target="_blank">
<img src="../../site/img/main/layout/jagexc20a.png?12" alt="Jagex" />
</a>
<br class="clear"/>
</div>
<br class="clear"/>
</div>
</div>
</div>
<script type="text/javascript">
document.write(unescape("%3Cscript src='"+(("https:"==document.location.protocol)?"https://ssl":"http://www")+".google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var _pageTracker=_gat._getTracker("UA-2058817-15");
_pageTracker._setDomainName(".runescape.com");
_pageTracker._trackPageview();
}catch(x){}
</script>
<script type="text/javascript">
try {
var pageTracker=_gat._getTracker("UA-2058817-2");
pageTracker._setDomainName(".runescape.com");
pageTracker._trackPageview();
}catch(x){}
</script>
</body>
<!-- Mirrored from services/m=devblog/view_post.ws?post_id=75&tag_id=3&page=1 by HTTrack Website Copier/3.x [XR&CO'2010], Sun, 18 Jul 2010 10:51:01 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"><!-- /Added by HTTrack -->
</html>