Game Jam #4
 

Battle ended 2020-06-28 12:00:00

14 Entries

 
Info and Rules
 
Results
 
Hear All
 
14 Entries
 
Donload
 
Comments
122307
Level 30 Mixist
post #122307 :: 2020.06.07 11:45am
  
  DevEd, argarak, Jakerson, amelia and kleeder liēkd this
i was really hoping the theme would be "potato"
 
 
122309
Level 30 Chipist
post #122309 :: 2020.06.07 11:52am
  
  DevEd, argarak, Jakerson and puke7 liēkd this
 
 
122310
Level 30 Chipist
post #122310 :: 2020.06.07 11:53am
jk, this is a cool theme
 
 
122313
Level 11 Mixist
post #122313 :: 2020.06.07 1:40pm
  
  null1024, Tilde, Jakerson and puke7 liēkd this
time to learn html i guess
if i dont make it out alive tell my family i love them
 
 
122315
Level 19 Pedagogist
R3M
post #122315 :: 2020.06.07 1:52pm
  
  puke7 liēkd this
would someone post a list of js frameworks that could be helpful for people?
 
 
122316
Level 25 Chipist
post #122316 :: 2020.06.07 2:07pm :: edit 2020.06.08 10:50am
  
  mootbooxle, boscutti939 and insertkey liēkd this
Game engines like godot and stencyl and unity and construct and gamemaker have html5 export but because of browser security stuff they either require a server running to be opened locally on web browsers or enabling the --allow-file-access-from-files flag in chrome. (example server run with python: python -m http.server 8080 in the source directory, and then opening http://localhost:8080/),
 
 
122320
Level 26 Mixist
post #122320 :: 2020.06.07 7:10pm
  
  Pale Dim, Lia and kleeder liēkd this
i will play and speedrun these things on twitch (`・ω・´)
 
 
122321
Level 28 Hostist
post #122321 :: 2020.06.07 7:57pm
  
  DevEd hæitd this
  
  A-zu-ra and kleeder liēkd this
sorry to bust any bubbles
but entries should really be stand alone
as in they contain all their components
and don't require the user to do more than open an .html document in a modern browser
 
 
122328
Level 23 Chipist
post #122328 :: 2020.06.08 4:01am
i mean, you can link or embed the phaser library in an html document, right........
 
 
122329
Level 31 Chipist
post #122329 :: 2020.06.08 5:11am
  
  DevEd, argarak, kleeder and Jakerson liēkd this
iz diz summar ships?!!!111 …...
 
 
122332
Level 28 Hostist
post #122332 :: 2020.06.08 8:18am
if you hotlink a library who is hosting it?
will it be there indefinitely?
would the disappearance of said library from the internet break your game in the long run?
 
 
122336
Level 26 Mixist
post #122336 :: 2020.06.08 9:54am
  
  puke7 liēkd this
what if you just throw the library in the zip folder with everything else
 
 
122337
Level 19 Chipist
post #122337 :: 2020.06.08 10:12am
>sorry to bust any bubbles
>but entries should really be stand alone
>as in they contain all their components
>and don't require the user to do more than open an .html document in a modern browser

This is kind of a huge problem since I'm making my game in GameMaker:Studio, which requires you to run a local webserver in order to play HTML5 games locally. I feel like I don't have time to learn HTML5 properly or learn a different tool. Would it be at all possible to make an exception for this? I really don't want to throw all my hard work away...
 
 
122338
Level 28 Hostist
post #122338 :: 2020.06.08 10:14am
  
  null1024, kleeder, tennisers and DevEd liēkd this
pretty much have decided html5 for gamejam is too much work for me to answer all the questions so we're just gonna do tic80 after this one from now on
 
 
122339
Level 11 Mixist
post #122339 :: 2020.06.08 10:37am
Okay, big noob here... Spritesheets? How?
 
 
122340
Level 25 Chipist
post #122340 :: 2020.06.08 10:41am :: edit 2020.06.08 11:14am
crop out individual sprites from the png file with GIMP or any other image editor you like that handles transparency
 
 
122341
Level 30 Chipist
post #122341 :: 2020.06.08 10:48am
  
  insertkey, DevEd, boscutti939 and tennisers liēkd this
>paint

no pls do not use paint for editing images with transparency x.x
 
 
122342
Level 11 Mixist
post #122342 :: 2020.06.08 11:40am
b u t h o w d o i p u t t h e m i n t h e t h i n g
 
 
122348
Level 27 Chipist
post #122348 :: 2020.06.08 1:45pm :: edit 2020.06.08 1:52pm
  
  argarak, A-zu-ra, amelia and kleeder liēkd this
my game currently just embeds the sprites I'm using directly in the code to ignore all of those pesky "this needs to be loaded from a server because accessing local data is dangerous" issues and I didn't feel like using not-canvas ways to draw the screen

something like

var img=new Image();
img.src= 'data:image/png;base64,[MASSIVE SPEW OF BASE64 DATA LOL]';


and I used the base64 utility to generate that spew of data
something like
$ base64 -w 0 < sprites.png > sprites.txt
(I'm on Windows, but I've got WSL installed -- there's other ways to do it)
then, you copy that text file in, replacing the [MASSIVE SPEW OF BASE64 DATA LOL] bit but leaving the rest

also, you'll need to wait until the image is loaded
my game throws the actual game code in a main() function and has it get called when the data is decoded
img.addEventListener('load', main, false)

like, I cut out the sprites I'm using in GIMP, the whole sheet as base64 would be huge lol

drawing the sprites from a loaded sprite sheet is ezpz, look up ctx.drawImage
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage

in particular,
ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);

image is that image we loaded, sx/sy are where on the sheet to draw from, swidth/sheight are how wide/tall the sprite on the sheet is, dx/dy are where to put it on the canvas, and dwidth/dheight are optional parameters that say how wide/tall to scale the sprite to (so you can scale sprites)


also, I'm not going to lie, I expected this to be a tic-80 compo lol
oh well
doing it on a JS canvas isn't too hard, just has some weird gotchas
 
 
122350
Level 24 Chipist
post #122350 :: 2020.06.08 2:13pm
  
  amelia and kleeder liēkd this
another way of getting the image data that I'm using is by using a simple <img> tag (this is especially useful if you're loading in the entire spritesheet like I'm doing, if you're using a lot of smaller sprites then base64 may be better)

if you put this in your html body:

<img id="spritesheet" style="display: none;" src="botb-spritesheet.png"/>

you can then use ctx.drawImage like this:

let spritesheet = document.getElementById("spritesheet");
ctx.drawImage(spritesheet, ...)


there aren't any CORS issues with loading a simple image as long as it's in a directory the html file can access. though make sure the image is loaded first before you draw it in canvas

oh and a useful tip: if you want to maintain crisp pixel edges when scaling images in canvas, you can place this code after you get the canvas context:

ctx.imageSmoothingEnabled = false;
 
 
122352
Level 27 Chipist
post #122352 :: 2020.06.08 3:17pm :: edit 2020.06.08 3:24pm
  
  argarak and kleeder liēkd this
"there aren't any CORS issues with loading a simple image as long as it's in a directory the html file can access. though make sure the image is loaded first before you draw it in canvas"

huh, I could have swore I had issues with that a while back, or maybe I'm misremembering
oh well, if it works, it works

"ctx.imageSmoothingEnabled = false;"

neat, thanks
 
 
122365
Level 23 Mixist
Lia
post #122365 :: 2020.06.09 2:20am
  
  Jakerson and Yung Gotenks liēkd this
Imagine not embedding chiptune.js to play all your music and sound effects
 
 
122502
Level 27 Chipist
post #122502 :: 2020.06.12 4:59pm
  
  Jakerson, Lincent and kleeder liēkd this
How far is everyone? I'm almost done, just doing some final polish and checking for bugs.
 
 
122504
Level 19 Chipist
post #122504 :: 2020.06.12 6:28pm
  
  Jakerson and Lincent liēkd this
still need to finish the final part + add ingame music (not even written yet)
 
 
122508
Level 15 Codist
post #122508 :: 2020.06.12 11:43pm
Please Play My Game
 
 
122516
Level 27 Chipist
post #122516 :: 2020.06.13 12:44am
aaaand, I'm done
feels good

(and then it turns out there ends up being an extension and then I have to beef things up lol)
 
 
122517
Level 13 Chipist
post #122517 :: 2020.06.13 2:18am
  
  insertkey liēkd this
Extension wouldb e nice, even a day (Then i would have time to get some cool stuff like detecting custom beatmaps for the rhythm gaem)

I understand if no though. :<
 
 
122518
Level 30 Chipist
post #122518 :: 2020.06.13 2:39am
  
  Lincent, argarak, amelia, DevEd, Lia and insertkey liēkd this
a 1-day-extension would be cool because i have like no time until sunday evening and final polishing is always a good thing. not necessary tho
 
 
122536
Level 11 Chipist
post #122536 :: 2020.06.14 12:40am
  
  null1024 and kleeder liēkd this
hey guys, unfortunately I caught this one too late, had to submit an assignment which was 4 days late, there goes 20% :c

I'll try tic80 maybe next game jam :o
 
 
122580
Level 27 Chipist
post #122580 :: 2020.06.14 3:42pm
  
  kleeder liēkd this
Well, this was fun.
Some seriously cool entries in here.
 
 
122745
Level 19 Chipist
post #122745 :: 2020.06.16 11:22am :: edit 2020.06.21 5:01pm
  
  Jakerson, Pale Dim, null1024, kleeder and Baron Knoxburry liēkd this
azura stream when

EDIT 2020.06.18: AZURAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
EDIT 2020.06.19:
AZURAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
EDIT 2020.06.20:
AZURAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
EDIT 2020.06.21:
TENISEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEERS
 
 
122923
Level 25 Chipist
post #122923 :: 2020.06.21 8:41am :: edit 2020.06.21 9:52am
  
  Pale Dim, DevEd and null1024 liēkd this
i'll stream the entries at 12:30 EST https://www.twitch.tv/tennisered1
 
 
123138
Level 28 Hostist
post #123138 :: 2020.06.28 10:44am
  
  kleeder and charlotte liēkd this
sorry botbrs,

i won't be doing a result stream for this today
 
 
123171
Level 30 Chipist
post #123171 :: 2020.06.29 3:17am
Average Score: 21.531
 
 
123178
Level 27 Chipist
post #123178 :: 2020.06.29 1:12pm
  
  argarak and kleeder liēkd this
So, what did we learn/get from this compo?
This is a general question for all of the entrants.

I had fun doing my entry. A lot of my time very early on was spent doing stuff that tic-80 does automagicially (spritesheets, getting graphics on screen, proper frame limiting in JS instead of just hoping vsync on your machine was 60hz), which bit into my time hard. One week was enough for me to get an idea out comfortably... but not much more than that.

I wanted to polish a few things up, add alternate modes to give the game some longevity, that sort of thing, but the remaining time I ended up having wasn't really enough to do anything too much without the high likelihood of having to abandon the additions before the deadline.

I dodged this issue because I did everything from scratch, but a few games had to be server hosted to work. A lot of webdev stuff in general assumes some kind of server at all these days. Also, some features just outright break depending on user config (like when I added score saving).
It's not nearly the graceful break I expected either (because I'm a dumdum who didn't read the docs completely and didn't wrap the functions to check since the feature was old enough that every browser that should be able to play the game would also have local storage support), but there's a lot of stuff that can just get pulled out underneath you, and dealing with it is added effort.

Really hoping that next time, next when, we do TIC-80 again.
 
 
123182
Level 25 Chipist
post #123182 :: 2020.06.29 6:20pm :: edit 2020.06.29 6:29pm
i learned how to use godot which took a while because i had mostly only used stencyl and puzzlescript for games before, but it was mostly intuitive once i got my head around it.
 
 

LOGIN or REGISTER to add your own comments!