Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
September 18, 2014
arrowPress Releases
September 18, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
The prototype methodology we've used for the naval of Assassin's creed 4
by Sebastien Lambottin on 07/18/14 09:15:00 pm   Expert Blogs   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

Gameplay prototyping library


My name is Sebastien Lambottin, I was the principal designer of the naval gameplay for Assassin’s creed 4 black flag and with this article I would like to share with the developer community my prototyping methodology: building a gameplay prototyping library.

I know doing prototypes is nothing new for a game development team. What I consider special about the way I’m doing prototypes is that by using the same external engine repeatedly, I’ve build a library of features that I can reuse from one project to another.
 

Here’re some examples of the features we’ve managed to prototype on AC4 with this methodology:
 

 

- For every ship AI archetype, a prototype of a first basic version of the AI (the brig, the frigate, the man of war…. )

 

- A prototype for our ballistic shooting mechanic, especially to evaluate how hard and difficult we could make it.

 

- A prototype for basic AI navigation for the ships. To define the challenge a group of ship would create to the player.

A part of the result of those prototypes was the architecture of the player's weapon ship:

 


(For those who have read my article about the pillar of combat design -http://www.gamasutra.com/view/feature/175950/the_fundamental_pillars_of_a_.php - this schematic above will remind you what I was explaining about designing very different and complementary weapons for the player)

The main points of the method

Now that you’ve seen some examples and some result of our prototypes, I’d like to go in detail about my methodology:

Overall I’d say the goal I’m aiming for with those prototypes is to increase the iteration speed of the design and also, as a game designer, to give me the ability to be more creative within an “AAA” dev-team.

In a certain way what inspired me about trying to build a gameplay prototyping library is the way concept artists work.

They generally use the same tool from one production to another: Adobe Photoshop. This tool is an external tool, and there’s a big community using it.

 

As they keep using the same tool, they’ve built a library of brushes and textures which they keep from one production to another.

 

A- Choose an external engine to work with and stick to it

Just as the artists which are using Photoshop, I’ve chosen an external engine which is different from the in house engine the team use to develop your game.

There’re 3 main reasons for this:

  • There’s already a community which might exist and support you to use this external engine.

  • You don’t rely on any specific need from your tech team. (You don’t have to bother them)

  • You'll be able to stick to it and keep it from one production to another. This will let you have access to any feature you had developed in the past, which ultimately tends to build a library of features which keeps growing.

B- Build a library of features

Building your library of features is the most important concept of the methodology.

When you have developed a base set of features, you will be able to re-use and combine these features to create new prototypes rapidly.

Here’re some concrete examples which demonstrate the benefits I’ve obtained from building and maintaining my library of features.

I- Mini-map example

For the need of a shooter prototype I’ve coded a mini map to be able to spot the player’s allies around him.

Then when I had to code the prototype of naval combat for AC4 I just had to import my code and assets I had coded few years ago for my shooter prototype.

II- Multiplayer example

Having the base of a multiplayer working in a game engine is quite tricky, and it takes a bit of time to code it.

I spent a few months 2-3 years ago to learn this complex exercise of coding a basic multiplayer.

For fun, I’ve implemented the multiplayer in the prototype I did for the naval combat. It took me just 2 days to add the multiplayer in this prototype. This is one of my best examples to showcase how my library starts to become very efficient to code new prototypes.

III- Ship and sword fight example

I’ve coded many combat prototypes so I have a lot of clean code and assets in my library. In parallel, we did a prototype of naval combat. Then just to test a few ideas I’ve implemented a sword fight system inside the naval gameplay prototype. This took me little more than a day to implement. Once again it shows how quickly I can combine different features I’ve developed for different prototypes.

 

It’s been 4 years that I’ve really started to code those prototypes. So the library of features starts to be quite big. Also by building this feature’s library, little by little, I’ve learned and improved myself a lot about game programming.

C - Code it myself

As a game designer having the ability to code by myself and showcase my idea in a playable way has turned to make me more creative and more precise in my design.

 

A good tool for pre-production:

By being more and more efficient at coding prototypes you'll be able to playtest a lot of feature with them. Indeed those prototypes are super helpful to de-risk and playtest the most complicated feature and get ready for production.

The most ambitious exercise with my methodology would be to prototypes all the game this way, only focusing on gameplay.

To make a parallel with another entertainment industry, the movie industry uses a super-efficient tool to give them an overview about what their movie is going to look like in early development stage: the story board:

 

I’ve always felt that we were missing some steps to validate our ideas before developing a game, and reaching the level of completion of a story board would be the next step I’d try to go with my methodology.

Conclusion:

I hope this article will inspire other designers. Overall I wanted to express that as game designer it’s always good to push our abilities to be as autonomous as possible, and be more efficient within the team.

As a reminder, the key takeaway from my methodology would be this simple schematic:

Code it yourself + keep using the same tool + build your gameplay prototyping library

1: Expand your creativity, explore new feature by yourself: new camera view, new type of vehicle, new AI behavior...

2: Be more efficient; increase your iteration speed, your communication. Accelerate accessibility to playable feature and rely on it to take decision


Related Jobs

Cloud Imperium Games
Cloud Imperium Games — SANTA MONICA, California, United States
[09.17.14]

Senior Producer
Yoh
Yoh — Vancouver, British Columbia, Canada
[09.17.14]

Rendering Engineer Job
Yoh
Yoh — Vancouver, British Columbia, Canada
[09.17.14]

Multiplayer Designer Job
Nix Hydra
Nix Hydra — Los Angeles, California, United States
[09.17.14]

Art Director






Comments


Ben Sunshine-Hill
profile image
On the topic of Photoshop: You guys obviously have a huge amount of artist talent available, as well as existing ship assets from previous games. So the fact that this isn't shippable code notwithstanding, I'm surprised to see untextured, brightly colored ships up there. Did you make a conscious decision to adopt an abstract, schematic graphical style for your prototyping work, or was it a matter of technical concerns?

Alex Black
profile image
Thank you Sebastien Lambottin. It looks really difficult=)

Sebastien Lambottin
profile image
Yes the schematic graphical is on purpose. This make the gameplay prototype focus only on gameplay, and when we show it everybody understand the intention to not care about graphics, so the feedback given by people are more focus on gameplay too. Also we consider if it's already good or has already potential with low graphics like this, the polished version can only be better.

Loic Duboux
profile image
I really like to work with schematic graphical when I'm prototyping within my team, but the only problem is that we are always tight on time and we often need to start adding our graphical assets very quickly (even if the prototyping phase is not completely finished). How do you manage that within your team? When is it the time to start adding more visually appealing assets?

Sebastien Lambottin
profile image
We never add appeling asset in those proto. A key point to obtain this is that we are not using the engine of the production to do those prototypes. This way people are less tempted to put polished asset in the proto because it's a pure waste of time.

Greg Scheel
profile image
Brilliant, just what I needed.

Thanks.

Andreas Ahlborn
profile image
The naval combat that was introduced in AC3 was one of the best things that happened at Ubisoft in quite a while. I was really intrigued that you and your team took it to the level that we got in Blackflag.

What in the first game was only hinted at, you managed to completely polish and mature in Blackflag. It really shines and it is good to hear that you could use a toolset that you build over the years to apply to this new problem.

The naval combat had this Spark of Genius to it, that allowed it really to become the central mechanic of a truly unique game, I wished the watchdogs team had someone like You on board to bring that "Shining" quality to the Hacking Mechanic, which I feel could have had a lot more depth to it, then we actually saw in the finished game.

Congrats for a really inspired contribution to a great game and I´m hoping you are on board for "Comet" to level up the naval combat once more!

Sebastien Lambottin
profile image
Thanks for those compliments. Beleive me we've enjoyed developing black flag! :)

Tim Conkling
profile image
Really enjoyed this look at your process. I'm curious which engine you chose for your prototyping platform, and if there are specific features you consider key to your work, or that you'd look for if you were choosing a new engine?

Stephane Wantiez
profile image
Isn't it the Unity Engine you are using? If so, why not mentioning it?
It's really a great tool, working well and smoothly, I really enjoy working on it!

Michael Shade
profile image
Fantastic! This gives me a new perspective on prototyping. I like the long term focus on building a reusable library, and I will keep that in mind as I build new prototypes for my games going forward. Thank you for your post!

Sebastien Lambottin
profile image
Yeah building the feature Library has been very efficient for some case.


none
 
Comment: