Scheme REPL with Cocos2Dx

Scheme REPL with Cocos2Dx

Adellica
Aug 6, 2015
  • 2.8 MB

    파일 크기

  • Android 2.2+

    Android OS

Scheme REPL with Cocos2Dx 정보

A Scheme programming-language proof-of-concept game

This is a demo for developers. Please don't give low ratings based on playability - it's not meant to be a complete game! It may still be entertaining though, you can drive a truck up hills and fall back down.

=== What this is about ===

We have wanted to try REPL-based game development for a long time, and this is our attempt.

A REPL is like a command-line interface to the inside of your running program. It's like having a debugger running constantly, but perhaps less troublesome.

REPL-based development should allow us to develop games and apps much faster. Your new code takes effect immediately, and can be executed on your target hardware.

Bret Victor has a very nice talk about immediate feedback in his "Inventing on Principle" talk: http://vimeo.com/36579366

This project is an attempt to accomplish this, and so far it seems to have worked fairly well!

=== How we are doing this ===

The demo combines three third-party libraries:

- Chicken Scheme for the REPL

- Cocos2Dx for graphics

- Chipmunk for physics

Cocos2Dx is a C++ library with 2D-games in mind. It lets you manage things like sprites, their animations and touch events. It is fast and portable (Android, iOS and others). Chipmunk is a physics engine writtten in C. It's fast with a very nice API. Chicken Scheme is a Scheme-to-C compiler and interpreter.

All should also run on iOS, but I don't have a Mac.

=== Bindings ===

The Cocos2Dx bindings are in an early-stage. Basic functions to manipulate sprites are available:

- (CCSprite::create "CloseNormal.png")

- (setPosition *sprite* x y)

- (getLocatino touch-event)

The Chipmunk API is more mature. You can read about the `chickmunk` project on https://github.com/kristianlm/chickmunk.

=== Try it yourself ===

You can connect to the REPL directly from your laptop if your phone is on the same WiFi, or use USB. Try Settings->Wireless Networks->Wifi Settings-> [Menu]->Advanced when looking for you phone's IP.

With netcat (or Emacs, with netcat [ip] [port] as your Scheme interpreter), you could try:

$ nc [phone ip] [port]

Alternatively, you could use USB with adb and forward:

$ adb forward tcp:1234 tcp:1234

$ nc localhost 1234

Once you see the REPL prompt @>, you can play around:

;; 'import' chipmunk bindings

(use chickmunk)

;; where is the player?

(body-get-pos truck)

;; redefine game-loop to pause game unless you're touching the screen

(define (*update*)

(if *touch-down* (space-step space (/ 1 120))))

;; now let's give the truck a gentle push

(body-set-ang-vel wf -20)

;; now touch the screen to watch it drift off

;; restart the app to revert your changes

(exit)

;; You can also manipulate the physics-world:

;; Drop a ball from the sky

(space-add space

`(body ((pos (320 700)))

(circle (density 0.001)

(friction 1)

(radius 10))))

;; Add a gentle but slippery slope

(space-add space

`(body ((static 1))

(segment (friction 0.1)

(endpoints ((250 500)

(800 550))))))

;; type this to see the touch-down state:

*touch-down*

;; it should be #f when your finger is off the screen, and touch-coordinates otherwise. evaluate it while holding the screen to try it out!

This is just a small example of what can be done. As a matter of fact, almost everything in the demo itself was developed this way: the REPL, Emacs and Inferior Scheme.

=== Source code ===

The source-code for the demo can be found on github: https://github.com/Adellica/cocoscheme.

Please give feedback, let us know if you like this! And please let us know of any similar efforts. Thanks!

더 보기

What's new in the latest 1.0

Last updated on Aug 6, 2015
Minor bug fixes and improvements. Install or update to the newest version to check it out!
더 보기

비디오 및 스크린 샷

  • Scheme REPL with Cocos2Dx 포스터
  • Scheme REPL with Cocos2Dx 스크린샷 1
  • Scheme REPL with Cocos2Dx 스크린샷 2

Scheme REPL with Cocos2Dx의 오래된 버전

APKPure 아이콘

APKPure 앱을통한매우빠르고안전한다운로드

한번의클릭으로 Android에 XAPK/APK 파일을설치할수있습니다!

다운로드 APKPure
thank icon
사용자 환경을 개선하기 위해 이 웹 사이트의 쿠키 및 기타 기술을 사용합니다.
이 페이지의 링크를 클릭하면 당사의 개인 정보 보호 정책쿠키 정책에 동의하는 것입니다.
더 알아보기