/engine

Cocos Creator is a complete package of game development tools and workflow, including a game engine, resource management, scene editing, game preview, debug and publish one project to multiple platforms.

Primary LanguageJavaScript

stars forks version license twitter Gitpod Ready-to-Code

Cocos Creator

2.2.0 Main Window

Cocos Creator is a complete package of game development tools and workflow, including a game engine, resource management, scene editing, game preview, debug and publish one project to multiple platforms. Cocos Creator focused on content creation, which has realized features like thorough scriptability, componentization and data driven, etc. on the basis of Cocos2d-x. With JavaScript, you can scripting your component in no time. The editor and engine extension is also made with JavaScript so you can make games and refine your tool in a single programming language. Cocos Creator is an provides an innovative, easy to use toolset such as the UI system and Animation editor. The toolset will be expanding continuously and quickly, thanks to the open editor extension system.

This repo is the engine framework for Cocos Creator. Cocos Creator's in-editor scene view and web runtime share the same framework, which is the content of this repo. It's originally forked from Cocos2d-html5, we build up an Entity Component architecture on it to meet the needs of Cocos Creator.

This framework is a cross-platform game engine written in JavaScript and licensed under MIT. It supports major desktop and mobile browsers, it's also compatible with Cocos2d Javascript Binding engine to support native platforms like iOS, Android, Win32, macOS.

The framework is naturally integrated with Cocos Creator, so it's not designed to be used independently.

Developer

Prerequisite

Install

In cloned project folder, run the following command to setup dev environment:

# Initialize gulp task dependencies
# npm is a builtin CLI when you install Node.js
npm install

This is all you have to do to set engine development environment.

Build

gulp build

If the compilation process encounters a "JavaScript heap out memory" warning, you can use the following command line

gulp build --max-old-space-size=8192

Test

Prerequisite

  • Install express: npm install express.
  • Install gulp-qunit: npm install gulp-qunit.

Unit Test

Online one-click Setup

You can use Gitpod(an online IDE which is free for Open Source) for developing the project online. With a single click it will launch a workspace and automatically:

  • clone the Cocos Creator repo.
  • install all the dependencies mentioned above.
  • run gulp build, npm test in separate terminals.
  • start the express server and open http://localhost:8511/bin/qunit-runner.html in the right corner of the IDE.

Open in Gitpod

DebugInfos

View EngineErrorMap.md All the debug infos are defined in file EngineErrorMap.md. The file DebugInfos.json will be generated based on EngineErrorMap.md, when run gulp build command.

For details below:

  1. Define log in EngineErrorMap.md

    example:

    ### 1001
    
    cocos2d: removeAction: Target not found
    
  2. Define deprecated log in EngineErrorMap.md The log should be marked as DEPRECATED when then logId is no longer referenced in the project.

    example:

    ### 1000
    
    <!-- DEPRECATED -->
    cc.ActionManager.addAction(): action must be non-null
    

Useful links