Congratulations, everyone!

The jam has ended, and the voting session started already. Check out the answers to this question and the games inside them, and vote them up if you think they deserve it. Downvotes are fine if that's how you want to vote, but at least leave a comment so the creators know how they should improve.

The voting will end on Friday, the 8th of November, at 23:59 UTC.

If you wanted to participate but didn't have the chance, don't be sad! There'll be another jam next year during Winter, and it will be twice as awesome. Honest!

Original text:

Theme: There can only be one.

Ladies and gentlemen, start your code editors! The GameJam is going to start on Fri, Nov 1 2013 at 12:00 pm GMT(a nice countdown timer is here), so make sure you've read all of the below if you wish to participate. Also, take a look at our event here and feel free to register if you wish to participate (it's not exactly necessary, but recommended). We also recommend bookmarking this question to get to it quicker.

The rules

• Only one game per entrant is allowed, and the game must run in a browser.
• All publicly available libraries and middleware are allowed. All publicly available creation tools (e.g. Photoshop or 3DS Max) are allowed.
• The entrant is allowed use any premade assets as long as they're freely available on the web and the licenses allow them to be used in an open source project (e.g. opengameart.org). Assets created by the entrant during the game jam may also be used.
• The forming of teams is not allowed, but each entrant may ask questions on the main gamedev.stackexchange site, as long as the
questions are ontopic as per the rules. Alternatively, the chatroom
may also be used.
• Each entrant must release their game as open source after attaching a license of their choice. All of the games submitted during the
gamejam will be uploaded to a public Github repository.

What to do next

Once the jam starts, this question will be unlocked and the theme will be named. After you're done working on your game and feel it's ready, add an answer to this question, in which you must include:

• The name of your game and a nice description for it;
• A link to a .zip containing all of your game's sources.

For hosting solutions, in case you don't have one ready to use, you might want to take a look at Dropbox, Google Drive and Github.

What to do when the jam ends

This is the easiest part. Just take a look at what the other participants created, then decide > which games deserve your vote. To vote for a game, vote on the maker's answer.

• How long will we have to make our games? Like, how long is the Jam? – TheNickmaster21 Oct 28 '13 at 20:24
• You have until 11:59 AM Monday, the 4th of November UTC time. – user15805 Oct 28 '13 at 20:29
• Congrats to everyone that finished! Let the voting begin! – MichaelHouse Nov 4 '13 at 14:10
• When does the voting period end? – user1430 Nov 4 '13 at 15:40
• whne is the next 1? – GameDev-er Nov 5 '13 at 23:51

Like Clockwork

Program your medieval archer bot to seek and destroy your opponents' bots.

* Chrome users must go to chrome://flags and Enable Experimental JavaScript

How to Create a Bot:

Blockly is used to create all bot scripts. They have a wonderful tutorial on how to use it to get through a maze.

From the bot list, you need to log in using either your Google account (or OAuth provider, experimental). Once logged in, click Create a Bot! from the bot list. Enter a name and description for the bot, you will not be able to publish with both of these.

Drag and connect blocks from the sidebar inside the Blockly window to make a script. All blocks must be connected. The entire code block is wrapped in a while(true), so you do not need to manually create a forever loop. Here's a quick look at what you can do:

Movement

Moving costs 10 'ticks'. You can move forward or backward. If you bump into a wall, the Bumped flag will be true, but you will still lose your 10 ticks.

Turning left and right consumes 10 ticks, and turns your character left or right.

Use Facing to tell which direction you are facing. Compare this to direction block, or just use the Is Facing block if you prefer. No ticks.

Scan

All scans use 3 ticks and populate the Last Scan Result block that you can compare to the Scan Type block to see what you've scanned (Nothing, Wall, Bot, or Arrow). Scanning left or right will only scan 10 tiles, while scanning forward will scan until it hits something. (There's also a perimeter scan that I forgot to include)

Attacking

Your bots are archers with a limited quiver of 30 arrows. Shooting an arrow will cost you 10 ticks, and 1 arrow. Arrows travel at one tile per click, so it is (barely) possible to scan one and jump out of the way if you're not facing it. Arrows kill instantly (I may change this later).

If you're desperate, you can also stab your opponent, which kills any bot in the space directly in front of you. This will only cost you 5 ticks.

Pressing "Save" will give you a URL that you can keep a record of, or share, but it will not make the bot available for fights. In order to fight, you must publish your bot. Currently, there is no way to load a bot, BUT you can either use that Save URL, or let Blockly remember the last bot you were working on. It will automatically load your last working environment.

You can save over your own old bots if you provide the exact same name. If you provide a different name, a new bot will be created. There is no way to delete old bots, or mistakes, sorry. Other player's bots can not presently be seen, this is something I am working toward.

Here is an Example Bot which you must be logged in to see.

Fight!

From the bot selection screen, select one or more bots (up to 8), then press Fight Selected Bots. You will be taken to the battle ground (assuming you are actually running FireFox 26+). From here, the bots should start following their scripts and try to kill each other, trying ever so hard to be the one and only. If the battle goes well, you will be presented with a screen indicating the victor. You can press any key to replay the match.

Technology Stack

I also make use of a "future" JavaScript function yield, and was able to get this to work in FireFox, but was unable to find any docs on getting this to run in Chrome, other than the fact that Chrome has support for it, somewhere.

All of the tools (except JavaScript) used for this were new to me when I started this project.

Bugs

• Scripts can (and do) cause infinite loops, and prevent the battle from starting
• The "Scan Forward" block has a bug. If you use the "Scan **" block and select Forward from the drop down, it will correct this issue.
• When attempting to publish, you may get a JavaScript exception: Expecting code from statement block "clockwork_scan_forward". I am not sure what causes this just yet.

Fixed Post-jam:

• Using > or < in an expression will incorrectly translate as & gt; and & lt; and cause the bot's script to halt the battle ground
• Using the Repeat block translates to a for loop that uses < and will break for same reason as above

There are surely some more bugs in there. My first tester was able to halt the battle simulation, so surely there will be others. The most common symptom is that the battle simulation will either stop in its tracks, partially load, or not load at all. If any of these happen, I'd like to know which bot(s) cause this.

Wishlist

• Random start locations
• Scoreboard. Record a bot's wins and losses
• Edit scripts
• View other people's scripts, and copy them
• Position of nearest enemy (and own position)
• More maps
• Warrior and Wizard classes
• Mines, Burst arrow shots, more scan types, a block stance, etc.
• Nice work. It would be nice not to publish email addresses and have editing. I liked the use of Blockly, I hadn't used that before and it's pretty neat. – MichaelHouse Nov 4 '13 at 15:51
• I'm using the user's "nickname". I'll look to see if there's something more private – John McDonald Nov 4 '13 at 15:54
• @JohnMcDonald in case of google apps on custom domain, you show the whole email address. – MartinTeeVarga Nov 4 '13 at 16:04
• Gets my vote. Good stuff. – Almo Nov 5 '13 at 0:27
• so if I can use math and those kinda things, why there is no variable block? – Ali1S232 Nov 5 '13 at 0:55
• @Ali.S, No time. It will come – John McDonald Nov 5 '13 at 1:06
• I have made one post-jam fix to hide email addresses and email equivalents. It will now only show the first 4 characters of someone's email/"nickname". @Byte56 – John McDonald Nov 5 '13 at 2:34
• @JohnMcDonald Cool, thanks. You're now disqualified for modifying your entry after the deadline. ;) – MichaelHouse Nov 5 '13 at 4:33
• @Byte56 why? no one objected in chat.... oh... the face.... :P – Pip Nov 5 '13 at 15:35
• sweet game lots of complexety for short jam! – GameDev-er Nov 5 '13 at 23:49
• Thanks. It would not have been possible without Blockly, Google App Engine, and Yield. – John McDonald Nov 6 '13 at 17:12
• Thanks guys! And it works in Chrome* now! – John McDonald Nov 9 '13 at 4:59

TCOB1

The game genre is "endless" space racing where players are eliminated by asteroids. The last player in the game wins. The game can be played in both single player and multiplayer. Up to 4 players can compete at once. More instructions on the game page.

• Nice work. I do feel like the AI is too good (pre-cognitive almost). Or maybe I'm just bad at playing :) – MichaelHouse Nov 4 '13 at 15:09
• I like the potential for this very simplistic concept. I think the game would benefit from a mouse-follow control system. Lots of ways to expand on this simple concept. With multiplayers, I could envision the tactic of trying to push other players into the asteroid! haha – prototypical Nov 4 '13 at 17:19

Sperm Race

The game we've all won once already (except for you test tube babies), reach the egg first!

Press the space bar quickly to swim faster than your competitors. Be the first to reach the egg to win the game.

Made with Unity3D. You'll need the Unity Web Player to play. The sound file is from here: http://www.freesound.org/people/Robinhood76/sounds/163066/

• Best graphics, high realism, love it. I think the best interpretation of the theme. Just the controls feel a bit like ... ;) – MartinTeeVarga Nov 4 '13 at 14:52

There can be only one (Planet)

(I like the highlander phrasing better.)
Source

My entry is a battle of two planets in a solar system. The planets gradually gather resources, which they can use to defend their colony or to hurl objects at the opposing planet. The last planet not yet destroyed is the winner.

Gameplay

Players can allocate resources in different proportions to alter their infrastructure and ability to attack. Resources can be allocated to:

• Mass - increase the frequency and destructive capacity of attacks with more mass in orbit.
• Fuel - increase the possible launch trajectories with more fuel
• Colonies - increase population base of your planet for faster resource production
• Technology - improve LOTS OF STUFF (but only if implemented)

When attacking, a player has these options:

• Mass - Increase the size of the project above the minimum (also decreases delta-v)
• Fuel - Increase the delta-v of each launched object
• Angle - Aim the trajectory relative to the current player's planet velocity.
• Corrections - Add engines to the mass to alter its orbit mid-flight.

Technicals

This game uses the html Canvas API with no drawing framework. I did use a simple javascript requestAnimationFrame loop and component structure that I had previously built. It's available here (now with a gamejam branch!)

The planets and projectiles use an unoptimized n-body gravity simulation. Each object applies an impulse ( gravitational force and delta time) to each other object. The gravitational constant and rate of passage of time can be altered to influence the game. The simulation becomes very inaccurate at high speed.

Missing Features

1. Technology resource for gaining radar, defensive systems, projectile course prediction...
2. Correction option for attacking - Hitting another planet is really, really hard to accomplish. Basically impossible. This option would give the projectiles the ability to "home-in" on the enemy planets, which would greatly help the game on its way to becomming winnable.
3. Collision detection - This would seem to have been essential to the game, but because collisions are extremely rare, the chances of hitting a planet were only slightly decreased by not having any such check. Much like not buying powerball tickets.
4. Survivability - the chance for an impact to only partially destroy an enemy, allowing them to continue fighting. For example, by diminishing their population.
5. Strategic zoom - the ability to zoom in on an arbitary area. This would be useful to follow a planet or view a launch or hit. The objects are already drawn in a world coordinates, so this feature would only require adjusting the world translation and scale operations. There is a mousewheel event handler, but it doesn't do anything.
6. Other solar system objects for increased tactical decisions, such as nuetral planets, moons, and asteroid belts.
7. Removing the physics update from the frame limiter, to get maximum accuracy all the time.
8. Multiplayer or AI or both.
9. art and sound and stuff. A tutorial. A backstory.
• Nice work. You're right it's near impossible to hit the other planet. I had enough projectiles in space to slow the simulation down to a crawl. – MichaelHouse Nov 4 '13 at 15:16
• Pretty neat simulation. – John McDonald Nov 7 '13 at 1:50

There can only be one end of the world. In this game you play as the virus that will bring this end, but this is no normal virus it is a zombie virus (Zombies in a computer game, no way right!). You play as the virus moving through the blood stream consuming other viruses to make your zombies stats stronger to take over countries. Beware the white blood cells, if you touch one its game over, no matter how few people are left on the plant.

Big thank you to MicKLH, for allowing me to be able to post

Controls: Arrow keys || wasd

Tech: Vanilla unity3d

Any feed back more than welcome

• Nice work Martin. It's a bit long (kind of gets a little boring), but I like the premise. Congrats on creating something complete. – MichaelHouse Nov 4 '13 at 18:56
• Looks good to me :) I like it. – user15805 Nov 4 '13 at 20:33
• I like the blood stream simulation and the backstory. I did not expect that at the end of level :) Thumbs up. – MartinTeeVarga Nov 5 '13 at 5:57
• ya its to long and slow – GameDev-er Nov 5 '13 at 23:51

Exit Vector

A game where you must clear every exit except the one you use to win the level (which must not be touched). Uses straight canvas to render and box2d for physics.

• Does that mean the ball is supposed to touch all the starting boxes except one? – MichaelHouse Nov 4 '13 at 14:49
• @Byte56 Yes, that's it. – MartinTeeVarga Nov 4 '13 at 14:57
• OK. I guess I just wasn't waiting long enough for it to settle. Thanks. – MichaelHouse Nov 4 '13 at 15:06
• @MickLH - very nice! Finished three levels and will play more. But there are bugs - when I finished 3rd stage, I saved my progress, then after load it would always say: Too many goals reached after touching one... Anyway you could make it into a full-fledged Box2D sandbox tool. – MartinTeeVarga Nov 4 '13 at 15:09
• Sorry for subjecting you all to bugs, I only ended up with like 12 hours to work on it. I forgot to make it count the number of goals after loading, but to be fair I'll leave it as it until after judging. – MickLH Nov 4 '13 at 16:17
• not much to do with the theme :/ – GameDev-er Nov 5 '13 at 23:50