Speed up your game building with SpeedCC

A rapid and powerful development framework in C++ for cocos2d-x and targets for mobile game building.

It is:

  • Productive
  • Lightweight Thinking
  • High Performance
  • Elegance

Setup scene sample.

SC_BEGIN_CONTAINER_ROOT(nullptr,SCWinSize)
	// create and add cocos2d::Label with system font
    SC_INSERT_LABEL(nullptr,"dock=top|mid-x; y-by=-10;","Title","",20)

    // create and add cocos2d::Sprite in the center of container node
    SC_INSERT_SPRITE(nullptr,"dock=center;","HelloWorld.png")

    // create cocos2d::LayerColor as parent node
    SC_BEGIN_CONTAINER_LAYER_COLOR(nullptr, "dock=bottom|right;", Size(80,40), Color4B::BLUE)
    	// create and add cocos2d::MenuItemLabel
        SC_INSERT_BUTTON_LABEL(nullptr,"dock=center;", "exit", "", 18, SCF(onButtonExit))
    SC_END_CONTAINER
SC_END_CONTAINER

Setup logic sample.

SC_BEGIN_ROLE(kRoleIDDirector,kTestStrategyID1,this)
    ON_MSG_BEHAVIOR(kMsgReady, ptrBehaviorReady)
    ON_MSG_BEHAVIOR(kMsgGameOver, ptrBehaviorGameOver)

    ON_MSG_NEXT_STRATEGY(kMsgFight, kTestStrategyID2)

    IN_STRATEGY(kTestStrategyID2)
        ON_MSG_NEXT_STRATEGY(kMsgEsc, kTestStrategyID1)
        ON_MSG_BEHAVIOR(kMsgAttact,ptrBvrAttact)  
        ON_CMD_BEHAVIOR(kMsgDefense, ptrBvrDefense)
    ENDIN_STRATEGY
SC_END_ROLE

More powerful and incredible features please explore in the project.

SpeedCC Github: https://github.com/kevinwu1024/SpeedCC

Sample Game: https://github.com/kevinwu1024/SampleGames

Documentation: https://github.com/kevinwu1024/SpeedCC-Doc

This is interesting but aren’t you really taking away the need for users to code?

But why it’s for, if it’s using custom cocos2d-x?

SpeedCC just reduce coding workload and making the code easy to understand, but developer has to code as usual.

No, SpeedCC is not custom cocos2d-x, and it won’t customize another cocos2d-x, because it is so … so huge workload to maintain an engine for one person. It just a framework based on origin cocos2d-x, and provides handy features for game building. All of your knowledge of cocos2d-x still useful when using SpeedCC.

So why cocos2d-x is not as submodule?

@anon98020523 Thanks for your question, because I concern bugs in cocos2d-x, for instance, the version of cocos2d-x in SpeedCC is v3.15, but this version has bug in iOS11 (system() function doesn’t work in iOS11), so I had to fix it in the copy of SpeedCC, now cocos2d-x v3.16 seems has fixed this bug.

I have considered to submodule origin cocos2d-x, since I don’t like such large size files in SpeedCC repository, but the engine team has already slowed down cocos2d-x improvement, so I have to worry about this situation and made a copy of cocos2d-x to SpeedCC, maybe I can fix some bugs by myself in some day if necessary. And I don’t think to fork cocos2d-x to my account is a better idea to maintain another copy of cocos2d-x.

I prefer to submodule and consider to submodule in coming version if possible.