57
CRACK, TRAIN, FIX, RELEASE CHRIS HEILMANN (@CODEPO8), DEVIT, THESSALONIKI,15/05/2015

Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

Embed Size (px)

Citation preview

Page 1: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

CRACK, TRAIN, FIX, RELEASE

CHRIS HEILMANN (@CODEPO8), DEVIT, THESSALONIKI,15/05/2015

Page 2: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 3: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 4: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

MAN, I WAS AWESOME!

(I GOT A BIT BETTER)

Page 5: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

IT ALL STARTED WITH A FLOPPY…

Page 6: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

I SUCKED AT PLAYING GAMES - AND IT WAS FRUSTRATING.

Page 7: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

TCS ➜ RUN ➜ ENDLESS LIVES!

Page 8: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THOSE CRACKERS MUST BE SOMETHING REALLY SPECIAL!

Page 9: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

OPEN SESAME!

Page 10: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

FREEZE GAME ➜ EDIT SCREEN ➜ FIND LIVES COUNTER ADDRESS (F.E. $0410) ➜ HUNT MEMORY FOR CE 10 04 (DEC $0410) ➜ REPLACE WITH EA EA EA (NOP NOP NOP) ➜ ENDLESS LIVES!

Page 11: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

LET’S GO

THE DOOR WAS OPEN, AND I TOOK ONE STEP AT A TIME AND KEPT EXPLORING!

Page 12: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

ENHANCE!

• Level skipper • Weapons chooser • Toggle sprite collision • Learn Assembly language to

write trainer menu • Find space in memory for said

menu

Page 13: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

RELEASE!

• Learn about packers to create smaller version

• Add intro to boast • Give to people

Page 14: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

UPPING THE GAME!

• Removing copy protections • Level crunchers/packers • Fast loaders

Page 15: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THE HACKER NEWS OF OLD…

Page 16: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

COMPETITION• First release • Smallest release • NTSC/PAL fix

Page 17: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

STANDING OUT FROM THE COMPETITION

• Jewel versions • Bug fixing • Highscore Savers • Writing Docs

Page 18: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

ELITE ACCESS TOOLING MADE THE DIFFERENCE

• Packers • Storage/Transfer tools • Cross-platform tools • Creation tools (Assemblers,

Pixel Editors, Sprite tools…) • BBS/FTP access

Page 19: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

GOING LEGIT

• Writing tools • Writing Games • Coding Intros/Demos • Moving on…

Page 20: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

ACCIDENTAL ARCHIVISM

Page 21: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

OHAI CINEMAWARE…

Page 22: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

ACCIDENTAL ARCHIVISM

• Floppies ➜ BBS ➜ FTP • Original storage media is

unreadable • Original companies gone • No official backups

Page 23: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THINGS I LEARNED

Page 24: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THINGS I LEARNED

• Nothing can hold you back when you are good at analysing and repeating

• Everything you see on screen came from somewhere - it is never set in stone

• It is much more fun to explore and tweak than to get something handed to you

Page 25: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THINGS I LEARNED

• Working in a limited/unknown environment is a wonderful challenge

• You don’t need to feel limited by the environment you target - you can use whatever you want to create for it

• The more people do this, the more best practices can be shared.

Page 26: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY)

16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE

Page 27: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY)

16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE

Page 28: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY)

16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE

Page 29: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY)

16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE

• MUCH BETTER TOOLING • EXPERIENCE • SHARED TRICKERY AND

KNOWLEDGE • LOVE FOR THE PLATFORM

Page 30: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

HELLO, WEB

Page 31: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

HELLO VIEW SOURCE

• A big part of my success on the web was using view source and reverse engineering

• We all did, don’t let people tell you otherwise

• The lack of distance between creation and consumption was really down my alley…

Page 32: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

HELLO, TOOLS…

• Crawlers, Link checkers • HTML Validators • Web Development toolbars • HTTP proxies, sniffers • Venkman, Frontpage Express

JS Debugger…

Page 33: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

VIEW SOURCE+5/[H]/100%/JEWEL

Page 34: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

VIEW SOURCE+5/[H]/100%/JEWEL

• These days, developer tools have replaced view source

• We have incredible insight into what our code does in the browser

• Of course, not everybody is ready for this…

Page 35: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

Open sesame!WELCOME TO CYBER SPACE, HELP THE CYBER POLICE!

Page 36: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THE BEST PART?

• Our tooling is free and open • A lot of it is across platforms

and gives remote access to other devices

• You can use the web, virtualisation and cloud based machines to test for all kind of issues

• We can share and fix issues collaboratively in real-time.

Page 37: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

AUTOMATION AND OPTIMISATION

• Task runners • Package managers • Pre-, Post-Compilers and

Transpilers • Cross-platform conversion

tools

Page 38: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

YOU ALREADY HAVE ELITE STATUS

• Releasing tooling publicly is the norm

• You could even say it is a competitive race much like the cracking scene was

• There is no shortage of hype

Page 39: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

REDACT.JS (RELEASE APRIL 1ST)

Page 40: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 41: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 42: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 43: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 44: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 45: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 46: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Page 47: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

AND WHILST WE GET EXCITED ABOUT IMPRESSING ONE ANOTHER WITH AMAZING TOOLS THAT ONLY LACK APPLICATION IN REAL PRODUCTS…

Page 48: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THE WEB IS LOSING QUALITY.

https://twitter.com/Caged/status/590602214021922818

Page 49: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THE AVERAGE WEBPAGE NOW IS 2MB WITH > 100 REQUESTS!

https://twitter.com/scottjehl/status/595827049136267266

Page 50: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

DJUSTET PRICING IS WHAT I CALL THAT!

ROAMING ON OUR MOBILES CAN BE UP TO 12 GBP / 10MB…

WHICH MEANS, I PAY ABOUT 3.32 EURO TO LOAD A WEB PAGE!

MALA…

Page 51: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THIS IS NOT DEALER QUALITY SOFTWARE

Page 52: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

AND THERE’S NO TECHNICAL EXCUSE…

http://www.webpagetest.org/

Page 53: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

WE’RE FOCUSING TOO MUCH ON TOOLING AND PUT TOO MANY MAGICAL SOLUTIONS IN PLACE…

Page 54: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

WHEREAS WE SHOULD CONCENTRATE ON CREATING AMAZING END PRODUCTS.

Page 55: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

TIME TO CREATE SOME JEWEL RELEASES FOR THE WEB!

• Work cross-platform and input independent

• Perform jank-free at a sensible frame rate • Are small and simple and enhance when

possible • Use device storage to deliver repeated

content fast • Work offline • All browsers get what they can sensibly

display • Load dependencies on demand • Offer only as much as needed

Page 56: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

THE WEB IS THE MOST VERSATILE AND NON-ELITE PLATFORM.

GO AND MAKE YOUR MARK!

Page 57: Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015

Chris Heilmann

christianheilmann.com

@codepo8

Ευχαριστώ!

dev.modern.ie developer.mozilla.org