Cross Platform Games & Applications SDK
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
DeviceWrappers Structure fixes Apr 6, 2018
Documentation Beta Release 2018 Apr 6, 2018
Frameworks Beta Release 2018 Apr 6, 2018
Grammars Beta Release 2018 Apr 6, 2018
Libraries Beta Release 2018 Apr 6, 2018
Templates Beta Release 2018 Apr 6, 2018
Toolchain Beta Release 2018 Apr 6, 2018
.gitignore Beta Release 2018 Apr 6, 2018
LICENSE Create LICENSE Apr 8, 2018
README.md Readme change Apr 6, 2018

README.md

Coconut2D_CrossPlatformRuntime

  1. The Coconut 2D Project idea ==============================

Coconut2D is a software project for creating HTML5, iOS, Android and PC games that your really design and code once, and play everywhere!

Process

This GitHub Repository contains the Open Source Coconut2D SDK, which is the Toolchain and Core Frameworks of Coconut2D project. Please note that this repository does not contain Coconut2D Studio IDE which is a commercial product (or at least will be when we manage to finish it :)

  1. Coconut2D SDK Architecture ==============================

Coconut2D virtualizes the HTML5 Canvas and uses Object Oriented JavaScript as the single code-base language. Developers can write and debug their games in Object Oriented JavaScript against the virtual HTML5 Canvas using Coconut2D Studio IDE.

Once a games is ready for release, it can be compiled to HTML5 and ECMA JavaScript code, as well as Native C++11 code for iOS, Android and x86 apps. We developed a state of the art open source compiler, that generates cross-browser ECMA JavaScript and portable C++11 code from Object Oriented JavaScript source code.

Architecture

Layering

  1. Object Oriented JavaScript ==============================

CocoScript

CocoScriptCode

Language Features:

  • Real Classes as first-class citizens
  • Constructor with constructor arguments and inline base class initialization
  • Destructor (invoked on delete)
  • Public, Private, Protected Access Modifiers
  • Published Access Modififer for Design-Time binding
  • Abstract Functions
  • Static Functions and Fields
  • Virtual Functions and base class access with super keyword
  • Function Overloads
  • Constants and Enums
  • Properties (setter, getter)
  • Events Registration and Notification System
  • Interfaces and implements keyword
  • Structs (with super fast instantiation)
  • States (for Game Loop FSM)
  • Class and Interface Inheritance Model
  • Class Delegation Model
  • Strong Type System
  • Explicit Integer, Float, Time, String, Boolean and Date datatypes
  • Stream and DataStream datatype
  • Typed Arrays and Arrays of Objects
  • Conditional Compilation and Compiler Directives (eg. #ifdef BOX_2D )
  • Export of Debug Symbol Tables for real Debugging
  • Export of Code Symbols for IntelliSyntax Editing
  • Export of State Machine and Class Diagrams
  • Compiles to ECMA JavaScript cross-browser code
  • Compiles to C++11 Portable Code

We also developed CocoPlayer, a Simulator powered by Google V8 JavaScript VM Engine where developers can test, debug and profile their games and apps. CocoPlayer is capable of simulating various screen resolutions taking into account the different dpi of numerous iOS and Android devices. The full-fledged Object Oriented JavaScript Debugger is one of Coconut2D Studio's unique features!

  1. Coconut2D Video ==============================

Coconut2D Technology

  1. Coconut2D on Social Media ==============================

facebook

twitter

  1. Contribute / Donate ==============================

If this project is useful for you, you can help us sustain it either by contributing or by donating with Paypal.