Did you try requesting an increased upload limit at support@itch.io? They'll up it if you have a good reason.
Java Cake Games
Creator of
Recent community posts
Hi, which browser would that be? It has been tested against Chrome, Firefox, and Safari, though there are some weird edge cases (input handling does mouse or touchscreen but not both at the same time; audio needs the buttons toggled to work on iOS; looping music uses a buffer too big for Android Firefox).
I'm looking at migrating the rendering to WebGL to better run on cheap Android devices. Not using any sort of framework has been (and at this rate will continue to be) a learning experience, albeit not one I'm ready to repeat anytime soon.
The itch.io section is for topics relating to itch.io itself. Not sure any of the boards are a great fit (doubt this would be welcome in the art section) - have a browse.
While I'm here... 'A' just looks weird. The anime style suffers less from anatomical/lighting/etc. oddities compared to the other one.
The fake download ads are a bit sketchy and spam jam submissions are not an infrequent occurrence. But all in all it's a very generous site, just the fact you can upload almost anything no questions asked, even paid games where payment is taken off-platform or with itch.io's share set to 0% in the settings. I know doing that gets a bit ethically dubious, so I'll say I haven't made any money from this site, nor have I tried to.
The requirement to set a maximum, limited to 255, seems flawed for larger games, even if they are far and few between on itch.io.
For example, Old School RuneScape permits 2000 players per server, and these servers are interconnected to allow the exchanging of messages and trading of goods between them. There'd be no way to attach accurate metadata for that type of game on itch.io.
It would be more appropriate to be able to set "1 or more players" for games where the limit is either unclear (e.g. you don't know how many players it takes to break the server) or high enough that it isn't impactful (e.g. your game may support LAN parties of up to 2^16 players, but no-one is at risk of hitting the limit).
Additionally, I'm unsure on the use case for being able to set the minimum player count as 0. Maybe if it plays itself, like an attract mode?
In any case, for local multiplayer games in particular that are likely to only support 2, 4 players (additional thought: a game might not support 3 players, e.g. if it requires two teams of 2, but a range doesn't let you express that) I can see this being useful for people browsing the catalogue.
100K downloads? I feel out of touch, the way these things become popular. Looking at it, I don't think there's any grounds to get it taken down under. Game mechanics aren't copyrightable and it hasn't stolen any assets. They even changed the shape of the T block, presumably to weaken any potential claims from The Tetris Company for trademark infringement.
Alliframes
, with the exception of itch.io embeds, are now click-to-activate within project’s description, and other developer-provided fields. This is to prevent code on third-party pages from executing automatically when you navigating to someone’s itch.io page. We’ve seen scammers attempt to take advantage of how we treated iframes to initiate a download of malicious code automatically. Additionally, this change will prevent third-party services from automatically performing tracking without your consent. (Note, click-to-activeiframes
were already used in comments and community posts, this change now applies the same restrictions to the project pages themselves)
Hi leafo, I like the idea here but I'm not convinced on its effectiveness. If someone wants to initiate downloads on a project page, they can do so using an HTML5 game and checking "Automatically start on page load". Additionally, this change doesn't seem to apply to profile pages, devlogs, or the "Gameplay video or trailer" YouTube/Vimeo embed, where iframes continue to run without clicking.
Reduced tracking I'm not sold on, seeing as itch.io supports Google Analytics and the Facebook pixel, but I don't believe those services reveal raw IP addresses so maybe there is an argument to be made there.
The external links change is rather rad, though, potentially reducing phishing scams.
Why did the libGDX programmer have to use a different API to draw a Christmas tree?
Because the usual API only supported rendering rectangles, and the programmer couldn't figure out how to twist it into a tree shape!
What did the libGDX programmer give their significant other for Christmas?
A pixel art heart, drawn with the ShapeRenderer and scaled up to fill the screen! It may not have been the most impressive gift, but it came from the programmer's heart.
Why was the libGDX game so jittery during the Christmas parade?
Because the programmer was using a fixed timestep with a low frame rate, and the game couldn't keep up with all the excitement of the parade! The programmer promised to optimize the game's performance for next year's parade.
Why did the libGDX programmer put a tiny Christmas tree in their game?
Because they wanted to show off their sprite batching skills! The programmer carefully arranged the tree's triangles and quads to maximize the number of sprites drawn in a single batch. It may have been a small tree, but it was a big accomplishment for the programmer.
Why was the libGDX game so quiet on Christmas Eve?
Because the programmer forgot to add any sound effects! The game's levels were filled with silence, except for the occasional rustling of leaves or footsteps on snow. The programmer vowed to make up for their mistake by adding some festive music and sound effects for next year.
Why did the libGDX programmer have a hard time wrapping their Christmas presents?
Because they were so used to working with rectangular bounding boxes that they couldn't figure out how to wrap a non-axis-aligned box! The programmer tried their best to work around the problem, but in the end, they just had to settle for some oddly shaped presents.
Why did the libGDX programmer have to cancel their Christmas party?
Because their game was running so slowly that it couldn't handle the extra load of hosting a party! The programmer had spent so much time optimizing their game's performance that they forgot to leave room for fun. They promised to make it up to their friends by hosting a party in the game once they had fixed the performance issues.
Why did the libGDX programmer's Christmas dinner taste so weird?
Because they accidentally used the sprite font to write the recipe instead of the regular font! The instructions were all jumbled and hard to read, and the programmer ended up using the wrong ingredients in their dishes. It may have been a strange meal, but at least it was unique!
Why was the libGDX game so popular at the Christmas office party?
Because the programmer had added a special holiday mode that turned the game into a festive and fun experience! The game's levels were filled with snow, mistletoe, and gifts, and the enemies were replaced with jolly Santas and snowmen. The party-goers had a great time playing the game and spreading holiday cheer.
Why did the libGDX programmer's Christmas lights flicker?
Because they were using a fullscreen post-processing effect to simulate the twinkling of Christmas lights, and their game's performance couldn't keep up! The programmer had to turn off the effect to prevent the game from stuttering and lagging. They vowed to optimize the game's performance so they could enjoy the festive lights next year.
Why did the libGDX programmer's Christmas tree look so strange?
Because they used 3D models and lighting effects to create a realistic-looking tree, but the game's performance couldn't keep up with all the fancy graphics! The tree flickered and jittered on the screen, and it looked more like a ghost than a tree. The programmer promised to work on optimizing the game's performance so they could enjoy a beautiful tree next year.
Why did the libGDX programmer's Christmas party end early?
Because they ran out of virtual eggnog! The programmer had added a special holiday drink to their game, but they didn't anticipate how popular it would be. The guests drank so much eggnog that the game's inventory ran out, and the party had to end early. The programmer promised to stock up on more virtual eggnog for next year's party.
Why did the libGDX programmer's Christmas tree look so empty?
Because they were using a skeletal animation system to animate the tree's branches, but they forgot to add any decorations! The tree looked bare and lifeless on the screen, and it didn't have the usual Christmas cheer. The programmer promised to add some festive decorations for next year's tree.
How did the libGDX developer decorate his Christmas tree?
With sprite ornaments and pixel lights!
What did the libGDX developer get for Christmas?
A new game engine, of course!
Why was the libGDX developer's Christmas present so small?
Because it was a mobile game!
What did the libGDX developer get for Christmas from Santa?
A rendering API!
What did the libGDX developer get for Christmas from the Grinch?
A crash report!
What did the libGDX developer's friends get him for Christmas?
A new joystick for his desktop game!
What did the libGDX developer get from his secret Santa?
A physics engine!
Why did the libGDX developer have a great Christmas?
Because he had a game-changing holiday!
Why did the libGDX developer have a white Christmas?
Because he used a snow shader in his game!
What did the libGDX developer get from his grandmother for Christmas?
A new pair of headphones to listen to game audio!
Why was the libGDX developer's Christmas present so expensive?
Because it was a virtual reality headset!
What did the libGDX developer's dog get him for Christmas?
A new chew toy in the shape of a game controller!
Why was the libGDX developer's Christmas tree so square?
Because it was a sprite tree!
What did the libGDX developer get from his parents for Christmas?
A new laptop to develop games on!
Why was the libGDX developer's Christmas party so much fun?
Because it was a game jam!
All of these were generated using ChatGPT. The prompt was "Please write a Christmas-themed libGDX joke."
Or sound, whatever it was. Currently I can't reproduce any issue with sound/music not defaulting to on (note: it remembers between page refreshes what they were last set to) but I did notice a now-fixed logic error with game over. Each bugfix breaks something new - the joys of programming!
Yeah, it could probably do with providing a hint if the player fails to work out what to do within a few seconds. I think that would be a fair compromise - no-one reads instructions until they need them anyway.
I don't know what's up with the spinning. I wanted to have the ducks on the left facing to the right and the ducks on the right facing to the left, but that leaves the question of what to do with the middle duck. So I figured it could just spin around, as if it also doesn't know which way to face. But I couldn't work out how to change the decal's Z axis (rotating with the cities like the sprites do) without resetting its Y (the 3D spinning) so that's why I settled on letting it freak out whenever Z rotation is due. Somehow, multiplying its Y by 360 avoided it getting reset to 0, but obviously that's not a particularly useful thing to do. Feels like a bug with libGDX, being unable to set more than a single axis, but perhaps I'll have to do more digging for decal examples before moaning where mgsx will see in case I'm doing it wrong.
The leaderboard is recycled from my Unipop game. Was hoping to create a new backend instead of building upon the existing cobbled-together codebase, but time didn't really allow for that. I saw Anthony's Venus Wars also has a leaderboard. The fact it displays the top 5 scores in-game is neat. I wonder if his has any cheat protection? There's only so much you can do on the client side - even if it was uncrackable, someone could just use an autoclicker (in the case of my game) or something. I've only taken a quick look at the games - haven't properly played them all. My jousting skills are weak.
Glad you enjoyed it. There's probably some other game out there that's similar to this one, even if the closest I can think of would be those ones where people are ordering food or whatever and you have to fulfil their orders before they get impatient and leave. My other idea for this jam was based on Nintendo's Manhole but with three or more holes on a single level instead of two holes on two levels each, plus the addition of characters you want to fall down the holes. Didn't get far enough with it to consider how to make it - it couldn't be completely random, as you'd end up in the impossible situation of having to plug two holes at the same time.
I'm in a better mood today now that a bit more time has passed since the jam. I swear they consult a fortune-teller to schedule these things at times that conflict with personal life.
Isn't that just marmalade? Banned. Game marmalades are already a thing, just not as successful - https://itch.io/jam/marmalade
But bad marmalade. The marmalade I know looks slightly different in texture. This isn't my marmalade - it's just a stock photo.
Yesterday I was eating marmalade on toast and I think the panda or someone sent a message, so then I had marmalade on the smartphone and I think it was a few hours until I wiped it off.
Please see the project page before downloading.
TL;DR: Save any important documents before running.