Vikingr

Joe Osborn

A thesis project slated for completion in May that explores what it’s like to be a member of Viking society in medieval Scandinavia.

Vikingr is a social game for iOS where players compete to accumulate wealth and renown by farming, trading, sailing, raiding, and politicking. Players form bonds with each other through marriage, trade, fostering children, and exchanging gifts, and such alliances represent important obligations. If another player harasses you or insults your clan, it’s up to you and your social network to make things right—by law or by iron.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.


2012/05/08

Defending Vikingr

Filed under: Vikingr — Tags: @ 22:29

Many Happymakers recently defended their graduate theses in the USC Interactive Media Division. I was among them. Click to hear a discussion of the problems of historiography and adaptation I encountered, and the approach I developed to solve them!

2012/04/14

Redesigning Vikingr

Filed under: Vikingr — Tags: , , , @ 16:59

Today, I changed the project description on Vikingr!. These alterations to the project’s mission occurred in the week before the winter show, and they go deep. Months of local optimization on the problem of making a fun game about Vikings had failed to produce an enjoyable experience, so at my wife’s behest I undertook a challenge: Use this final week to start from scratch and make something enjoyable that addressed the whole scope of Viking life.

I’m very glad I did. I threw out the notion of producing a “Dwarf Fortress, but with Vikings and social play” and focused on moment-to-moment pleasures: busy hands in home life (no more setting up situations and waiting for things to happen), sailing with multitouch controls, raiding without complex strategy and micromanagement. I went to a side view with simple sprites (except for the Mode 7-style sailing, inspired by Final Fantasy VI) rather than the isometric projection. I switched to Unity3D so I could get things going quickly and discourage myself from over-reliance on native user interface elements (or, indeed, from fiddling with them to no end). These changes dramatically improved my project’s forward velocity, people enjoyed playing my game more, and I was in a better position to put more social interactions into gameplay.

It seems counter-intuitive that moving towards simple and superficial could make the rich social exchanges I had hoped for more feasible, but it boiled down to the observation my wife had made: If I had spent six months working on home life and farming in such exquisite(-ly boring) detail, there were simply not enough months until May to do the same for sailing, raiding, and social life. I had over-modeled one portion of my game—and not even the important portion, at that! Now that my world signals simplicity, I can employ much simpler types of social exchange without causing inconsistencies in player experience.

So, that’s where Vikingr stands right now. I am currently fleshing it out and extending it with additional social exchanges—not trying to cram sociality into an asocial design.

2011/07/05

Vikingr’s June Prototype

Filed under: Vikingr — Tags: , @ 19:35

I vowed recently on the development log to spend two more working days on combat and then share a playtestable prototype. Well, I took a little vacation, I had to wrap up another project, and then there was the holiday, so I finally reached my goal today after an estimated four solid engineering days within that broad time interval.

So that’s good news! This is an iOS project that ought to work equally well on iPhones and on iPads. I’ll be distributing this build using the Testflight app, so please visit this link to get registered and send me your device’s unique identifier.

This month’s (well, last month’s) prototype covers the core combat of Vikingr. In practice, it would be situated in a larger, more strategic game of viking household management and political simulation, forming an intense, risky, and uncertain means to fame and fortune. Raiding—or being raided against—is one of the emotional high points of Vikingr. Please keep in mind that all art and UI are temporary, and the introductory screen is best thought of as a “debug menu”. One notable difference between this prototype and my future goals is that not all visits to other households should be raids: even in the context of viking raids, a smart raider would prefer to trade with a household that seemed too tough a fight to pick.

Vikingr requires the use of Apple’s Game Center service. Before you launch this game, please log out of Game Center using Apple’s Game Center app. Vikingr will ask you to log in to a special “Sandbox” version of Game Center, and you should create a new user account for this “Sandbox”.

You’ll need someone else to be playing on their device at the same time; alternately, you can choose “Fake Attack” or “Fake Defense” to play both sides locally. If you do play on the network, I highly recommend WiFi over 3G connections—I haven’t put much effort into resolving bugs with 3G multiplayer yet.

For now, everyone is in Iceland and the only valid attack location is Iceland. If the UI tells you that there’s no one to raid in Iceland, go ahead and “Fake” it.

Once your raid begins (or once someone raids you!), tap one of your four vikings (with the green circle at their feet and green names) to activate him. Once active, you can change the direction he’s facing with the arrow buttons or change his combat stance to “Reckless (Attack)”, “Prudent (Attack)”, or “Cautious (Defense)”. There are also two buttons behind the character; the grey one surrenders and the red one flees. In either case you lose control of your viking, but they might escape the fight with their hide intact. Viking culture looks down on retreat—even though your viking’s surrender may be rejected by your opponent (with deadly consequence), at least he won’t live with a reputation as a craven coward.

To move one of your vikings, drag him with your finger. Valid movement destinations will light up blue. Move your finger to another hex and release it to start him moving. After this movement, you may notice that a number on top of the viking is slowly decreasing; this viking cannot move again until this “fatigue” counter returns to zero.

A viking in an attacking stance will strike at anyone in front of him and will turn to face any attacker. As he deals wounds to others (or as he is wounded!), combat messages will appear. Don’t get too distracted by individual encounters—you can use the many vikings at your disposal to gang up on an individual enemy or to split up brawls into less dangerous skirmishes.

If a viking receives too much damage to one of his six body parts (head, torso, left arm, right arm, left leg, or right leg) it will become crippled and then ruined. A ruined left arm prevents a viking from blocking with his shield, and a ruined right arm keeps him from attacking. A viking with no arms will surrender automatically. Damage to the legs will reduce the viking’s movement radius, and ruination of the torso or head will result in death.

The raid is over when all vikings on a side are fled, surrendered, or killed. Afterwards you may read a textual summary of the battle’s outcomes sorted by each viking’s perspective.

A future prototype will target these combat results. It will recognize patterns in the combat and movement record and grant vikings titles, epithets, stats, personality traits, and other narrative outcomes based on their relationships to each other and to their enemies, and present them in a more exciting format.

2011/06/19

Why Combat? Why Now? What Now?

Filed under: Vikingr — Tags: , @ 23:08

Recently, I shared this design log with my industry advisor. His response suggested that I focus less on the intricacies of a detailed combat system and more on the important narrative goals of the project, abstracting combat as necessary. As I understand it, the concern is that if there are too many choices in and too much design emphasis on combat, it will overshadow the rest of the game in the players’ (and possibly the designer’s) minds.

That said, I want to take this opportunity to justify my design-time expenditure on combat. The importance of feeling like a Viking and the need for compelling low-level gameplay are clear, but perhaps an examination of the perceived need for a robust simulation of raiding is in order. My goal for Vikingr’s combat mechanics is to drive home the sense that fighting is both glamorous and dangerous, drawing a contrast between the slow, steady, safe progression of farming, trading, and political games with the meteoric rise and precarious position of the raider. To that aesthetic end, maybe there is a more abstract interpretation for conflicts between two groups.

My plan at the moment is to spend two more engineering days on the system I’ve already paper-prototyped (and spent some time programming), taking the shortest route from what I’ve got (matchmaking, movement, networking) to a start-to-finish combat scenario with some narrative outputs. Specifically, I’m thinking of some acknowledgements of recognizable patterns: combat style preferences, turnabouts, cowardly or brave acts, and so on–or at least the seeds of these kinds of reports.

If, after two days of design and engineering effort, combat looks like it will continue to be a timesink, I’ll put in some hack and get on with things. That, too, is something I need to learn.

2011/06/11

Vikingr’s Core Combat

Filed under: Vikingr — Tags: , @ 22:34

The latest incarnation of Vikingr is on the iPad. I’m now designing from the bottom up rather than the top down, thinking about the nuts and bolts of a satisfying core combat loop rather than the abstract motivations of narrative. Combat in Vikingr is risky and in no way a default decision, just as in the historical record (trade was a wiser move when the opponent was formidable, though less glamorous). To provide a less micro-managey outer loop, players will control a whole household rather than an individual, and this change should also help mitigate the displeasure that comes from loss of life. Once the decision to raid is made, the player selects a target (one of the Viking lands: Denmark, Iceland, Norway, or Sweden) and a match is made with another active player through Apple’s Game Center service.

During a raid, each player directs a group of Vikings in battle by adjusting their stance (reckless, prudent, cautious, or cowardly) and moving them around a hex grid in soft real-time. Characters may act whenever their fatigue counter reaches 0. Any action increases fatigue, and fatigue decreases on its own over time. When a character in an attacking stance comes near an enemy, they fight until one of them dies or moves out of the way.

On average, reckless attacks beat a conservative, prudent attack; prudent strikes best a cautious defense; and a cautious defense finds opportunity in a reckless offensive. Battle is not about probable outcomes, however: an attacker who strikes from behind or merely gets a lucky hit can pull out a victory despite a poor choice of stance. The Valkyries don’t always choose the best man to win the fight; sometimes they want him in Valhalla. Cowardly flight will lose to any attack, and it provides a much greater mobility along with its social stigma.

Vikingr's basic movement interface

Vikingr's basic movement interface

On the life simulation side, the fine-grained week structure may be replaced with twelve months or four seasons per real-world day or, possibly, a system where characters become occupied and undirectable for a certain number of real-world hours while undertaking tasks such as farming, crafting, or travel.

I hope to implement the core risk/reward activity of combat and the basics of the other elements needed to support it (deciding when and where to raid and the basics of the life simulation interface) by the end of the month.

Vikingr: A game about medieval accountants?

Filed under: Vikingr — Tags: , @ 21:39

Originally, I designed Vikingr as a sort of “Viking Wars”—a turn-based, asynchronous social game in the vein of BBS or text-heavy web games (e.g. Legend of the Red Dragon, Archmage) or, more recently, hybridized graphical games like Mafia Wars. This would progress at a pace of one year per day, granting players 52 turns per day, and subject characters to the ravages of age and permanent death so that players would move on to a new character roughly once per month. I would also introduce additional limitations to emphasize the quotidian nature of most of Viking life: For example, raiding and long-distance trade expeditions had to be conducted when little could be done at home, so activities like farming would be performed during springtime turns and the expeditions would take place in summer.

My goal was to take the above, sprinkle in some social mechanics, and play up the fact that everyone was contributing to one massive shared history with their gameplay actions. By giving players a little context for these histories, we could be off to the races with a novel web-game that doesn’t just permit player-generated stories to emerge but acknowledges them and incorporates them into its gameplay.

Unfortunately for me, when I started prototyping all this—a website, a server in my programming language of choice, a bunch of equations and formulae, decisions made for scalability’s sake, research into hosting and APIs and this and that, lists of features to implement—I realized that I was thinking like an engineer, not a game designer. So I went to paper and did a sort of simulation RPG about budgeting one’s time between preparing for raids and going on them. This felt far more like accountancy or event planning than viking, so it forced me to reexamine my base assumptions.

Ultimately, I came to an inescapable conclusion: “Take a new technology and apply it to an existing genre in an uncommon fictional context” is an incremental way of thinking. There’s a time and a place for incremental improvement, but a 12-month MFA thesis is emphatically not it. So I went back to the drawing board: If I wanted players to create and share stories about being Vikings (and to use my game and my technology to do it), what must I help them to feel? The answer to that had to merge historical reality with literary fantasy.

2011/06/10

Acknowledging Player-Generated Stories

Filed under: Ensemble,Vikingr — Tags: , @ 21:26

The specific social, combat, and economic mechanics at the core of Vikingr were all selected for their narratively interesting and universal nature as well as their appearance in source materials such as the Icelandic family sagas. Rather than merely adapt, say, Njálssaga to a video game, I wanted to capture the rules and systems that were behind all of the sagas of the Icelanders. My process involves going through the sagas, identifying patterns that recur across a variety of stories, and formalizing them in such a way that a computer could identify them in gameplay terms.

Initially, I thought that teaching Vikingr to comprehend these half-mechanical, half-narrative concepts was a necessary step on the way to a holy grail: the generation of new story content based on player-character backgrounds and histories. After my first round of prototypes, I have realized that the key thing is not generating new randomized content from templates and Bayesian belief networks—it’s simply recognizing and acknowledging the narrative freight with which players load their characters and play sessions. Some of this can be specified a priori (players can customize a Viking’s appearance, or assert that a particular family member had an earlier career as a brewer), and some can be easily inferred based on a player’s habits (a Viking who never wears a shield can be labeled with the title “The Reckless”; two Vikings that always travel together can be hit with performance penalties when separated).

Quests and achievements are both powerful tools for maintaining player engagement. I suspect that this is because the former express narrative events in terms of game events and the latter transform game events into tellable narrative accomplishments. Vikingr represents two main advances beyond these mechanisms: first, its equivalent of “achievements” are reintegrated into the game design, providing concrete player outcomes (either mechanical or aesthetic) besides sitting in a list in a menu somewhere; second, the game can examine a player’s activity and automatically provide a relevant “quest”-like structure that is in keeping or in competition with the inferred goals of the player. This would benefit from an example.

Let’s say that game-year after game-year, the player does not go on any Viking raids and instead farms and hunts year-round. The game might notice this and perform the following actions:

  1. First, acknowledge his intentions by calling him a “farmer” and giving him a boost to production and perhaps a deficit to combat skills;
  2. Second, encourage him to diversify by exerting pressure on these food supplies: freeloading relatives could come by and demand hospitality, for example. Refusing to provide it could lead to a new title: “stingy”.

To sum up:

  1. Ensemble permits the storage of complex relationships and data at an arbitrary level of detail and specificity;
  2. Vikingr employs the data from (1) to calculate and administer “achievements” based on game-inferred and player-specified goals, recognizing the stories players carry in their heads (all this according to an extensible suite of designer-provided rules);
  3. Vikingr may then trigger simple quests to encourage or discourage player behaviors based on (2). In a sense, this represents a move from a “quest tree” to a “quest forest”, with context-appropriate objectives for players’ personal goals (and an emphasis on socially-motivated quests rather than pre-authored narrative dumps).

Vikingr does not attack problems of text or story generation. Instead, it primes players to interpret possibly-unrelated game events as related ones by recognizing just enough of their intention and input to suggest that connections are the norm rather than the exception. It should provide experiences that vary widely between players, since content is recombined based on player activity decoupled from game progress. The real “content” of this game consists of rules for recognizing player intentions, player-specifiable goals, and triggered quests, narrative, and game events.

About Vikingr

Filed under: Vikingr — Tags: , @ 10:55

At one point, I had planned to produce several games for my thesis to conduct a few experiments about the Ensemble computer-aided storytelling system. In the interest of providing a more complete experience and having a stronger presentation at the winter and summer shows, however, I chose to focus on a single project. To validate the hypothesis that Ensemble is worth designing around, Vikingr will be tested in two variants: One with a direct causal relationship via the Ensemble system between gameplay and narrative outcomes, and one with a weaker or even arbitrary link between the two.

So, what is Vikingr? The word is from Old Norse and means what you’d expect: a raider of the Viking sort. The topic has always interested me—not in a Wagnerian noble savage way, and certainly not in a video game-y mead-drinking hammer-swinging barbarian way—especially since learning that viking is an activity; used as a noun (vikingr) it means “someone who viks”. It denotes a profession, not an ethnic group, and a part-time profession at that: viking is a get-rich-quick scheme, a way to raid or trade in far-off markets to boost one’s income and prestige while waiting for the crops to grow in early summer or mid-fall.

Vikingr is a narrative-driven social game where players compete to accumulate wealth and renown by farming, crafting, trading and raiding. Players form bonds with each other through marriage, the fostering of children, and exchanges of gifts, and such alliances represent important obligations. Players may opt to provide additional narrative details about their characters using Ensemble, and these will be merged with the narrative facts and events that emerge during play—for example, a character who frequently tells stories to entertain guests at parties may be considered a skald, a sort of poet; another who is skilled at battle could be called “war-wise”; a Viking skilled at both would earn the title “warrior-poet”.

This emphasis on the individuality of specific player-controlled characters is an attempt to evoke the so-called X-Com Effect, where randomly-generated characters can become narratively significant to the player due to small differences in appearance and statistics and the player’s personal history with using those characters. Vikingr hopes to go even further by systematically recognizing these gameplay histories (and thus the likely player-defined goals and stories behind these characters) using an achievements-like mechanism that feeds back into further aesthetic and game-mechanical systems.