Hugo Simoes
simple living, careful thinking, collective fun


Category: WarpChase

I have merged Cross-Pollinator and PrequelBots into a new website: logo

Find the signup procedure explained in a previous blog post (simply replace PrequelBots with

Users of the old PrequelBots website had their accounts migrated to the new and can now enter the daily challenge leaderboard using the same login.
Users of Cross-Pollinator can now choose their Libravatar and no longer need a BZID.

Play games, build bots, join

April 30, 2022, PrequelBots, Cross-Pollinator, WarpChase

WarpChase - improved UI

WarpChase has been merged into PrequelBots.
Its user interface is more streamlined and these changes have given me the opportunity to design the following bug/debug icons:

Bug/Debug icons

I have removed the feature that spontaneously accepted user contributions from forked repositories.
(As I had later realised, this feature was technically limited to about 30 users anyway.)
I believe the feature will not be missed since users can still see their bots interacting with others at the new website and they no longer have to share their code to do so.

I have more updates planned by the end of the year.
Until then, happy Prequel programming! :)

EDIT 2022/05/03: PrequelBots link updated.

November 22, 2021
WarpChase, PrequelBots, Prequel


My most recent project is a hub for bots written in Prequel.

PrequelBots logo

PrequelBots features multiplayer Prequel programming games, with WarpChase being the first game available (of a few others currently planned).

Registered users will be able to study their uploaded PrequelBots by observing/debugging the least performant instances found.
Furthermore, a leaderboard is provided, allowing users to see the rank of their PrequelBots.

Sounds interesting? At the moment the website is not feature complete, but early adopters will be rewarded for their contribution when the time comes for a production release.

Grab the limited opportunity to sign up for a free account at PrequelBots.

EDIT 2021/11/22: WarpChase link updated.
EDIT 2022/05/03: WarpChase and PrequelBots links updated.

August 31, 2021
PrequelBots, WarpChase, Prequel

PrequelBots sharing made easy

There is a new button in WarpChase to load programs from GitHub.

WarpChase PrequelBots

PrequelBots are gathered on the game website from user contributions in GitHub.

In order to appear in WarpChase, you just need to fork a specific repository, place your PrequelBot code into a file with a name ending in ".pre" inside directory "/warpchase/", and wait until an automated script validates your source code in a match together with two other PrequelBots.
Currently, your PrequelBot has to win one of up to three matches between two RandomBots.
In the future, the bar can be slightly raised by replacing one of the RandomBots with a GreedyBot, if needed.

EDIT 2021/11/22: This feature is no longer active.

March 29, 2021
WarpChase, Prequel, PrequelBots


WarpChase is a multiplayer game I have created to showcase my Prequel programming language.

At first, I tried to find a game written in JavaScript where I could then plug in Prequel to control its players input.
The interesting games I could find did not suit me and soon I have realised it would be best to create a game tailored to my needs...

WarpChase screenshot

WarpChase is a one button game with just enough ingredients to make it interesting.
You can play solo or with others. Cooperatively or competitively. You can focus on attack or defense. On getting points or taking them from others.
The mechanics are simple: catching a grey ring gives you a point; catching a red ring allows you to chase other players temporarily, removing 3 points from each player you catch during this period.
Your player is continuously rotating clockwise, until you touch/click the game area (or call WARPCHASE.ACTIVATE) which makes it move forward. Once you stop touching/clicking (or call WARPCHASE.DEACTIVATE) your player starts rotating in the opposite direction.
Also, objects wrap around screen edges, thus deriving the "Warp" part of "WarpChase".
That's it. Simple, but with enough tactical decisions to make it interesting.
(Note that the graphical representation will change as soon as a visual artist puts their hands on it. So, for instance, what I now call a ring might turn out to be represented differently.)

Developing a bot for WarpChase is conceptually easy. Each Prequel program is given a snapshot of the game state (how many players are in the arena; who is playing on which team; their score; the relative positions of the players, points and powers; how many ticks have elapsed and so on) and simply has to decide whether to call WARPCHASE.ACTIVATE or WARPCHASE.DEACTIVATE.
There is no limit on how long it takes to reach a decision, but the game moves on... After all, this game is not turn-based, it is a real-time system. If a bot takes too long to decide, the snapshot of the game state will be increasingly out of date.

Give it a try.
Feel free to contact me if you are stuck developing a Prequel bot.
Enjoy! :)

EDIT 2021/11/22: WarpChase link updated.
EDIT 2022/05/03: WarpChase link updated.

December 30, 2020
WarpChase, Prequel