Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2509578.2509583acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Game programming by demonstration

Published: 29 October 2013 Publication History

Abstract

The increasing adoption of smartphones and tablets has provided tens of millions of users with substantial resources for computation, communication and sensing. The availability of these resources has a huge potential to positively transform our society and empower individuals. Unfortunately, although the number of users has increased dramatically, the number of developers is still limited by the high barrier that existing programming environments impose.
To understand possible directions for helping end users to program, we present Pong Designer, an environment for developing 2D physics games through direct manipulation of object behaviors. Pong Designer is built using Scala and runs on Android tablets with the multi-touch screen as the main input. We show that Pong Designer can create simple games in a few steps. This includes (multi-player and multi-screen) Pong, Brick Breaker, Pacman, Tilting maze. We make available Pong Designer as well as several editable games that we created using it. This paper describes the main principles behind Pong Designer, and illustrates the process of developing and customizing behavior in this approach

References

[1]
H. Abelson and A. McKinney. AppInventor: app inventor for android, 2010.
[2]
L. Bishop, D. Eberly, T. Whitted, M. Finch, and M. Shantz. Designing a PC game engine. IEEE Computer Graphics and Applications, 18(1):46--53, Feb. 1998.
[3]
R. Bodík, S. Chandra, J. Galenson, D. Kimelman, N. Tung, S. Barman, and C. Rodarmor. Programming with angelic nondeterminism. In POPL, pages 339--352, 2010.
[4]
S. Cheema, S. Gulwani, and J. LaViola. QuickDraw: improving drawing experience for geometric diagrams. In Proc. of the SIGCHI conference, page 1037--1064, NY, USA, 2012. ACM.
[5]
A. Cooper, R. Reimann, and D. Cronin. About face 3: the essentials of interaction design. Wiley, 2012.
[6]
S. Duncan and R. Kay. GameMaker: fast, cross-platform games development, 2013.
[7]
C. Elliott. Genuinely functional user interfaces. In Proc. Haskell Workshop, page 41--69, 2001.
[8]
S. Gulwani. Synthesis from examples. In WAMBSE Special Issue, Infosys Labs Briefings, volume 10(2), 2012.
[9]
T. Gvero, V. Kuncak, I. Kuraj, and R. Piskac. Complete completion using types and weights. In PLDI, 2013.
[10]
D. Harel, A. Marron, and G. Weiss. Behavioral programming. Communications of the ACM, 55(7):90--100, 2012.
[11]
A. S. Köksal, V. Kuncak, and P. Suter. Constraints as control. In POPL, page 151--164, NY, USA, 2012. ACM.
[12]
A. J. Ko and B. A. Myers. Debugging reinvented: asking and answering why and why not questions about program behavior. In Proc. of the 30th ICSE, page 301--310, NY, USA, 2008. ACM.
[13]
V. Kuncak, M. Mayer, R. Piskac, and P. Suter. Comfusy: A tool for complete functional synthesis (tool presentation). In CAV, Proceedings, volume 6174, pages 430--433. Springer-Verlag Berlin, 2010.
[14]
T. Lau, P. Domingos, and D. S. Weld. Learning programs from traces using version space algebra. In Proc. of the 2nd K-CAP, page 36--43, NY, USA, 2003. ACM.
[15]
H. Lieberman. Mondrian: a teachable graphical editor. In Proc. of the INTERCHI, page 144--, Amsterdam, The Netherlands, 1993. IOS Press.
[16]
R. McDaniel. Your wish is my command. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001.
[17]
S. Nasilowski. Codea: Create anything on your iPad with codea, 2011.
[18]
M. Resnick, J. Maloney, A. Monroy-Hernández, N. Rusk, E. Eastmond, K. Brennan, A. Millner, E. Rosenbaum, J. Silver, and B. Silverman. Scratch: programming for all. Communications of the ACM, 52(11):60--67, 2009.
[19]
S. Sal. Khan academy, 2012.
[20]
L. Scirra. Construct 2: Create games. effortlessly, 2013.
[21]
O. Shacham, M. Vechev, and E. Yahav. Chameleon: adaptive selection of collections. OOPSLA, 44(6):408--418, June 2009.
[22]
C. Simonyi, M. Christerson, and S. Clifford. Intentional software. OOPSLA Not., 41(10):451--464, Oct. 2006.
[23]
R. Singh and S. Gulwani. Synthesizing number transformations from input-output examples. In Proc. of the 24th CAV conference, page 634--651, Berlin, Heidelberg, 2012. Springer-Verlag.
[24]
A. J. Sánchez-Ruíz and L. A. Jamba. FunFonts: introducing 4th and 5th graders to programming using squeak. In Proc. of the 46th Annual Southeast Regional Conference on XX, page 24--29, NY, USA, 2008. ACM.
[25]
K. T. Stolee and T. Fristoe. Expressing computer science concepts through kodu game lab. In Proc. of the 42nd ACM SIGCSE, NY, USA, 2011. ACM.
[26]
N. Tillmann, M. Moskal, J. d. Halleux, and M. Fahndrich. TouchDevelop: programming cloud-connected mobile devices via touchscreen. Proc. of the 10th OOPSLA, ONWARD, 2011.
[27]
B. Victor. Learnable programming, Sept. 2012.
[28]
G. Wang and P. Cook. ChucK: a programming language for on-the-fly, real-time audio synthesis and multimedia. In Proceedings of the 12th annual ACM international conference on Multimedia, page 812--815, 2004.

Cited By

View all
  • (2021)Program Synthesis for Musicians: A Usability Testbed for Temporal Logic SpecificationsProgramming Languages and Systems10.1007/978-3-030-89051-3_4(47-61)Online publication date: 12-Oct-2021
  • (2017)DemoMatch: API discovery from demonstrationsACM SIGPLAN Notices10.1145/3140587.306238652:6(64-78)Online publication date: 14-Jun-2017
  • (2017)DemoMatch: API discovery from demonstrationsProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062386(64-78)Online publication date: 14-Jun-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
Onward! 2013: Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
October 2013
218 pages
ISBN:9781450324724
DOI:10.1145/2509578
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 29 October 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. machine learning
  2. program synthesis
  3. programming by demonstration

Qualifiers

  • Research-article

Conference

SPLASH '13
Sponsor:

Acceptance Rates

Onward! 2013 Paper Acceptance Rate 11 of 27 submissions, 41%;
Overall Acceptance Rate 40 of 105 submissions, 38%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Program Synthesis for Musicians: A Usability Testbed for Temporal Logic SpecificationsProgramming Languages and Systems10.1007/978-3-030-89051-3_4(47-61)Online publication date: 12-Oct-2021
  • (2017)DemoMatch: API discovery from demonstrationsACM SIGPLAN Notices10.1145/3140587.306238652:6(64-78)Online publication date: 14-Jun-2017
  • (2017)DemoMatch: API discovery from demonstrationsProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062386(64-78)Online publication date: 14-Jun-2017
  • (2016)Scenario-based programming for mobile applicationsProceedings of the International Conference on Mobile Software Engineering and Systems10.1145/2897073.2897080(161-172)Online publication date: 14-May-2016
  • (2015)Representation-Plurality in Multi-Touch Mobile Visual Programming for MusicProceedings of the international conference on New Interfaces for Musical Expression10.5555/2993778.2993872(369-373)Online publication date: 30-May-2015
  • (2014)Verifying and Synthesizing Software with Recursive FunctionsAutomata, Languages, and Programming10.1007/978-3-662-43948-7_2(11-25)Online publication date: 2014

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media