Skip to content

mobileFX/Coconut2D

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

About

Cross Platform Games & Applications SDK

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published