

Expect winners to be announced next weekend (I need to play through all the qualifying games first! 22 submissions btw, you're amazing!) Submission deadline reached. You can see/play the games at http://gsgc2018.gynvael.tv/ (I'll add source codes in a few days).Expect winners to be announced next weekend (I need to play through all the qualifying games first! 22 submissions btw, you're amazing!)

P.S. If you like this challenge, please help me spread the word around - there were 13 submissions last time, let's aim at beating that record :)

EDIT (2018-08-04):

EDIT (2018-07-24):

EDIT (2018-08-05):

EDIT (2018-08-16):

In some cases I might agree to the winners request for a giftcard at a different internet store, but this will be considered at a per-case basis.

Best Game Award

Best Game Award

EDIT (2018-07-24):

Added 2018-07-25:

Added 2018-08-16:

For some reason it's summer in the northern hemisphere. This means it's time for another gamedev challenge - a game programming competition where the rules are made up (by me) and the limitations/constraints put in place are pretty challenging. And, as previously, there are rewards as well!Without further ado, welcome to the2018!Create a game that meets the following requirements:• The game is a single-player real-time shooter.• The game is made in client-side web technology that runs by default on the newest stable Chrome on Windows 10 (1803) - yes, that means• The size of the whole game (i.e. sum of sizes of all the files) is(everything, including all art, fonts, etc).• All the game files and directories must use the 8.3 filename format (i.e. 8 letters for the filename and 3 letters for the extension or less). There cannot be more than 20 files + directories in total.Minor exception for the 8.3 naming - feel free to use .html and .wasm extensions as well (but only these two; the 8-character file name limit still applies in these cases).• The game rendersdisplayed graphics into one canvas element that has exactly 360x400 pixels in resolution (i.e. 360 pixels wide, 400 pixels high). The canvas must be stretched to fill the whole window (100% width, 100% height). Please note that this means individual pixels will be rectangular (like bricks), almost 2 times more width than height.Please add 'image-rendering: pixelated;' to your canvas element's CSS style - this is how I will test each game, with canvas being pixelated.Example HTML file with proper canvas settings: gsgc2018.html (ctrl+u for source), screenshot on fullscreen Feel free to use default CSS mouse cursors/pointers (auto, default, crosshair, pointer, move, e-resize, ne-resize, nw-resize, n-resize, se-resize, sw-resize, s-resize, w-resize, text, wait, help, progress) or none (in this case your game might have to render the mouse cursor on the canvas if you need it). The(though using none and rendering your own cursor on the canvas does). Please note that using cursor: url() is not allowed.• The canvas cannot display more than 32 distinct colors at the same time.• The text in game, if any, must be in English.• Submission deadline is 2nd of September 2018 at 11:59pm (23:59) CEST (i.e. GMT+2) • Games must be submitted by sending a link to a downloadable package (hosted e.g. on Google Drive or something similar) and SHA256 of the package (see FAQ on how to get SHA256 of a file, it's at the bottom), to the following e-mail address: gynvael+summer2018@coldwind.pl (please also add a comment under this post to confirm that you've sent an e-mail - otherwise I won't know that I didn't get an e-mail and can't debug it).• Source code and all the scripts used to build the game MUST be included in the submitted package (alongside the ready-to-test directory with the game). By submitting the game its author(s) agree to the game being re-hosted by me for anyone to download and test once the competition is over. I won't be doing anything weird with the game after the competition, but I want participants to learn from each other after the compo is over.• If you are using assets/sfx/music/etc created by someone else, please make sure their license allows you to use them for. Please note that some licenses require proper attribution - be sure to meet these requirements.• Games not following the rules/constraints will not be able participate in the competition.• When in doubt, ask in the comment section below.All prizes will come in a form of afor either amazon.com / .co.uk / .jp or .de, or steam (author's choice).Top 1: 200 USD (or equivalent in different currency)Top 2: 150 USD (or equivalent...)Top 3: 100 USD (or equivalent...)Honorary awards (if any): 50 USD (or equivalent...)• There are no written-in-stone rules about that, but...• I'll focus on the overall game quality (gameplay/is it fun to play, aesthetics, graphics, sound, etc).• I will totally ignore source code quality - please focus on the gameplay/etc. If the game crashes, but is in general playable (i.e. crashes are rare), I'll ignore the crashes too.• One of my PCs must be able to run the game smoothly (I will test the game on one/both of the following specs: i7 8-core/16-thread 128GB RAM with GTX 980 Ti and/or i7 4-core/8-thread 32GB RAM with GTX 1080 Ti).• I will generally try my best (including consulting the game author if needed) to make sure that the game is running as intended by the creator, as long as eventual patches / resubmissions are within the deadline mentioned in above sections.• If I will invite more judges to participate (e.g. if I feel the need for a second opinion or it turns out half of my family is taking part in the competition) they will follow the same guidelines.• Be sure to remember about the game having some sound effects. Music is a nice-to-have, but I don't mind if it's not there.• Browse through OpenGameArt.org and similar sites - you can find good quality art there.• Browse through the FAQ section below - there are some additional hints / explanations there.• Look at older / indie games for inspiration.• You might also want to take a look at an archived video of this livestream - #46: How to approach competitions You might want to add 'image-rendering: pixelated;' to your canvas element's CSS style - this is how I will test each game, with canvas being pixelated.Q: JavaScript? In Chrome? Seriously?!A: Yes. Think of it as a challenge! Also, with a little bit more tinkering you can use e.g. C++ or Rust and compile it to WebAssembly (there are tutorials out there on how to do connect WebAssembly with canvas, or how to minimize the size of a WebAssembly binary output file).Q: But I don't know JS...A: Isn't this a great opportunity to learn then? Also, see the above note on WebAssembly.Q: People who know JS have a HUGE!!1 advantage.A: Please note that I won't be looking at the source code of the game, but at the game itself (the gameplay, the overall feel, the aesthetics). And somewhat (un)surprisingly, you can win a gamedev competition without being an expert in a given programming language.Q: Can my game download something from the Internet?A: No. The test machine(s) will not have any network connection.Q: Can I grab resources which are by default on the disk?A: This won't work. The game will be hosted on a local HTTP server before testing, and the server will be set in such a way that only the files from the game directory will be served (i.e. the ready-to-test package mentioned above).Q: So if I create a symlink that resides in the game directory but points to a resource in a different part of the filesystem...A: No. Assume that symlinks won't work. Don't use them.Q: What will be MIME types of the served files?A: Whatever you need them to be - feel free to write down special requirements in a readme file. By default I'll rely on simple extension to MIME mapping, maybe with some help from libmagic.Q: Can you add this specific HTTP header to be sent with some files?A: No. No additional headers I'm afraid.Q: Will your HTTP server send any Content-Encoding headers (gzip/br/deflate/etc)? I.e. can we benefit from HTTP transport encoding (compression) possibilities with regards to the file size limit?A: The server will not send any Content-Encoding header at all. As far as I have previously tested Chrome DOES NOT attempt any decompression algorithms in such case. So no, this will not work.Q: What if let's say... I have a trick that actually makes newest Chrome decompress such compressed data stream?A: Should be fine, but please contact me first so I can double-check this.Q: Why the file number / file name length limit?A: The file name (especially of the main .html file) can be used in a clever way to bypass the size limit . Let's not go there this time.Q: Does "20 files + directories" mean 20 files and 20 directories?A: No, that would be 40. The number 20 stands for the total number of both files and directories (so e.g. '10 files and 10 directories', but not '11 files and 10 directories').Q: What fonts do you have installed on the test machines?A: Assume the default (i.e. fonts present after the operating system is newly installed). If you need to use any more fonts be sure to embed them in the submission (keep in mind the size limit though).Q: Can I use any minifier / this custom compression trick I know?A: Sure. As long as it works on the newest stable Chrome on Windows 10 that's fine with me.Q: Will this one specific feature be enabled in the browser during judging?A: Please ask in the comments - I'll check. A safe rule of thumb is to assume only the features which are enabled by default in the newest Chrome version (at the moment of judging) are actually enabled, and no other features are.Q: Will WebGL / Webassembly be enabled in the browser during judging?A: Yes (these are enabled by default).Q: Will the Same Origin Policy be disabled?A: No, it will be enabled.Q: Can my game be a Chrome Extension / Plugin?A: No. The game must basically be a standalone website.Q: Are Flash / Java Applets enabled?A: No.Q: Can I use this one specific library/engine/etc in the competition?A: If the given library's/engine's/etc's license allows using it for commercial purposes and redistribution (without others having to pay any fees), then it's OK to use it. Please remember that its size still counts towards the 31337 byte limit and that the file names / directory names must adhere the rules.Q: 31337 bytes? That's not a lot...A: It's enough :) Size optimization is quite fun and there is a multitude of ways to approach this.Q: When will the results be announced?A: September or early October. I'll try to be as fast as possible, but it does usually take some time (it also depends on submission count).Q: I never took part in any gamedev compo like this. Can I still participate?A: Sure! It's a great learning experience!Q: Can I blog / tweet / livestream the making of my game?A: Sure. Keep in mind that you will be revealing your ideas to other participants this way (it's within the rules to do it though).Q: Can I create a game with my friend(s)/team/etc?A: Yes!Q: My friends are graphic/music/etc artists, can they help me?A: By all means!Q: Does the game have to explain the basics ingame, or can a simple guide/manual be part of the submission?A: It doesn't have to be in-game - a readme.txt or a similar guide attached to the submission is fine. This manual won't count towards the limit.Q: So, can the game load the readme.txt file and use resources/code hidden in it?A: No, the readme.txt is not part of the submission per se and so the web server will not allow the game to download it.Q: 32 colors only?A: 32 colors at once. I.e. on one frame there can be a total of 32 different colors (distinguished by their 24-bit RGB values) at most. However you can change which colors you display between frames.Q: So... I can have e.g. 32 greens on one frame, and then switch to 32 reds for the next frame?A: Correct. As long as on a single frame there are no more than 32 distinct colors, we're good.Q: What about text anti-aliasing? That might add additional colors...A: Be sure this is properly handled in your code. There must never be more than 32 distinct colors on a frame.Q: What size will the browser window be when testing?A: I will test on full screen (F11) on either a 1920x1080 LCD, or a 4K one.Q: That's a pretty weird resolution btw. 360x400? What's up with that?A: Surprisingly, there were games in the past that used similar resolutions.Q: I would like to become a sponsor to make the awards more awesome!A: Sure, get in touch :) (you can find my e-mail in the About section)Q: Can I add a CSS background-image/background-color/etc to the canvas?A: No. As the rules say, all the graphics must be displayed on the canvas (therefore it must be fully opaque, i.e. cannot be transparent in any place).Q: What's SHA256? How to get SHA256 of a package?A: It's a short SHA256 is a (256-bit) number calculated out of a data set (e.g. file). Basically you give whatever-tool-calculates-it a file as input, and it gives you the number as output. The number is semi-unique for each content of the file, and it's pretty hard to fake the number or have another file (with different content) generate the same number by accident (i.e. it's proof that your package didn't change after submission and I can use it to verify if the file was downloaded correctly).An example SHA256 looks like this: 559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd (that's SHA256 of a file containing single letter A).To calculate SHA256:- on Linux/OSX run (in a terminal): sha256sum game_package.zip- on Windows run (in a terminal): certutil -hashfile game_package.zip sha256(assuming that the game_package.zip file is the game package you want to upload and submit for the competition)If none of the above work for you, it's quite easy to google out another tool to calculate the SHA256 of a file :)NOTE: If you're re-submitting a newer version of the game, you need to send me the new SHA256 as well.Q: What's with the mouse cursor rule addition so late in the competition?A: I've got a question about it now and therefore had to decide on it. Since it's pretty late in the competition (~2 weeks left) I didn't want to straight out ban default cursors (this would be in the spirit of resolution/color rules btw), since I expect a lot of games will have it enabled even if it's not used and it would be a silly reason to ban otherwise great games from a competition (please note some games were already submitted). Given this I decided to allow the default cursors (i.e. the ones enumerated on this W3 wiki page ), as well as allow turning the cursor off completely (if one wants to render the cursor in game). That being said, please note that custom cursors (using url() value) are off limits and must not be used.Q: So why doesn't the default cursor's colors count towards the color limits?A: There are a couple of reasons, but in the end it's because the cursor just doesn't matter that much, especially that if it was left default (and therefore doesn't bring anything to the game). And again, some games were already submitted, so I didn't want to introduce any rules that would make these otherwise correct submissions suddenly breaking a new rule with authors potentially not having the chance to make changes - that just doesn't sound fair. So I decided that ignoring the colors on default mouse pointers is the best option.See also the comment section for possibly more questions and answers. Feel free to also ask there if you have any questions.Have Fun, Good Luck!