SlideShare a Scribd company logo
1 of 24
Download to read offline
Experience of game prototyping with MOAI
Dmitry Potapov
dp@logiceditor.com
October,16 2015 / Lua Workshop 2015
Experience of game prototyping with MOAI 1/ 1 Dmitry Potapov
OVERVIEW
Objectives and constraints
Development priorities:
For set of games
For complex game prototype
Requirements for game framework
Planned abstraction layers
Selection of game engine and tools
Implementation: game model, model controller, UI
Actual abstraction layers
Benets and problems encountered
Conclusion: Is the game worth the candle?
Experience of game prototyping with MOAI 2/ 1 Dmitry Potapov
THE LOGIC OF DEVELOPMENT
Objectives and Constraints
Development priorities
Planned abstraction layers
Requirements for game
framework
Selection of game engine
Experience of game prototyping with MOAI 3/ 1 Dmitry Potapov
OBJECTIVES
Make a tool for fast prototyping of complex games
Quickly turn best prototypes into games for a few platforms
First game must be complex enough:
Meta-level: metamap, user, ratings, medals, sociality etc
Strategical level: turned-based mechanics, tiled strategical map
Tactical level: match3 battle + abilities + consumables
User has properties: game progress, scores, energy, abilities etc
User interface:
A few screen resolutions
All common controls
MapView, Match3 eld + eects
Panels (dialogs)
Experience of game prototyping with MOAI 4/ 1 Dmitry Potapov
CONSTRAINTS
One (but skilled) part-time developer:
Can spend enough time initially
May have less time later
Can solve complex tasks
Has experience with some tools and can quickly cope with new
ones
Small budget:
Cannot aord hiring N developers
Experience of game prototyping with MOAI 5/ 1 Dmitry Potapov
PROTOTYPE OF COMPLEX GAME. SKETCHES OF UI
Art: Through enemy eyes. (C) Dmitry Potapov, 2008
Experience of game prototyping with MOAI 6/ 1 Dmitry Potapov
PROTOTYPE OF COMPLEX GAME. SKETCH OF STRATEGICAL MAP
Sketch of strategical map
Art: Through enemy eyes. (C) Dmitry Potapov, 2008
Experience of game prototyping with MOAI 7/ 1 Dmitry Potapov
PROTOTYPE OF COMPLEX GAME. SKETCH OF COMBAT
Sketch of combat
Diamond icons by LazyCrazy: http://www.artdesigner.lv
Experience of game prototyping with MOAI 8/ 1 Dmitry Potapov
DEVELOPMENT PRIORITIES.SET OF GAMES
Fast prototyping and production
High quality of crucial game components (art, sound, sociality,
analytics, monetization etc)
Support of maximum number of platforms
Development mainly under Linux
Easy change of game engine later
Experience of game prototyping with MOAI 9/ 1 Dmitry Potapov
DEVELOPMENT PRIORITIES.PROTOTYPE: GENERAL
Fast setup of prototype
Easy and quick tuning of gameplay and UI in prototype
Fast movement from prototype to release
Use third-party solutions (tools) whenever possible
Games can run without network
Maximal reuse of code
Maximal exibility + power of game engine
Minimal dependence from third-party closed-source solutions
Experience of game prototyping with MOAI 10/ 1 Dmitry Potapov
DEVELOPMENT PRIORITIES.PROTOTYPE: GAME MODEL
Can be tuned or extended quickly
Can be tested separately
Can be moved onto server without full re-implementation
Maximum of base functionality moved to libraries
Experience of game prototyping with MOAI 11/ 1 Dmitry Potapov
DEVELOPMENT PRIORITIES.PROTOTYPE: UI
Can be tuned or extended quickly
Can be tested separately
Have minimal dependency from low-level
Device caps (as well as platform) hardly aect user code
Maximum of base functionality moved to libraries
Experience of game prototyping with MOAI 12/ 1 Dmitry Potapov
PLANNED ABSTRACTION LAYERS
Game-specic code
Our general lib + gamemodel lib + UI lib
Third-party libraries (mostly UI)
Game engine
OS
Experience of game prototyping with MOAI 13/ 1 Dmitry Potapov
REQUIREMENTS FOR GAME FRAMEWORK
Flexible, extensible (including native code)
Fast and reliable
Supports tools: tiled, texture packer etc
Supports max platforms
Open source
Can develop under Linux
Experience of game prototyping with MOAI 14/ 1 Dmitry Potapov
SELECTION OF GAME ENGINE. MOAI vs Corona SDK
Corona's pluses:
Easy prototyping
First game can be done quickly
Simple usage of build-in functionality
Easy building of app
Corona's minuses:
Lack of functionality
No access to some important parameters of objects
More bugs in implementation
Long wait until requested feature would be added
Proprietary code
Remote compilation
Experience of game prototyping with MOAI 15/ 1 Dmitry Potapov
IMPLEMENTATION: OVERVIEW
General: Instance, logging
Game model: Loops, maps, AI
Model controller: Player actions, Save/Load
UI: resource manager, preloader, input handling, control
manager, primitive controls, map view
Experience of game prototyping with MOAI 16/ 1 Dmitry Potapov
IMPLEMENTATION: GENERAL AND GAME MODEL
General entity Engine class used
App Instance MOAIApp
Logging MOAILogMgr
Game model entity Engine class used
Game loop MOAITimer, MOAIAnimCurve
User/actor/player: info, abilities
etc
-
In-game objects -
AI -
Maps RNMap, RNMapFactory
Experience of game prototyping with MOAI 17/ 1 Dmitry Potapov
IMPLEMENTATION: MODEL CONTROLLER
Player action processing
Save/load
Used no 3rd party or engine classes yet.
Experience of game prototyping with MOAI 18/ 1 Dmitry Potapov
IMPLEMENTATION: USER INTERFACE
UI entity Engine classes Rapanui classes
Input handling MOAIApp
Texture and atlases MOAITexture
MOAIGfxQuadDeck2D
RNGraphicsManager
Sprites MOAIAnimCurve
MOAIAnim
MOAITimer
RNFactory.createAnim
Control manager,
controls and panels
MOAIScissorRect RNFactory, RNObject,
RNButton, RNImage,
RNText, RNGroup
RNDirector
MapView MOAIDeckRemapper RNMap
RNMapFactory
RNListeners
RNFactory.{width,height}
Experience of game prototyping with MOAI 19/ 1 Dmitry Potapov
ACTUAL ABSTRACTION LAYERS
Game-specic code
Our UI lib + gamemodel lib + general lib
UI library: Rapanui
Game engine: MOAI
OS
Experience of game prototyping with MOAI 20/ 1 Dmitry Potapov
BENEFITS
High quality of code, authors understand the domain
Open source  self-documented, easy extension etc
Rather good documentation
Support of tools: tiled, texture packer etc
Engine users are strong developers
Can develop under Linux
Experience of game prototyping with MOAI 21/ 1 Dmitry Potapov
PROBLEMS ENCOUNTERED
Rather small community  despite it is skilled
Too weak (or too complex) GUI frameworks
Bugs in functionality  in Rapanui mostly
Bugs in build scripts  concerns making Android app under
Linux mostly
Experience of game prototyping with MOAI 22/ 1 Dmitry Potapov
CONCLUSION: IS THE GAME WORTH THE CANDLE?
The skills necessary for successful development:
Must understand the whole architecture of game app
Is not afraid of getting into low-level details
Must read 3rd party code
Must read logs
Must build under Linux /OS X
If you are lucky to have time and skills necessary for building up
libraries isolating low-level features, you would nally gain
outstanding performance and exibility of MOAI + rapid speed of
development of high-level framework
MOAI is very good for beginners also  since they could learn the
whole process of game development!
Experience of game prototyping with MOAI 23/ 1 Dmitry Potapov
DMITRY POTAPOV : DP@LOGICEDITOR.COM
Lines of business:
Visual editors for business (and game) logic
High-load services
Solutions for advertising, analytics and real-time bidding
Games: HTML5, Mobile, Social
Experience of game prototyping with MOAI 24/ 1 Dmitry Potapov

More Related Content

What's hot

What's new in Android Pie
What's new in Android PieWhat's new in Android Pie
What's new in Android PieHassan Abid
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 
Top 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store appsTop 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store appsMorten Nielsen
 
introduction to java-final with Unit Nexus
introduction to java-final with Unit Nexus introduction to java-final with Unit Nexus
introduction to java-final with Unit Nexus Unit Nexus Pvt. Ltd.
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEintelliyole
 
Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)LewisB2013
 
Windows phone 7 overview
Windows phone 7 overviewWindows phone 7 overview
Windows phone 7 overviewSoumow Dollon
 

What's hot (9)

What's new in Android Pie
What's new in Android PieWhat's new in Android Pie
What's new in Android Pie
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
Top 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store appsTop 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store apps
 
introduction to java-final with Unit Nexus
introduction to java-final with Unit Nexus introduction to java-final with Unit Nexus
introduction to java-final with Unit Nexus
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDE
 
Lets Auto It
Lets Auto ItLets Auto It
Lets Auto It
 
Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)
 
Windows phone 7 overview
Windows phone 7 overviewWindows phone 7 overview
Windows phone 7 overview
 
Flutter
FlutterFlutter
Flutter
 

Viewers also liked

Пользовательская автоматизация профессиональных веб-приложений на Lua
Пользовательская автоматизация профессиональных веб-приложений на LuaПользовательская автоматизация профессиональных веб-приложений на Lua
Пользовательская автоматизация профессиональных веб-приложений на LuaAlexander Gladysh
 
"Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N...
"Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N..."Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N...
"Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N...Sherry Jones
 
Intro to Indie Game Development
Intro to Indie Game DevelopmentIntro to Indie Game Development
Intro to Indie Game DevelopmentShahed Chowdhuri
 
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper PrototypesGame Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper PrototypesDavid Farrell
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

Viewers also liked (6)

Пользовательская автоматизация профессиональных веб-приложений на Lua
Пользовательская автоматизация профессиональных веб-приложений на LuaПользовательская автоматизация профессиональных веб-приложений на Lua
Пользовательская автоматизация профессиональных веб-приложений на Lua
 
"Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N...
"Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N..."Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N...
"Prototyping Immersive Game Design as Interactive Fiction" by Sherry Jones (N...
 
Intro to Indie Game Development
Intro to Indie Game DevelopmentIntro to Indie Game Development
Intro to Indie Game Development
 
Game prototyping 101
Game prototyping 101Game prototyping 101
Game prototyping 101
 
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper PrototypesGame Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similar to Experience of game prototyping with MOAI

Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Karsten Wysk
 
Delta Engine Multiplatform Development Presentation 2011-05
Delta Engine Multiplatform Development Presentation 2011-05Delta Engine Multiplatform Development Presentation 2011-05
Delta Engine Multiplatform Development Presentation 2011-05Benjamin Nitschke
 
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...Katrien De Graeve
 
Mobile Game Development using Adobe Flash
Mobile Game Development using Adobe FlashMobile Game Development using Adobe Flash
Mobile Game Development using Adobe Flashchall3ng3r
 
ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...
ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...
ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...Didier A
 
Windows 8 and MonoGame Presentation at Staffordshire University
Windows 8 and MonoGame Presentation at Staffordshire UniversityWindows 8 and MonoGame Presentation at Staffordshire University
Windows 8 and MonoGame Presentation at Staffordshire UniversityLee Stott
 
Eirplay game production
Eirplay game productionEirplay game production
Eirplay game productionPete Lynch
 
Games Technologies
Games TechnologiesGames Technologies
Games TechnologiesOded Sharon
 
02. Platforms and Modes
02. Platforms and Modes02. Platforms and Modes
02. Platforms and ModesAmin Babadi
 
Seattle javascript game development - Overview
Seattle javascript game development - OverviewSeattle javascript game development - Overview
Seattle javascript game development - OverviewGrant Goodale
 
Landscape Of Virtual World Systems
Landscape Of Virtual World SystemsLandscape Of Virtual World Systems
Landscape Of Virtual World SystemsTim Holt
 
Ways to Choose the Right Game Development Platform.pdf
Ways to Choose the Right Game Development Platform.pdfWays to Choose the Right Game Development Platform.pdf
Ways to Choose the Right Game Development Platform.pdfMuhammad Waqas
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkGorm Lai
 
Less code More fun
Less code More funLess code More fun
Less code More funAmos Laber
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michaelMichael Chaize
 
Casual Engines 2009
Casual Engines 2009Casual Engines 2009
Casual Engines 2009David Fox
 

Similar to Experience of game prototyping with MOAI (20)

Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011
 
Delta Engine Multiplatform Development Presentation 2011-05
Delta Engine Multiplatform Development Presentation 2011-05Delta Engine Multiplatform Development Presentation 2011-05
Delta Engine Multiplatform Development Presentation 2011-05
 
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
 
Mobile Game Development using Adobe Flash
Mobile Game Development using Adobe FlashMobile Game Development using Adobe Flash
Mobile Game Development using Adobe Flash
 
ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...
ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...
ADOBE MAX 2006 - "Developing Flash Lite Games" Conference - by Didier Agani (...
 
Windows 8 and MonoGame Presentation at Staffordshire University
Windows 8 and MonoGame Presentation at Staffordshire UniversityWindows 8 and MonoGame Presentation at Staffordshire University
Windows 8 and MonoGame Presentation at Staffordshire University
 
Eirplay game production
Eirplay game productionEirplay game production
Eirplay game production
 
Games Technologies
Games TechnologiesGames Technologies
Games Technologies
 
02. Platforms and Modes
02. Platforms and Modes02. Platforms and Modes
02. Platforms and Modes
 
Seattle javascript game development - Overview
Seattle javascript game development - OverviewSeattle javascript game development - Overview
Seattle javascript game development - Overview
 
Landscape Of Virtual World Systems
Landscape Of Virtual World SystemsLandscape Of Virtual World Systems
Landscape Of Virtual World Systems
 
Ways to Choose the Right Game Development Platform.pdf
Ways to Choose the Right Game Development Platform.pdfWays to Choose the Right Game Development Platform.pdf
Ways to Choose the Right Game Development Platform.pdf
 
Game devtools
Game devtoolsGame devtools
Game devtools
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
 
Less code More fun
Less code More funLess code More fun
Less code More fun
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
 
Adobe: Adobe Gaming NOW!
Adobe: Adobe Gaming NOW!Adobe: Adobe Gaming NOW!
Adobe: Adobe Gaming NOW!
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michael
 
Casual Engines 2009
Casual Engines 2009Casual Engines 2009
Casual Engines 2009
 
Chrome os
Chrome osChrome os
Chrome os
 

Recently uploaded

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Experience of game prototyping with MOAI

  • 1. Experience of game prototyping with MOAI Dmitry Potapov dp@logiceditor.com October,16 2015 / Lua Workshop 2015 Experience of game prototyping with MOAI 1/ 1 Dmitry Potapov
  • 2. OVERVIEW Objectives and constraints Development priorities: For set of games For complex game prototype Requirements for game framework Planned abstraction layers Selection of game engine and tools Implementation: game model, model controller, UI Actual abstraction layers Benets and problems encountered Conclusion: Is the game worth the candle? Experience of game prototyping with MOAI 2/ 1 Dmitry Potapov
  • 3. THE LOGIC OF DEVELOPMENT Objectives and Constraints Development priorities Planned abstraction layers Requirements for game framework Selection of game engine Experience of game prototyping with MOAI 3/ 1 Dmitry Potapov
  • 4. OBJECTIVES Make a tool for fast prototyping of complex games Quickly turn best prototypes into games for a few platforms First game must be complex enough: Meta-level: metamap, user, ratings, medals, sociality etc Strategical level: turned-based mechanics, tiled strategical map Tactical level: match3 battle + abilities + consumables User has properties: game progress, scores, energy, abilities etc User interface: A few screen resolutions All common controls MapView, Match3 eld + eects Panels (dialogs) Experience of game prototyping with MOAI 4/ 1 Dmitry Potapov
  • 5. CONSTRAINTS One (but skilled) part-time developer: Can spend enough time initially May have less time later Can solve complex tasks Has experience with some tools and can quickly cope with new ones Small budget: Cannot aord hiring N developers Experience of game prototyping with MOAI 5/ 1 Dmitry Potapov
  • 6. PROTOTYPE OF COMPLEX GAME. SKETCHES OF UI Art: Through enemy eyes. (C) Dmitry Potapov, 2008 Experience of game prototyping with MOAI 6/ 1 Dmitry Potapov
  • 7. PROTOTYPE OF COMPLEX GAME. SKETCH OF STRATEGICAL MAP Sketch of strategical map Art: Through enemy eyes. (C) Dmitry Potapov, 2008 Experience of game prototyping with MOAI 7/ 1 Dmitry Potapov
  • 8. PROTOTYPE OF COMPLEX GAME. SKETCH OF COMBAT Sketch of combat Diamond icons by LazyCrazy: http://www.artdesigner.lv Experience of game prototyping with MOAI 8/ 1 Dmitry Potapov
  • 9. DEVELOPMENT PRIORITIES.SET OF GAMES Fast prototyping and production High quality of crucial game components (art, sound, sociality, analytics, monetization etc) Support of maximum number of platforms Development mainly under Linux Easy change of game engine later Experience of game prototyping with MOAI 9/ 1 Dmitry Potapov
  • 10. DEVELOPMENT PRIORITIES.PROTOTYPE: GENERAL Fast setup of prototype Easy and quick tuning of gameplay and UI in prototype Fast movement from prototype to release Use third-party solutions (tools) whenever possible Games can run without network Maximal reuse of code Maximal exibility + power of game engine Minimal dependence from third-party closed-source solutions Experience of game prototyping with MOAI 10/ 1 Dmitry Potapov
  • 11. DEVELOPMENT PRIORITIES.PROTOTYPE: GAME MODEL Can be tuned or extended quickly Can be tested separately Can be moved onto server without full re-implementation Maximum of base functionality moved to libraries Experience of game prototyping with MOAI 11/ 1 Dmitry Potapov
  • 12. DEVELOPMENT PRIORITIES.PROTOTYPE: UI Can be tuned or extended quickly Can be tested separately Have minimal dependency from low-level Device caps (as well as platform) hardly aect user code Maximum of base functionality moved to libraries Experience of game prototyping with MOAI 12/ 1 Dmitry Potapov
  • 13. PLANNED ABSTRACTION LAYERS Game-specic code Our general lib + gamemodel lib + UI lib Third-party libraries (mostly UI) Game engine OS Experience of game prototyping with MOAI 13/ 1 Dmitry Potapov
  • 14. REQUIREMENTS FOR GAME FRAMEWORK Flexible, extensible (including native code) Fast and reliable Supports tools: tiled, texture packer etc Supports max platforms Open source Can develop under Linux Experience of game prototyping with MOAI 14/ 1 Dmitry Potapov
  • 15. SELECTION OF GAME ENGINE. MOAI vs Corona SDK Corona's pluses: Easy prototyping First game can be done quickly Simple usage of build-in functionality Easy building of app Corona's minuses: Lack of functionality No access to some important parameters of objects More bugs in implementation Long wait until requested feature would be added Proprietary code Remote compilation Experience of game prototyping with MOAI 15/ 1 Dmitry Potapov
  • 16. IMPLEMENTATION: OVERVIEW General: Instance, logging Game model: Loops, maps, AI Model controller: Player actions, Save/Load UI: resource manager, preloader, input handling, control manager, primitive controls, map view Experience of game prototyping with MOAI 16/ 1 Dmitry Potapov
  • 17. IMPLEMENTATION: GENERAL AND GAME MODEL General entity Engine class used App Instance MOAIApp Logging MOAILogMgr Game model entity Engine class used Game loop MOAITimer, MOAIAnimCurve User/actor/player: info, abilities etc - In-game objects - AI - Maps RNMap, RNMapFactory Experience of game prototyping with MOAI 17/ 1 Dmitry Potapov
  • 18. IMPLEMENTATION: MODEL CONTROLLER Player action processing Save/load Used no 3rd party or engine classes yet. Experience of game prototyping with MOAI 18/ 1 Dmitry Potapov
  • 19. IMPLEMENTATION: USER INTERFACE UI entity Engine classes Rapanui classes Input handling MOAIApp Texture and atlases MOAITexture MOAIGfxQuadDeck2D RNGraphicsManager Sprites MOAIAnimCurve MOAIAnim MOAITimer RNFactory.createAnim Control manager, controls and panels MOAIScissorRect RNFactory, RNObject, RNButton, RNImage, RNText, RNGroup RNDirector MapView MOAIDeckRemapper RNMap RNMapFactory RNListeners RNFactory.{width,height} Experience of game prototyping with MOAI 19/ 1 Dmitry Potapov
  • 20. ACTUAL ABSTRACTION LAYERS Game-specic code Our UI lib + gamemodel lib + general lib UI library: Rapanui Game engine: MOAI OS Experience of game prototyping with MOAI 20/ 1 Dmitry Potapov
  • 21. BENEFITS High quality of code, authors understand the domain Open source self-documented, easy extension etc Rather good documentation Support of tools: tiled, texture packer etc Engine users are strong developers Can develop under Linux Experience of game prototyping with MOAI 21/ 1 Dmitry Potapov
  • 22. PROBLEMS ENCOUNTERED Rather small community despite it is skilled Too weak (or too complex) GUI frameworks Bugs in functionality in Rapanui mostly Bugs in build scripts concerns making Android app under Linux mostly Experience of game prototyping with MOAI 22/ 1 Dmitry Potapov
  • 23. CONCLUSION: IS THE GAME WORTH THE CANDLE? The skills necessary for successful development: Must understand the whole architecture of game app Is not afraid of getting into low-level details Must read 3rd party code Must read logs Must build under Linux /OS X If you are lucky to have time and skills necessary for building up libraries isolating low-level features, you would nally gain outstanding performance and exibility of MOAI + rapid speed of development of high-level framework MOAI is very good for beginners also since they could learn the whole process of game development! Experience of game prototyping with MOAI 23/ 1 Dmitry Potapov
  • 24. DMITRY POTAPOV : DP@LOGICEDITOR.COM Lines of business: Visual editors for business (and game) logic High-load services Solutions for advertising, analytics and real-time bidding Games: HTML5, Mobile, Social Experience of game prototyping with MOAI 24/ 1 Dmitry Potapov