CRACK, TRAIN, FIX, RELEASE
CHRIS HEILMANN (@CODEPO8), DEVIT, THESSALONIKI,15/05/2015
MAN, I WAS
AWESOME!
(I GOT A BIT BETTER)
IT ALL STARTED
WITH A FLOPPY…
I SUCKED AT
PLAYING GAMES -
AND IT WAS
FRUSTRATING.
TCS ➜ RUN ➜
ENDLESS LIVES!
THOSE CRACKERS
MUST BE
SOMETHING
REALLY SPECIAL!
OPEN SESAME!
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!
LET’S GO
THE DOOR WAS OPEN, AND I TOOK ONE
STEP AT A TIME AND KEPT EXPLORING!
ENHANCE!
• Level skipper
• Weapons chooser
• Toggle sprite collision
• Learn Assembly language to
write trainer menu
• Find space in memory for said
menu
RELEASE!
• Learn about packers to create
smaller version
• Add intro to boast
• Give to people
UPPING THE
GAME!
• Removing copy protections
• Level crunchers/packers
• Fast loaders
THE HACKER
NEWS OF OLD…
COMPETITION
• First release
• Smallest release
• NTSC/PAL fix
STANDING OUT
FROM THE
COMPETITION
• Jewel versions
• Bug fixing
• Highscore Savers
• Writing Docs
ELITE ACCESS
TOOLING MADE
THE DIFFERENCE
• Packers
• Storage/Transfer tools
• Cross-platform tools
• Creation tools (Assemblers,
Pixel Editors, Sprite tools…)
• BBS/FTP access
GOING LEGIT
• Writing tools
• Writing Games
• Coding Intros/Demos
• Moving on…
ACCIDENTAL
ARCHIVISM
OHAI
CINEMAWARE…
ACCIDENTAL
ARCHIVISM
• Floppies ➜ BBS ➜ FTP
• Original storage media is
unreadable
• Original companies gone
• No official backups
THINGS I
LEARNED
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
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.
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
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
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
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
HELLO, WEB
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…
HELLO, TOOLS…
• Crawlers, Link checkers
• HTML Validators
• Web Development toolbars
• HTTP proxies, sniffers
• Venkman, Frontpage Express
JS Debugger…
VIEW SOURCE+5/
[H]/100%/JEWEL
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…
Open sesame!WELCOME TO CYBER SPACE, HELP THE CYBER POLICE!
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.
AUTOMATION AND
OPTIMISATION
• Task runners
• Package managers
• Pre-, Post-Compilers and
Transpilers
• Cross-platform conversion
tools
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
REDACT.JS
(RELEASE APRIL 1ST)
AND WHILST WE
GET EXCITED
ABOUT IMPRESSING
ONE ANOTHER WITH
AMAZING TOOLS
THAT ONLY LACK
APPLICATION IN
REAL PRODUCTS…
THE WEB IS
LOSING QUALITY.
https://twitter.com/Caged/status/590602214021922818
THE AVERAGE
WEBPAGE NOW IS
2MB WITH > 100
REQUESTS!
https://twitter.com/scottjehl/status/595827049136267266
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…
THIS IS NOT
DEALER
QUALITY
SOFTWARE
AND THERE’S
NO TECHNICAL
EXCUSE…
http://www.webpagetest.org/
WE’RE
FOCUSING TOO
MUCH ON
TOOLING AND
PUT TOO MANY
MAGICAL
SOLUTIONS IN
PLACE…
WHEREAS WE
SHOULD
CONCENTRATE
ON CREATING
AMAZING END
PRODUCTS.
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
THE WEB IS THE
MOST VERSATILE
AND NON-ELITE
PLATFORM.
GO AND MAKE
YOUR MARK!
Chris Heilmann
christianheilmann.com
@codepo8
Ευχαριστώ!
dev.modern.ie
developer.mozilla.org

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