Hello! This is where I’ll post my dev log for my JavaScript Game Jam game! If you have any questions about me, this dev log, javaScript, or really whatever, feel free to ask them here.
This version will update as I code:
Other links will be snapshots of my code at the time of posting and will not update, so that future readers have context
Dev log #1: The idea and the concept art.
Ok, for this game jam I came up with the theme “Floating”. I wanted the theme to be fairly general while also inspiring games that were not just themed platformers, so I really liked this theme idea.
This theme reminds me a lot of outer space, and since I just made a space game for the Destruction mini game jam, I thought I might be able to expand on that idea of a space adventure. Since I came up with this theme even before my first announcement, I had quite a large head start. I also wanted to have a dev log ready on launch, so I started brainstorming. The trick to brainstorming ideas is writing them all down, no matter how dumb they sound! Even if they don’t fit the theme at all. After writing down around 15 ideas, I narrowed them down to some basic ideas that I wanted to combine into one game:
- trapped in space in broken spaceship
- gather resources from asteroids
- fly around in a space suit with a jetpack
I also had some other design goals I wrote down:
- cursor controlled movement
- mess around with palette changing
- dialogue… uggg
For those who haven’t noticed, my games don’t usually have dialogue, and if it exists there is always a way to skip through it as fast as possible. It’s also usually done in the laziest way possible (for example, my Infested game has dialogue using the Splash block that you can skip through easily or avoid entirely.) This is because dialogue is one of my biggest pet peeves in games. It’s the reason I haven’t played much of the Makecode Forums series, and is why I was kinda glad when this month’s mini game jam was not Game Show themed (even though Richard said it would be on stream, which is why ADM_F was disappointed)
Anyways, I think that my dislike of dialogue comes from being forced to read text so much slower than the speed I normally read at, as well as being unable to skip it, so I want to create a dialogue system that doesn’t have those annoying flaws.
With these ideas in mind, I started drawing some stuff. My main plan is to make a game where you wake up in a ISS-like ship that has been destroyed somehow. The ISS is module, so I was thinking that maybe the module you are in survived the destruction, but the rest did not. So now you’re stuck in space, in a barely functioning chunk of a spaceship, and you need to collect materials from asteroids!
I just started drawing/writing ideas and had this by the end:
So now I had a bunch of ideas. Then I was bored in class and started some concept pixel art on Thursday, and yesterday I coded this:
https://makecode.com/_UK95uzbFbAda
First I made some concept art, based off of some drawings I made in class. That’s the art you see at the end of the intro.
Then I started messing with the image.setPalette() function. This function takes in a buffer 48 bytes long, one byte for each RGB element of each color, from 0 - 255, and looking at some image setup code (Explorer → screen → targetoverrides.ts → line 9) Makecode stores the color palette in this hex buffer asset:
hex`__palette`
I made a fade effect function that takes in two palette buffers and an amount of time over which the fade occurs. I only use it to fade to black and back at the moment, but I have plans to use it for a flashing light effect that turns all the colors slightly red like a warning light.
Next was the text. I wanted to be able to make a text box that I could completely control, so I didn’t use any extensions. I made a class called textBit and attached some variables like image, x, y, width, height, text, color, and font. I added the font because I wanted to be able to attach custom fonts for each text element. Then I coded in a way to make the text appear over time. It doesn’t work well if you have a clear background and a border color, but I’ll fix that later. I also added a sort of start screen with the pixel art I made, and I made it so that the font of the text elements changes to a bold version when you mouse over the text box. This effect turned out looking really good, and it uses a modified version of WoofieBold8 from my Makecode font editor. Later I’ll expand this class to give the elements movement and such. I have some interesting ideas for it, and hopefully I’ll use it to make some really nice text effects later! I’m currently coding a way to skip text, so when I have that done it will be in the link at the top that updates over time. Probably press A to skip text will be what I use.
That was a lot to read, so once again I’ll say thanks for reading and happy coding!