Super Gun Kids: The Making Of by Iain Lobb

Post on 21-Jan-2015

15.665 views 0 download

Tags:

description

Iain talks about his journey in making Super Gun Kids and the lessons he learned.

Transcript of Super Gun Kids: The Making Of by Iain Lobb

Super Gun Kids: The Making Of…

Iain Lobb

HTML5

...will not be mentioned in this talk.

What is this talk really about?

Secrets of successful vapourware.

“If only I was in charge...”

All these things that I’ve done...

• 50+ professional games.• Bazillion awards.• Cool sounding job titles.• Internet celebrity.• But not one bit of work I can point to

and say: “That’s the best thing I can do.”

Owl Spin

Owl Spin

• Skill / puzzle maze-avoider.• 2 weeks development.• 2 weeks site locks / sponsor

integration.• Overall, a successful game!• But not a runaway success.

Alice, Beyond the Looking Glass

• Planned as 1 week game jam-style project.

• Quickly snowballed into “2 month project”.

• Styled as Victorian book illustrations.• Puzzle-platformer.

Alice, Beyond the Looking Glass

Alice, Beyond the Looking Glass

Alice, Beyond the Looking Glass

• Abandoned after 1 month of development.– Too many ideas to fit in a reasonable scope.– No single core mechanic.– Flash performance not adequate to realise vision for

game.– Bad fit for portal market.– Doubts about monochromatic styling.

• Engine tech recycled into Super Gun Kids.

Super Gun Kids

Super Gun Kids

Super Gun Kids

• Platform-shooter-RPG.• Theme chosen for better match with

portal market.– Guns, Zombies, Ninjas, Vampires, Robots.

• ...but also my nostalgia for toys.• Lay groundwork for future games.• Learn how to make bigger games.

I don’t want to make retro games.

Old-school Flash Game

Retro Flash Game

Ray Man Origins

Limbo

Megaman X + Super Crate Box +

Rayman Origins

Story

• Setting / game-world over story.• Save “Kid City” from zombies, vampires

and robots.• Mission text and in-game set pieces.• Villain characters, but the hero is “you”.• Cut-scenes and set pieces are really time

consuming!

Art

• Vector cartoon characters in front of painted backdrops.

• I really wanted to do the art!• Really glad I brought Amanda in to do the

backgrounds, logo etc.• Last time I do the art for a big project – but

I did learn a lot.

Art• Characters and levels based on Fisher Price

/ Lego / Imaginex play sets and 80s GI Joe.• “Kid City” is based on modern Dutch /

Danish architecture.• Castle level is based on haunted house

rides.• Factory level is based on Tate Modern /

Cathedrals / Warhammer 40k.• Map screen is inspired by theme park maps.

Gameplay

• Games should have “second-to-second”, “minute-to-minute” and “hour-to-hour” gameplay.– Tight platforming “kinaesthetics”, with lots of

running, jumping, shooting and collecting. – Keep interest through environment, enemy

and weapon variety.– Provide closure through story progression.

Let’s see it then!

Workflow• Paint in PhotoShop, export PNGs.• Edit sounds in Audacity / Audition. (Adobe Creative

Cloud totally worth it!)• Import assets to Flash. • Add vector art, layout, level design and animation.• Set export classes for assets.• Export SWC.• Add SWCs to FlashDevelop.• Code and compile in FlashDevelop.

How I organise my code...

3rd Party Libraries• TweenMax by GreenSock• AS3Signals by Robert Penner• Mochi / Google analytics• Mochi / CPMStar ads• Kongregate API• Doomsday Console by Andreas Rønning• “The Miner” code analyser

Dull Dude Framework• 99 classes – 7,592 lines of code• Gamepad (already open sourced!)• Screen

– MainScreen– GameScreen

• SoundPlayer• Vector2D (partially based on Glaze)• MathHelper• SaveHelper• VectorPhysicsManager• NapePhysicsManager• Bones Animator

Dull Dude Framework• Entity

– Body• Position• Rotation• Velocity

– PhysicsController– FlashView– Health– WeaponManager

• Weapons

Super Gun Kids• 150 classes - 13,270 lines of code• Kid (Entity)

– PlatformPhysicsController (PhysicsController)– Stylist– BonesAnimator

• Item• Mission• (weapons, enemies, bullets, pickups,

particles, )

Choosing a renderer• Display List

– Easiest– Integrates with Flash Professional– Slowest performance– Scales well to full-screen

• Blitting– Fast– Integrates well with pixel art– No “scene-graph”

• Stage3D– Fastest– Only available for 50% of web gamers

• Don’t use Flash!– Unity, HaxeNME, Corona, Cocos2D, XNA etc etc

Display List was the least-worst option for

this game...

...but I could have got an extra bit of performance

with blitting, if I’d invested more time.

Stage3D would probably have been commercial

suicide... unless I wrote my own fallback.

Collisions

• Entity vs World– Phase 1 - Axis-Aligned Bounding Box (AABB)– Phase 2 – HitTestPoint

• Entity vs Entity– Hitbox can be point, circle or rectangle.– Fast-moving objects perform multiple tests

per frame.

Thoughts on level design...• I hate it.• Original concept was to have an open-world to

explore, with multiple missions in each area.• But level design gets exponentially harder as

levels get bigger.• So switched to a traditional levels.• Start with a concept on paper.• Flash sort of works as a level design tool, but an

in-game system would be better.• Get someone else to do it.

How I make vector art...

Before and After

MOAR GUNS

Factory Zone

Castle Zone

How Amanda does digital painting...

In this hat.

Pencil doodles

Pencil doodles

Amanda’s Digital Art Tips• Do lots of stuff on paper.• Get the biggest Wacom you can afford.• Work big and shrink down.• But think about how lines will look scaled down.• If working to someone else’s vision, ask for a doodle /

mood images to work from.• Use references images!• Work in greyscale for lighting then add colour with a

“Color Burn” layer.• Study human anatomy and practice a lot!• Practice copying other artists’ styles.

The mega mood board!

How I make the animations...

How I make animations

• Timeline animation of named body parts in Flash Professional.

• Export SWC.• Parse animation data.• Re-animate bones.

– Vary speed of playback including slow motion– Multiple simultaneous animations on same

character

Get player feedback from the start

(but hold on to your vision).

Results of 1st play test

• Inventory hotkey was really awkward.• Controlling menus with keyboard was

confusing.• Inventory was confusing.• Players expected mouse aim.• Felt like an arena shooter with platforms,

not a platform game.• Guns felt underpowered.

Deep thoughts...

Making games is hard. Don’t let anyone tell you

it’s easy.

Good art completely transforms how people

see your game.

Find a good partner (or you will go insane).

I wish making games was more like playing

games.

If you want to make money, don’t do what

I’m doing!

Pick an idea that will take two days to build, and give yourself two

weeks to build it.

Hofstadter's Law: It always takes longer than you expect,

even when you take into account Hofstadter's Law.

Sometimes the smartest thing is to

abandon your game.

How long can you survive with no income?

Last 12 months

MoneyTime

Super Gun KidsOwl SpinFreelance Work

Reduce your overheads

• Cycle instead of driving.• Shop at Aldi.• Don’t rent an office.• Don’t have employees.• Move somewhere cheap.

Do freelance work

• Don’t work for fixed fees.• Work on-site if possible.• Price at market rates (£200-£500+ per

day)

Should I make a “big” game?

• Yes, only if:– You have already made lots of small games.– You have already created a successful game.– You have a steady income or cash in the

bank.– You have tried your idea out as a small

prototype.– You are not working on your own.

What should Flash game developers be doing right now?

• Cashing in on freelance work while it exists.• Building a portal audience.• Diversifying into mobile.• Working out what you do and don’t enjoy.• Finding a good partner.• Making polished 1-4 week games with a

simple premise.

Strength in numbers!

Iain’s follies

• Local co-op.• Fully keyboard-driven navigation.• Full screen support.• Character customizer.• 24 weapons.• Baroque weaponry.• Characters on map screen.• 3 separate zones.

Code in the bank

• Countless framework improvements.• Robust character customizer.• Flash level editor.• Robust platform physics.• Bones animation system.• Platform Astar pathfinding.

Changes for next big project

• Cross-platform.• Hardware rendering (with fallback).• Unified art style.• In-game level editor.• Work with a composer & sound designer.• More scope control.• Sell the game to players rather than

sponsor (maybe).

Regrets

• None.

Thanks!

@iainLobb