Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Day 1: Titlescreen done.

A topic by retrogradeorbit created Aug 02, 2016 Views: 257 Replies: 1
Viewing posts 1 to 2
Submitted (1 edit)

Im making my game in ClojureScript using the InfiniteLives.pixi gamejam library: http://github.com/infinitelives/infinitelives.pixi

Finished the titlescreen. I love the way the title words came out. Bouncing and moving like that.

Check it out here: https://retrogradeorbit.github.io/cloud-fighter/

You can see the source on github: https://github.com/retrogradeorbit/cloud-fighter/

I used an online title font generation utility: http://cooltext.com/

Also managed to nail an exitable go-block macro. I'm using ClojureScript, and in clojure's core.async, once a go block is 'running' there is no way to exit it. But I need to exit go blocks on certain events (like on the titlescreen when the player presses the start button).

The macro is go-while... (go-while test-form body...) After every synchronisation point <! or >!, it threads the test-form in. And if it evaluates to false, an exception is raised and the go-block terminates!

The macro recursively walks through the code, and leaves everything as it is, except anywhere where it finds a (<! ...) it changes it to (<!* test ...), and everywhere it finds a (>! ...) it changes it to (>!* test ...). Then the <!* and >!* are macros that behave like the normal macros, but after the channel pull/push, they evaluate the test, and if its false, throw an Exception.

Its working really well. Pressing a button on the gamepad or keyboard when you are on the titlescreen immediately exits the go-blocks. Success! After work this afternoon I will begin on the in game flying.

Epic macro! \o/