Fatshark and Bitsquid Game engines, game development and design



Similar documents
N Ways To Be A Better Developer

What is Teespring?... 3 What they are... 3 How they work... 3 Customer Service... 3 Teespring History... 4 How long has Teespring been around?...

Bottleneck. Breaking. the ST. LOUIS

Seven Things You Must Know Before Hiring a Real Estate Agent

Sponsored by: Speaker: Brian Madden, Independent Industry Analyst and Blogger

Mike: Alright welcome to episode three of Server Talk, I m here with Alexey. I m Mike. Alexey, how are things been going, man?

Seven Things You Must Know Before Hiring a Real Estate Agent

Next Generation Tech-Talk. Cloud Based Business Collaboration with Cisco Spark

Free Report. My Top 10 Tips to Betting Like a Pro With Zero Risk

A conversation with Scott Chappell, CMO, Sessions Online Schools of Art and Design

Colleen s Interview With Ivan Kolev

Mobile CPA Masher By Sterling Sherrell

Book 3 Cost Estimating in an Agile Development Environment. (early release)

0:00:18 Todd: 0:00:30 Kim: 0:01:15 Todd: 0:02:10 Kim: 0:04:10 Todd:

The Guerrilla Internet Marketing Institute

Realistic Job Preview Family Services Specialist (FSS)

The 3 Biggest Mistakes Investors Make When It Comes To Selling Their Stocks

So HJ you and Rachel are managing our Social Media Desk but before I ask you how all that works let s talk about the programme.

Wholesaling Mark Ferguson

Making Dreams Come True: Global Illumination with Enlighten. Graham Hazel Senior Product Manager Sam Bugden Technical Artist

Hi! I m Andy and I m a school ICT technician. We ve been using NetSupport School here for a while now and I want to tell you how it works for us...

How to Outsource Without Being a Ninnyhammer

A Learning Paths Whitepaper. Rapid Onboarding 3 Keys to Success

YouTube Channel Authority - The Definitive Guide

WSI White Paper. Prepared by: Baltej Gill Social Media Strategist, WSI

Q&a: Why Trading Is Nothing Like Playing A Competitive Sport Markets...

Strung Up is a 3D animation dark comedy in which a magic doll strives to

Interview with David Bouthiette [at AMHI 3 times] September 4, Interviewer: Karen Evans

Björn Bäckström, Lars Olsén and Simon Renström Copyright 2011 ClaroBet AB. Updated: May. 12, 11 You may not distribute or copy any of the text or use

Ep #19: Thought Management

NEW DRIVERS HOW TO TAKE THE ON-THE-ROAD SKILLS TEST. KELLY MANNING: Welcome to DMV Infocast, an audio production of the

A lawyer and her client weigh in on the overtime scam

A RE YOU SUFFERING FROM A DATA PROBLEM?

Entrepreneur Systems: Business Systems Development Tool

Should you allow your employees to bring their own technology to work?

A: We really embarrassed ourselves last night at that business function.

Would You Like To Earn $1000 s With The Click Of A Button?

Beyond the Polyester Veil : A Personal Injury Negotiations Case Study

THE VERI**ON PLAY. Scene 1

The Copywriter s Guide to Analytics

No List? No Problem.

WhatWorks: Blocking Complex Malware Threats at Boston Financial

Google Lead Generation for Attorneys

Case Study: Dance Recital Ticketing with Studio Owner Becky Pinero of Elite Dance Studio

The Process of Web Design David Rodriguez. Step 1: Planning

Kim: Thank you Todd, I m delighted to be here today and totally looking forward to our conversation.

How To Set Up A Video Referral Marketing Campaign That Spits Out Referrals & Repeat Business

Lecture 2: Game Design

GOD S BIG STORY Week 1: Creation God Saw That It Was Good 1. LEADER PREPARATION

Chapter 11. The Forex Trading Coach Is Born

Jenesis Software - Podcast Episode 3

Mobile web apps: The best option for business? A whitepaper from mrc

ZCorum s Ask a Broadband Expert Series:

How to make more money in forex trading W. R. Booker & Co. All rights reserved worldwide, forever and ever and ever.

Generating Marketing Leads Via Marketing Forums

THEME: Jesus wants us to grow in Him and be holy.

How to get 2 Cents Clicks by Colin Klinkert

Realistic Job Preview Youth Counselor (YC)

The 12 Step Follow Up System Finally A Follow Up System That s Simple, FUN and Most Importantly PROFITABLE!


How To Plan At A Tribe Of People

Hands-On Mobile App Testing

Good CAD / Bad CAD. by Tony Richards

How To Get A Werewolf

The 2014 Bottleneck Report on Enterprise Mobile

TeachingEnglish Lesson plans. Kim s blog

Effective Ad Writing

The game operator s toolkit: The essentials and beyond

Do you really need investors?

Chapter 2. My Early Days Trading Forex

Basic ESXi Networking

Easy $100-$150 per Day with CPA offers

Audience: Audience: Tim Sain: Audience:

Making natural looking Volumetric Clouds In Blender 2.48a

KEY PHASES. In Creating a Successful Mobile App

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

CASE STUDY. MatrixOneSource Provides High-Touch Customer Service Using 8x8 Integrated Solutions. MatrixOneSource, business process outsourcing

DEVELOPING A SOCIAL MEDIA STRATEGY

Cloud computing: the lowdown

C. Retirement Plans a. 401(k) and 403(b)

THE 5 P s OF MARKETING. The 5 P s OF MARKETING

discipline THE MARKET PAYS YOU TO BE DISCIPLINED. NEVER TURN A WINNER INTO A LOSER.

Childcare. Marketing Tips. 10 Must-Do Marketing Tips to Grow the Enrollment of Your Early Childhood Program

App Development Checklist

DEFINITELY. GAME CHANGER? EVOLUTION? Big Data

Hitman Interview. Written By. Felix Hockey

Transcription:

Fatshark and Bitsquid Game engines, game development and design Rikard Blomberg - CTO and Founder of Fatshark AB - Board Member and Founder of Bitsquid AB - rikard@fatshark.se

Let s Start with a survey so I get to know you Q: What are you studying what program etc

Q: Do you plan or would you like to work with computer games? A good idea if you like plenty of hardware on your desk!

How often do you play computer games? a) Several times or hours a day b) Once a day c) A couple of times a week d) Less than that, but sometimes e) Games are not for me games are for kids, boys, nerds, etc

What is your preferred platform? a) PC or (Mac) or (Linux) b) Web based c) Current Gen Consoles (Xbox360, Ps3) d) Anything from Nintendo e) Tablet f) Phone g) Other (I bet no one of you even owns a PsVita am I wrong?)

Do you know how to program? a) I am awesome! (John Carmack, Linus Torvalds) b) I could make a living on it. c) I know the basics. d) No, but I know how to use MS Office

Have you ever made a game? a) Yes, and it has been released and people actually pay me for it. b) Yes, but it is not commercial, I am not a capitalist pig! c) I just need to fix those last bugs d) I started on a project but then. e) No isn t that what we are supposed to do in this course?

END OF SURVEY Thanks

So how did I end up here? Spent a lot of time playing computer games and pen-and-paper RPGs Have always loved games of all sorts. Also loves world-building and simulations

Did I do a lot of Programming? I started programming when my father brought this home in 1986. What is the name of the computer? Considered myself a good programmer (even fooled my friends that I was) until I actually started coding large complex systems i.e. games Actually I became a rather good programmer around 2006 or so Now I am back being a n00b cause programming is a craftsmanship.

So, how did I end up here? Wanted to become a physicist - started at F on KTH. Started at HHS by a fluke. Met Martin Wahlund who was to become my business partner. He is now CEO of Fatshark.

Do you remember this company logo?

How did we start making games? First game we made was for KTH Game Awards 2003. Project page still alive at: http://excitera.nu/kthga0203/boundless.php After the competition we started a company to commercialize the game, but we never got there

Things got in the way To make actually make games that we wanted to we found out that we needed: Financing A balanced team Experience So what happened was:

Consulting, sub-contracting More common in the game industry than what you might believe. Game projects usually have unbalanced resource requirements over time. More programmers are always needed as you get close to launch.

Grin and Fatshark Fatshark was started in collaboration with Grin to work as a subcontractor on parts of games or on whole games. But eventually bad things happened:

But Fatshark survived (and a new creature emerged)

Bitsquid founded 2009 Goal: To create a new high-end game engine, built from the ground to focus on performance, flexibility and productivity. Old logo (showing it will get me killed) Tobias Persson Niklas Frykholm

A Skunkworks Project "It is an especially enriched environment that is intended to help a small group of individuals design a new idea by escaping routine organizational procedures.

Where are we now? 40 man strong studio doing: Self published projects Publisher projects (work for hire) Supporting, continuing development of released games

~40 Experienced Developers (and one inflatable shark) based in central Stockholm Don t try this at home kids! Developing a multipurpose game engine is generally not a great idea. It was against all business-logic doing so but sometimes you just have to go with your gut feeling.

And we have some really interesting stuff in the pipe (but I can t tell you about that)

What is a game engine? A game engine is a system or framework for creating computer games. Consist of two parts: Tools A runtime component Typically encapsulates platform differences (Hardware Abstraction)

Why use a game engine? Why not? Decrease risk Don t re-invent the wheel Increase platform reach Decrease cost Decrease development time I get back to the not part

What game engines are out there? (it s a jungle) Commercial Publisher owned Strictly In-house

Unreal (my totally biased description) Unreal Engine grew out of Unreal, a first person shooter. Focusing on larger development teams, console titles and AAA games. Has made inroads into the mobile space, targeting Android and ios. Long list of licensees, and many best-selling AAA games have been made in the engine. Unreal also has a free version targeting smaller developers: UDK

Unity(my totally biased description) The Unity Engine is used by over 500 000 game developers. Unity supports console development, it is mostly used for simple 2D games for mobile phones, PCs and the web. Unity has a free version with limited functionality and a Pro version needed for serious development which costs $1500 per seat. Has a hugely successful asset store where developers can trade systems and assets.

Some other engines

Roll your own? Why? 1. You are a technology freak 2. You have some very special needs In either case: Expect Pain

Is both the name of the company (a subsidiary to Fatshark) and the technology (game engine) being licensed to a steadily increasing number of game developers. Company currently employs a CEO and 7 developers

The Bitsquid Philosophy Simplicity Job parallelism Openness Data driven Flat simple data structures Fast Dynamic Flexible Lightweight

How do we make games?

A wide range of skills needed How do we make games?

The Fatshark way of making games Usually fast for good or bad Design is done collectively for good or bad Ideas are either customer driven or taken from a backlog of ideas created at certain creative days. We try to reuse things to decrease risk. It can be reusing a setting and the art or reusing a gameplay framework.

Game Design I am not a Game Designer. My current work mostly concerns running and managing a company. But I have some opinions (and they should be regarded as such).

Ideas If I got a penny for every unique and fantastic game idea being pitched contact@fatshark.se <xyz@aol.com> Oct 3 to contact Your Email - xyz@aol.com Regarding - general to contact Your message - Do you guys take game ideas from the contact@fatshark.se <xyz@gmail.com> Apr 8 Your Email - xyz@gmail.com general public? I'm asking because I have some Regarding ideas that - jobs I would like to send you guys. Your message - Hi, My name is Robin xyz and I want to contact you becouse I have an really special game idea. pls reply if you are intrested in hearing more about it.. So ideas doesn t matter???

To make a successful game You need a good idea and and way to get it to market. From there - It is 99% about execution!

However to make an insanely successful game ( think Minecraft) You need a brilliant idea.. and some crazy streak of luck From there - It is 99% about execution! No one will be able to tell if an you have a brilliant idea and luck so I advice focusing on what you can influence.

Start somewhere at least Where to start It could be: Defining an audience. Having that brilliant (oh well at least good) idea! Having a technology that shines in a certain area. Imitating that favorite game with just a small twist. Getting a high-level-vision from that crazy publisher Set a vision! Agree on the vision. Start coding write that main.cpp (or whatever it is called) now!

Please - make choices narrow down Decide on features: Decide on platforms: Decide on content: to skip! to skip! to skip! Decide on preferred distribution and monetization

/* Documentation */ Document decisions if you are more than one individual! For other purposes skip documentation you are making a game not an article or a book! If you like writing make a blog about your development instead! When it comes to code: The main source of the information about what the code does should be the code itself. I have never used any single line of documentation written for our productions. But I have one big regret

I regret that I didn t take more pictures along the way, including especially screenshots of all funny bloopers and bugs created.

OFFICE 1

OFFICE 2

OFFICE 3

OFFICE 4

OFFICE 5

Make it playable NOW! If you are not making and engine and you are not! Make it playable from day 1 (or at least week 1) Get a head start work like crazy! Don t expect help from anyone. Roll up your sleeves and get dirty. Don't Stray Too Far From Your Vision!

Iterate while (game->quality()!= AWESOME) { void (*task)(cgame*); task = find_possible_improvements(game): (*task)(game); } Rejoice(); exit(0); Iterate, iterate, play, play, iterate, play however I have a nagging suspicion that this must is the case: CGame::quality() { return NOT_REALLY_THERE_YET; }

Maybe closer to the truth while (game->quality()!= AWESOME) { void (*task)(cgame*); task = find_possible_improvements(game): (*task)(game); if(out_of_time() out_of_money()) { int result = Pray(); exit(result) } } Rejoice(); exit(0);

Find a balance between general/reusable and quick/dirty. If you make everything according to the schoolbook or everything prepared for the next iteration of the game: - you will never ship - actually - you will never be close to shipping.

Find a balance between general/reusable and quick/dirty. If you make everything quick and dirty you might ship but the release will probably kill you! This goes for design as well as code. And remember: Don't Stray Too Far From Your Vision!

Use external testers/judges Since you need to work like hell you will lose perspective. Bring in external people for feedback and judgment. But at the same time Don't Stray Too Far From Your Vision!

A bit more formal approach on design Take a look at Joakim Setterbergs blog. Joakim is a lead level designer at Fatshark who has some interesting ideas about design. http://ldcompanion.wordpress.com/

Limitations As a programmer you will often be the one highlighting limitations: You can only have X AI agents active at any time. The level can only be this big cause of memory constraints.

Limitations The most common technology related limitations of today: Rendering quality, details, realistic lightning, shadows, refraction, reflection, transparency. Simulation of complex systems physics, liquids, fire, hair, destruction of objects and environment. Number of agents simulated, complexity of agents. Network traffic, network latency, server processing power/c. Input quality and latency. Number of objects in the simulated world.

Use a Gameplay Grid to increase without adding new systems Camera Place Time Controls GUI Camera Place Time Controls GUI Place challenge examples may include platforms that are traversable only during certain time intervals (time and place), a location in darkness that limits the view (camera and place), changes in floor traction or a difficult jump (movement andplace), or a place that imposes restrictions on save and load functions (gui and place).

Platform diversity is a challenge Mobile (pads and phones) Virtual Reality Headsets (Oculus Rift) Next-gen consoles (PS4 and XboxOne) Set-top boxes, micro consoles, steambox Web based gaming PC still strong (Mac not so ) More to come

Platform diversity The number of platforms is a technology challenge. But even more it is a design challenge! What is the potential of cross-platform gaming?

High-end gaming on the go?

Sharing the experience of a mobile game?

Cross platform gaming Clients needs to be optimized and adapted for each platform Having a cross platform engine is essential Data that clients works on needs to be centralized An infrastructure for handling data is needed

Looking in the crystal ball If we believe in the assumption that cross-platform games are the future data hosting becomes even more important. What can we expect from these (not so small) companies?

End of this presentation I really hope to get some questions