Pac-Man? Flappy Bird? Yes — using the Skycoin CX Language!

Developers have been working diligently to increase performance of the CX language for better error reporting, and to expand support for OpenGL, GLFW and other libraries. In the past months there has been an increase in video game development activity using CX. Consistent improvements in useability have contributed towards the raise in interest from the Skycoin community to create games on the platform. As users continue to create more robust games, more features are constantly being requested and implemented by CX programmers. Frames-per-second (FPS) counters, sprite-loading mechanics, and methods to display and measure the dimensions of text in the games (used to display scores or “Game Over” screens) are examples of features that are being added to compose an extensive language. These features are already being incorporated in the games by their authors and their collaborators.

PacMan CX

The first video game to be released with a “complete experience” is a Pac-Man clone developed by Github user *galah4d*. The game impressed many with its level of detail. Since, at its time of release, CX had not implemented all the necessary functions to load sprites or images used to represent the visuals in the game, such as the walls, the ghosts, or the Pac-Man character itself. The author was required to draw each game element using individual pixels, a task that requires many times the effort that would be needed when using sprites. The final source code resulted in nearly 1,500 lines of pure code awesomeness. In its current version, you can make Pac-Man move around to eat all the dots (or Pac-Dots, as is their official name), hide from the four ghosts that are tirelessly chasing you, eat one of the four iconic Power Pellets to gain the ability to eat the ghosts and, of course, complete levels after consuming all of the Pac-Dots.

Crappy Ball CX (Flappy Bird Clone)

Soon after the release of the Pac-Man clone, Github user *atang152* decided to unveil his master creation, a Flappy Bird clone. In contrast to the previous game, the author’s self-titled “CrappyBall” fully leverages the recent features added to CX, employing sprites to represent the various game elements. As described by its programmer in the video game’s Github repository, you can choose between controlling a zombie bird or Pusheen the Cat, where the latter serves as a tribute to Skycoin’s Kittycash project. Just like the original Flappy Bird game, you’ll most likely end with a very high stress level after trying to fly through the numerous obstacles. The only feature that we now crave to see is a score system, as the Skycoin team members need a way to brag amongst themselves how far they made it through the game (I swear I reached past the 50th pipe!). The scoring system for the game is currently in the works, as CX programmers now have the possibility to easily display text in their creations.

Snakes CX

Other games have been under development for a while, but these games purely serve as test projects for the CX language, namely a Tetris clone and a Snake clone. To our surprise, another programmer going by the Github username of *Lunier* is creating his own clone of the Snake game. Although it’s still in its early stages, we can see that *Lunier* followed the more traditional route of using a tile-based map to track the movements of the snake (just like old times, e.g. Nokia 3310!). In contrast, the Skycoin’s Snake has a continuous movement, which is harder to implement but gives a more modern feeling to the game.

Using games on CX!

If you’d like to check out these games and the others that are coming soon, or start developing your very own video game using CX, follow the instructions shown in the CX official repository’s README document at https://github.com/skycoin/cx. Please note, if you are using a Windows system we regret to inform you that you *might* run into some trouble, as some Windows users have reported running into issues while trying to install CX on their computers. Fear not, as we are working very hard to provide an effortless installation to a variety of platforms soon!

Additionally, to help us have a more efficient CX sooner, please report any previously unknown problems running CX to the CX Github repository by following this link: https://github.com/skycoin/cx/issues.

After downloading and installing CX, please follow the links below to download your desired game by clicking on the *green* button that says “Clone or download”, and then choose the “Download ZIP” option. After downloading a copy of the game, open a terminal console and navigate to the game’s folder to later run `cx .`, which tells CX to run all programs in the folder. Enjoy!

Pac-Man: https://github.com/galah4d/pacman-cx
Flappy Bird: https://github.com/atang152/crappyBall-cx
Snake: https://github.com/Lunier/Snake