SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
2048 Contest Challenge! 
Beauty, Brains & Innovation 
by Arden Thomas 
Cincom Smalltalk Product Manager 
!!!
Contents 
• 2048 
• Advocacy 
• Contest rules and entry grading 
• Categories of Solution Approaches 
• 5 finalists
2048 
• Popular and recent single player puzzle game 
• How to play; 
▪ 4 x 4 grid 
▪ Slide the tiles right, left, up or down 
▪ When the same numbers touch, they 
combine 
▪ After each move a 2 or 4 is added in 
a random empty tile 
▪ Goal of producing a tile with 2048 
• Or maximum score 
3
Attractive for non-Smalltalkers 
Goal of introducing developers to Smalltalk 
• Examples provided 
• Fun way to expose developers to Smalltalk
5
Attractive for Smalltalkers! 
A fun challenge for experienced Smalltalk developers 
• Developers get to 
▪ Show their skills 
▪ Share their knowledge 
▪ Show what Smalltalk can do 
• Excellent demo’s to non-Smalltalkers
7
Rules and Entry grading 
Scores are based on: 
• Animation 
• Simple, clear code 
• Heuristic rules 
• Innovative features 
• Best score (avg of 10 runs)
Interface 
• Regions and Labels 
• Input fields, dividers 
• Action buttons 
• Custom view 
9
Heuristics 
• Deep look ahead 
• Board valuation 
10
Heuristics 
• Deep look ahead 
▪ Choose move that has the highest score (at depth n) following 
random moves 
11
Heuristics 
• Board valuation 1 
▪ larger corner values 
▪ empty cells 
▪ like adjacent numbers 
• Board valuation 2 
▪ Two move look ahead 
▪ minimized differences in 
adjacent cells 
▪ merging high values 
• Board valuation 3 
▪ Two move look ahead 
▪ board score 
▪ increasing left to right, top 
to bottom values 
▪ That a move is possible 
12
Average score of ten runs … 
13 
Name Entry1 Entry 3 level 1 Entry 2 Arden 
Runs 26304 2048 27204 2048 7276 512 8584 512 
19192 1024 35292 2048 6584 512 8520 512 
6468 512 12016 1024 2284 256 12600 1024 
6700 512 34596 2048 11160 1024 10184 512 
16168 1024 35500 2048 10000 1024 14140 1024 
15312 1024 35772 2048 2976 256 16844 1024 
15940 1024 27072 2048 768 64 10140 512 
15528 1024 5296 512 5972 512 4364 256 
12536 1024 6856 512 2824 256 8448 512 
37968 2048 36368 2048 6584 512 14636 1024 
Average 
s 
172116 1126.4 25597.2 1638.4 5642.8 492.8 10846 691.2 
Level 3 
32100 2048
The finalists ….
The finalists ….
16
17
18
19
20
Honorable Mention
Honorable Mention 
Alexander Varghese Raj 
(Entry 5) 
• Unlimited undo 
• Nice layout and colors
Honorable Mention 
Arkadiusz Baranowski 
(Entry 4) 
• New to Smalltalk! 
• Moves reduced to two 
operations 
▪ Shift left 
▪ Rotate board 
• Color scheme (with/without 
numbers)
Winners!!!
Winners!!!
Second and Third place tie: 
Norbert Fortelny 
(Entry 3) Hi score “Beast” 
• Best scores with adaptive 
depth tree searches 
• Good tile animation 
• Clean simple interface
Second and Third place tie: 
David Buck 
(Entry 2) “Beauty” 
• Raytracing used to render tiles 
• Concurrent tile animation, multiple 
speeds 
• “fireworks” animation on tile 
combination
1st place and Grand Overall 2048 Winner 
• Innovative heat map display with morphing heat map 
• Concurrent tile animation, multiple speeds 
• Animation on new tile 
• Highlighted number on combination 
• Best low depth heuristic 
• Diagonal moves option! 
• Additional grid sizes 
• Multiple color palettes 
• Good control layout and hover-help
1st place and Grand Overall 2048 Winner 
Ivo Vollrath (Entry 1) 
“Innovation tour-de-force”
Contact Information 
Star Team (Smalltalk Strategic Resources) 
!! 
– Suzanne Fortman (sfortman@cincom.com) 
Cincom Smalltalk Program Director 
– Arden Thomas (athomas@cincom.com) 
Cincom Smalltalk Product Manager 
– Jeremy Jordan (jjordan@cincom.com) 
Cincom Smalltalk Marketing Manager !!! 
http://www.! cincomsmalltalk.com
2048!

Más contenido relacionado

La actualidad más candente

sigma delta converters
sigma delta converterssigma delta converters
sigma delta convertersmkalaiece
 
Arduino based home automation using tv remote
Arduino based home automation using tv remoteArduino based home automation using tv remote
Arduino based home automation using tv remoteMahbub Alam Himel
 
System On Chip
System On ChipSystem On Chip
System On Chipanishgoel
 
Create a Thermal Camera With Python On a Raspberry Pi
Create a Thermal Camera With Python On a Raspberry PiCreate a Thermal Camera With Python On a Raspberry Pi
Create a Thermal Camera With Python On a Raspberry PiNUS-ISS
 
System On Chip
System On ChipSystem On Chip
System On ChipA B Shinde
 
CMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuitsCMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuitsIkhwan_Fakrudin
 
Making Of 0-9 Decade Counter with 7 segment display
Making Of 0-9 Decade Counter with 7 segment displayMaking Of 0-9 Decade Counter with 7 segment display
Making Of 0-9 Decade Counter with 7 segment displayOmkar Rane
 
Msp 430 module 3
Msp 430 module 3Msp 430 module 3
Msp 430 module 3SARALA T
 
Gate Diffusion Input Technology (Very Large Scale Integration)
Gate Diffusion Input Technology (Very Large Scale Integration)Gate Diffusion Input Technology (Very Large Scale Integration)
Gate Diffusion Input Technology (Very Large Scale Integration)Ashwin Shroff
 
ARDUINO OVERVIEW HARDWARE SOFTWARE AND INSTALLATION.pptx
ARDUINO OVERVIEW HARDWARE  SOFTWARE AND INSTALLATION.pptxARDUINO OVERVIEW HARDWARE  SOFTWARE AND INSTALLATION.pptx
ARDUINO OVERVIEW HARDWARE SOFTWARE AND INSTALLATION.pptxmenchc1207
 

La actualidad más candente (20)

sigma delta converters
sigma delta converterssigma delta converters
sigma delta converters
 
Introduction of Arduino Uno
Introduction of Arduino UnoIntroduction of Arduino Uno
Introduction of Arduino Uno
 
lvs ppt.pptx
lvs ppt.pptxlvs ppt.pptx
lvs ppt.pptx
 
Vlsi stick daigram (JCE)
Vlsi stick daigram (JCE)Vlsi stick daigram (JCE)
Vlsi stick daigram (JCE)
 
Arduino based home automation using tv remote
Arduino based home automation using tv remoteArduino based home automation using tv remote
Arduino based home automation using tv remote
 
Android
AndroidAndroid
Android
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Create a Thermal Camera With Python On a Raspberry Pi
Create a Thermal Camera With Python On a Raspberry PiCreate a Thermal Camera With Python On a Raspberry Pi
Create a Thermal Camera With Python On a Raspberry Pi
 
Digital Logic circuit
Digital Logic circuitDigital Logic circuit
Digital Logic circuit
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
verilog code
verilog codeverilog code
verilog code
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Security door lock system
Security door lock system Security door lock system
Security door lock system
 
CMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuitsCMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuits
 
Making Of 0-9 Decade Counter with 7 segment display
Making Of 0-9 Decade Counter with 7 segment displayMaking Of 0-9 Decade Counter with 7 segment display
Making Of 0-9 Decade Counter with 7 segment display
 
Msp 430 module 3
Msp 430 module 3Msp 430 module 3
Msp 430 module 3
 
Interfacing to lcd with arduino
Interfacing  to lcd with arduinoInterfacing  to lcd with arduino
Interfacing to lcd with arduino
 
Gate Diffusion Input Technology (Very Large Scale Integration)
Gate Diffusion Input Technology (Very Large Scale Integration)Gate Diffusion Input Technology (Very Large Scale Integration)
Gate Diffusion Input Technology (Very Large Scale Integration)
 
MOSFET
MOSFET MOSFET
MOSFET
 
ARDUINO OVERVIEW HARDWARE SOFTWARE AND INSTALLATION.pptx
ARDUINO OVERVIEW HARDWARE  SOFTWARE AND INSTALLATION.pptxARDUINO OVERVIEW HARDWARE  SOFTWARE AND INSTALLATION.pptx
ARDUINO OVERVIEW HARDWARE SOFTWARE AND INSTALLATION.pptx
 

Más de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Más de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Último

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Último (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

2048!

  • 1. 2048 Contest Challenge! Beauty, Brains & Innovation by Arden Thomas Cincom Smalltalk Product Manager !!!
  • 2. Contents • 2048 • Advocacy • Contest rules and entry grading • Categories of Solution Approaches • 5 finalists
  • 3. 2048 • Popular and recent single player puzzle game • How to play; ▪ 4 x 4 grid ▪ Slide the tiles right, left, up or down ▪ When the same numbers touch, they combine ▪ After each move a 2 or 4 is added in a random empty tile ▪ Goal of producing a tile with 2048 • Or maximum score 3
  • 4. Attractive for non-Smalltalkers Goal of introducing developers to Smalltalk • Examples provided • Fun way to expose developers to Smalltalk
  • 5. 5
  • 6. Attractive for Smalltalkers! A fun challenge for experienced Smalltalk developers • Developers get to ▪ Show their skills ▪ Share their knowledge ▪ Show what Smalltalk can do • Excellent demo’s to non-Smalltalkers
  • 7. 7
  • 8. Rules and Entry grading Scores are based on: • Animation • Simple, clear code • Heuristic rules • Innovative features • Best score (avg of 10 runs)
  • 9. Interface • Regions and Labels • Input fields, dividers • Action buttons • Custom view 9
  • 10. Heuristics • Deep look ahead • Board valuation 10
  • 11. Heuristics • Deep look ahead ▪ Choose move that has the highest score (at depth n) following random moves 11
  • 12. Heuristics • Board valuation 1 ▪ larger corner values ▪ empty cells ▪ like adjacent numbers • Board valuation 2 ▪ Two move look ahead ▪ minimized differences in adjacent cells ▪ merging high values • Board valuation 3 ▪ Two move look ahead ▪ board score ▪ increasing left to right, top to bottom values ▪ That a move is possible 12
  • 13. Average score of ten runs … 13 Name Entry1 Entry 3 level 1 Entry 2 Arden Runs 26304 2048 27204 2048 7276 512 8584 512 19192 1024 35292 2048 6584 512 8520 512 6468 512 12016 1024 2284 256 12600 1024 6700 512 34596 2048 11160 1024 10184 512 16168 1024 35500 2048 10000 1024 14140 1024 15312 1024 35772 2048 2976 256 16844 1024 15940 1024 27072 2048 768 64 10140 512 15528 1024 5296 512 5972 512 4364 256 12536 1024 6856 512 2824 256 8448 512 37968 2048 36368 2048 6584 512 14636 1024 Average s 172116 1126.4 25597.2 1638.4 5642.8 492.8 10846 691.2 Level 3 32100 2048
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. 19
  • 20. 20
  • 22. Honorable Mention Alexander Varghese Raj (Entry 5) • Unlimited undo • Nice layout and colors
  • 23. Honorable Mention Arkadiusz Baranowski (Entry 4) • New to Smalltalk! • Moves reduced to two operations ▪ Shift left ▪ Rotate board • Color scheme (with/without numbers)
  • 26. Second and Third place tie: Norbert Fortelny (Entry 3) Hi score “Beast” • Best scores with adaptive depth tree searches • Good tile animation • Clean simple interface
  • 27. Second and Third place tie: David Buck (Entry 2) “Beauty” • Raytracing used to render tiles • Concurrent tile animation, multiple speeds • “fireworks” animation on tile combination
  • 28. 1st place and Grand Overall 2048 Winner • Innovative heat map display with morphing heat map • Concurrent tile animation, multiple speeds • Animation on new tile • Highlighted number on combination • Best low depth heuristic • Diagonal moves option! • Additional grid sizes • Multiple color palettes • Good control layout and hover-help
  • 29. 1st place and Grand Overall 2048 Winner Ivo Vollrath (Entry 1) “Innovation tour-de-force”
  • 30. Contact Information Star Team (Smalltalk Strategic Resources) !! – Suzanne Fortman (sfortman@cincom.com) Cincom Smalltalk Program Director – Arden Thomas (athomas@cincom.com) Cincom Smalltalk Product Manager – Jeremy Jordan (jjordan@cincom.com) Cincom Smalltalk Marketing Manager !!! http://www.! cincomsmalltalk.com