remvst

[js13k] Glitch Buster

Recommended Posts

Hello there,

It's been a while I haven't posted anything here, mostly because I don't have that much time for game dev anymore, but here is my entry for js13k 2016: Glitch Buster.

screen01.pngscreen02.pngscreen03.pngscreen04.pngscreen05.png

The game's goal is to dive into a code base, and fix all 13 glitches within the time limit. You'll need to avoid the scary and sometimes unpredictable pointers.
You can also use breakpoints that you will find in the levels as grenades.

All levels (except the tutorial) are randomly generated, in a very similar way to Spelunky.

The game is not 100% done yet, I intend to spend a tiny bit more time on optimizing, balancing, testing across devices...
In terms of features, I only have 178 bytes left to play with and I'm out of compression tricks, so I probably won't be able to add anything too crazy anymore (I'm already surprised I was able to fit sound in there).

You can play it at http://glitch.tap2play.io/

Let me know what you guys think :)

Share this post


Link to post
Share on other sites

It just remind me the movie "wreck it ralph" :)

great art work and good visual effects, I was feeling uncomfortable with less field of view, can u please increase field of view little more? I mean just zoom out a bit....

Share this post


Link to post
Share on other sites
14 hours ago, Ousaf said:

great art work and good visual effects, I was feeling uncomfortable with less field of view, can u please increase field of view little more? I mean just zoom out a bit....

Thanks for the feedback, that's actually something I tried before and didn't follow through because it messed with a lot of things. But you're not the only one to have complained about it, so I made everything a little smaller (80% of its original size).

Other than that, I'm still working on a couple tweaks, like item spawns that tend to be too frequent in the last levels. Maybe enemies will drop items when dying instead, not sure yet.

Breakpoints need to be adjusted as well, I may just make them sticky instead of bouncy, and add a visual indication of where they will fall.

Share this post


Link to post
Share on other sites

I think also providing a full screen option will make the experience feel more complete on both mobile and desktop. BTW, here is some code to check to see if the device is mobile or not, it will remove the need for the style selection page.

window.mobileAndTabletcheck = function () {
    var check = false;
    (function (a) {
        if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
    })(navigator.userAgent || navigator.vendor || window.opera);
    return check;
};

 

Share this post


Link to post
Share on other sites
45 minutes ago, Firenibbler said:

I think also providing a full screen option will make the experience feel more complete on both mobile and desktop. BTW, here is some code to check to see if the device is mobile or not, it will remove the need for the style selection page.


window.mobileAndTabletcheck = function () {
    var check = false;
    (function (a) {
        if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
    })(navigator.userAgent || navigator.vendor || window.opera);
    return check;
};

 

The mobile/desktop screen actually has nothing to do with touch screens or not. It's only for the quality of the graphics ;)

For the full screen, because of the way if is compiled, it might be very complicated. I'll give it a try though.

Share this post


Link to post
Share on other sites

I updated the game (still available at ) and am planning to submit tomorrow, unless something major comes up.

Some of the updates include:

- new HUD style, emphasizes on what's important
- larger field of view
- larger screen on desktop
- no quality prompt on desktop anymore (though still present on mobile)
- difficulty tweaks, especially item drops
- updated map generation
- animation adjustments
- slightly better performance
- visual help when throwing breakpoints/grenades
- ... aaaaaand a lot of byte squeezing

Let me know what you guys think :)
 

Share this post


Link to post
Share on other sites

Just a quick update, since js13k is over now, I was able to squeeze more things in the game, such as the pause menu, and the ability to select the quality (high res/low res).

On a side note, if you wish to support my entry, feel free to go to http://js13kgames.com/entries/glitch-buster, and hit the tweet button.

Thanks :)

Share this post


Link to post
Share on other sites
2 hours ago, kiz10 said:

Hi Remi

Please can send price for non-exclusive for http://kiz10.com ? only logo and splash , if have more games send me links please

Please send to this mail tomy.kiz10@gmail.com

Kind Regards

Tomy

Kiz10.com

Apparently you guys didn't wait to put the game on your webite

Capture d’écran 2016-09-17 à 17.44.21.png

Share this post


Link to post
Share on other sites

hi Remi,

i 'm a newbie in comparison of you. But can you explain a little more the benefit of your compiler ? 

have you some good documentation for me about the usage of a compiler ?

i see that your game is very fast and reactive...

 

Share this post


Link to post
Share on other sites

Thanks Benny :)

On 28/09/2016 at 4:51 PM, espace3d said:

hi Remi,

i 'm a newbie in comparison of you. But can you explain a little more the benefit of your compiler ? 

have you some good documentation for me about the usage of a compiler ?

i see that your game is very fast and reactive...

Sorry I didn't see that message earlier.

In the case of js13k, I use my own compiler simply because I can make it more efficient than just minifying the code. Minifiers can't make certain assumptions, especially in terms of mangling.

Making the same game with just a regular minifier isn't possible imho. To give you an idea, if I turn off my custom mangling, I'm 1628 bytes over the limit...

Anyway, the compiler is on Github: https://github.com/remvst/js13k-compiler

I may write an article about it, but I feel like it's too late now.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.