It’s done!!!
The game is finally done after hours of work. There is a complete main menu now, with 3 different modes to choose from. ‘Normal’ - normal pong, nothing much else to say. ‘Speed’ - every time the ball collides with something (the wall or a paddle), its speed increases by a certain factor until someone scores a point, after which it is reset back to its original value. ‘Large Paddles’ - just gives each player larger paddles, nothing more than that. I added an AI (always paddle 2) just in case people wanted to play by themselves. It simply follows the y value of the ball (as long as its heading towards the paddle and past half of the screen). I had to change the size of the AI’s paddle in the ‘Large Paddles’ game or else it would’ve been impossible to score (still larger than the other gamemodes). I also decreased its speed. It SHOULD be possible for anyone to beat the AI in all three gamemodes, I did it myself. But, if people have trouble with it, I’ll try and balance it a bit more. Toggling on the AI uses simple states like I did for the gamemodes, ai_state = "false/true", and changing the value depending on what ‘button’ the user clicks. I wish I could get the text for the gamemodes ON the button/rectangle, but the Turtle library makes ts too difficult for no reason. Since you can’t exactly make buttons with Turtle, I added a click sound when each rectangle is pressed so it feels like you’re actually doing something (pygame my beloved). I have had lots of fun with this project and wish to make more games in Python!
So many functions…
The Work So Far:
The base game is entirely done. The paddles move, the ball moves, and there’s a scoring system. Turns out I didn’t have to do anything advanced to fix the issue with the ball, just needed to use time.sleep to make the frames more consistent. I’ve started on the main menu (works by using game_state values to switch between the games), currently it only brings you to the base game. I’m going to work on other variations soon.
Next Course of Action:
More variations to the basic pong game. Maybe polish the GUI up a bit more, I don’t know.
We’ve got some movement!!
The Work So Far:
The paddles can now move! The left paddle is controlled using ‘W’ and ‘S’ and the right paddle is controlled using the ‘Up’ and ‘Down’ arrow keys. Originally, my basic movement functions only allowed for one paddle to move at a time, which was not ideal. The movement was also very choppy (moving about 15 pixels per key press). So, I made a dictionary of all the possible key presses (false means the key is not touched and true means its being held down), created press/release functions which change the value of the key presses in the dictionary accordingly, and added event listeners. These event listeners were .onkeypress and .onkeyrelease. They execute movement functions the moment a key is pressed/released (def pad_move(): if keys_pressed["w"]: y = pad_1.ycor() y += 5 pad_1.sety(y)). I used the function .ontimer to loop the movement function every 16 milliseconds, making the paddles move smoother.
I added boundaries to the window so the ball didn’t fly into oblivion. At one point, I accidentally made the balls too fast (literally saw them for a second and then they were gone). Lowkey want to incorporate that into one of the modes I’ll make in the future. There are also boundaries for the paddles so they don’t go too far off the screen. I did these through a bunch of compound conditionals (I love logic so much dude).
Next Course of Action:
Sometimes, when the ball moves across the screen, it slows down considerably and doesn’t speed back up until it collides with either the walls or the paddles. Thinking of making a function like I did with the paddles to see if it’ll fix it. Haven’t seen any other issues but that. Need to work on the point system and probably a start menu to choose the different modes.
Wanted to continue my Python journey here on Stardance (been doing a bunch of stuff for Beest) so I decided to make a game.
The Work So Far:
Nothing much, made the window for the Pong game using the turtle library in Python. I’ve only used pygame so far for an MP3 player so its nice to use another library. Named the window ‘Pong’ (cuz what else would I name it?). Made both paddles and the ball using .shape. I wanted to make the paddles have rounded edges but I’ll have to figure that out later.
Next Course of Action:
Making the paddles and ball move. I wanted to add an animated background, too. Maybe add some special modes to change up the gameplay.
Back after doing a million other projects.
The Work So Far:
I’ve been doing textures here and there so I have most tools done (pickaxe, axe, shovel, sword, didn’t add hoes unfortunately maybe later). Been trying to balance out how effective my tools are but keep making them a little too good…Got the basic stuff I need for armor (armor materials) but haven’t actually registered any yet. Nothing much to say because I’ve been doing everything else but working on the mod.
Next Course of Action:
Finishing textures, this always haunts me. Need to do more balancing because a pickaxe having 5 attack speed is genuinely criminal (some axes unintentionally have 6+ which is bad bad). Moving into the RPG direction will take place after I finish all this stuff, lowkey might ship before starting on the RPG idk why but I want to. Probably gonna work on the mod for the rest of the day so I can make some good progress.
Finished the WebOS 1 mission!
The Work So Far:
Changed the border color of each window slightly just to add some variation. Made the color-changing of the buttons ease so it appears smoother. Made a new calculator window. Doesn’t do calculus unfortunately, but multiplication, division, addition, and subtraction operations can be carried out. It was my first time trying out <form></form>, so it was a nice experience. Nothing much else to say, I want to do most of my changes under the WebOS 2 mission.
Next Course of Action:
I want to add a new window. I want to add more functionality to the calculator (so it could maybe do calculus/trig). I want to add tabs on the notes page so you can swap between a different note. I want to make my UI more pleasing to the eye. Not much else.
Notes:
I keep forgetting that people may not have monitors, so when I move my tab over to my laptop screen I tweak a little bit because everything is thrown off visually…To combat this I’m trying out height: clamp and width: clamp so everything should be fine there (I hope so).
Coding isn’t that bad actually (some of the time)!
The Work So Far:
A task bar has been created with 2 buttons (more soon) that open their respective windows (hovering over the buttons shows you what each one is for). The buttons change color when their windows are active. Clicking the button again while its active closes the window (the ‘X’ button is still there). There is now a notes window. The user can type in whatever they want, however there is a limit (using maxLength) so the text doesn’t spill out of the window. Copy and pasting text into the window is also limited. The text entered into the notes window is saved (using localStorage) so you can go back to it after closing the tab. The window also grows as more text is inputted, may alter the values slightly. Altered my code for open/close/toggle window functions for clarity.
Next Course of Action:
Adding more windows! I have no idea what windows I should add, maybe a game, music player, calculator. I’ll have to see what’s in my skill range. I want to make the OS more aesthetically pleasing. I’ll probably add some smooth animations or something.
Notes:
Debugging is actually kind of fun when you can easily fix an issue. One of my first ones was that the text in my top bar (MOs and the current time) were centered vertically on my monitor but not my laptop screen, so it was an easy fix (align items: center;). Debugging sucks otherwise..
Coding sucks.
The Work So Far:
I’ve added a top bar that displays the name of the OS (MOs) and the current date and time. I plan on changing this in the future, I just wanted to get a base down. My first window is finally functional. It’s a simple “Welcome” where I talk a bit about myself and I’ll link some other stuff there soon. There is an “X” button to close it, to reopen it, you click MOs in the top bar (definitely changing). I’ll most likely add a taskbar to take over the job of opening my windows. Not much else to say because it took me so long to do this little bit.
Notes:
It took me forever to fix the issue where my open and close buttons wouldn’t work. The script from the mission guide was crashing so I had to alter it to make it work.
Data gen is so cool!!
The Work So Far:
I added several food items to the mod. Some of these include fried eggs (which can be made by cooking/smoking vanilla MC eggs), bacon, cheese, baguette, and tomatoes (which have their own crop block). Need to finish adding ways to get all of these food items in survival mode. Started making my first wood block, I’ve finished almost all the textures except for the leaves and stripped variants. I plan to add many more wood types (speaking of that I need to figure out how to spawn custom trees naturally in the world). Started making tools to give my ores some usage, pickaxes first. Experimented by altering the vanilla pickaxe texture to see if I could make something I liked, came up with a good first draft.
Next Course of Action:
Thinking of adding a slop bowl food item (because why not). It’ll probably have a 50/50 or 40/60 chance of giving you some nice effects or some really bad ones. I’ll make it good give saturation/hunger too to make it somewhat more rewarding. A friend suggested making an enchant called “Larpness” (sharpness spinoff), I figured I could make it heal whoever is hit by it rather than damaging them. It’ll most likely be a fun learning experience. Gotta finish a bunch of textures before I move on to tree generation. My current ore ones look like TRASH. I also need to start learning into the RPG theme more, maybe a questbook? Leveling system? Need to add more magic items too so I’ll probably go and study the code of some mods I really enjoy (Ars Noveau deserves a mention).
Notes:
Data generation has to be one of the greatest things out there. It was so tedious creating several JSON files, but now all I have to do is write one line of code!
I wanted to take a break from my Minecraft mod, so I decided to build a keyboard! Nothing else much to say but the whole process has been really fun, and I’m learning a lot about what truly goes into keyboard manufacturing.
The Work So Far:
The schematic is done! Keyboards are way more advanced than macropads (obviously), so it took a bit to find out what I needed to add. There are a lot more components necessary for the keyboard to run properly (such as capacitors that stabilize power, resistors limiting currents so your components don’t fry themselves, and crystals prevent miscommunication). The schematic alone has provided a great learning experience for me. The PCB is close to being done (I think). I’ve laid out all my switches properly and accounted for my alternative keyboard layouts. All I have to do now is incorporate the rest of my components (my microcontroller, etc.).
Notes:
Schematics take a long, long time…especially when you have to add 100+ switches.. Still thinking of a design for my case, don’t know whether I should go for a more minimalistic style or base it off some media I enjoy.
Ores galore! (pt. 2)
The Work So Far:
Ore generation is finally done! There’s about 11 ores (most having a deepslate variant) to find around the world. Made raw versions of each one cuz yes smelting!! Started doing the necessary stuff needed for making trees but haven’t finished it yet.
Next Course of Action:
I still haven’t finished all the textures…Adding raw versions and deepslate variants basically tripled what I needed to do pixel art wise and I still haven’t given the ores usage yet (such as armor, tools, etc.). I do want to add some custom crops/mobs so that’s also on my plate for these next 10 ish working hours. I want to make a working fuel source, something similar to coal but faster.
Notes:
Ore gen has to be one of the most painful things I’ve done so far it took SO LONG to finish. Hopefully tree and biome generation won’t be too bad…
Ores galore!
The Work So Far:
I’ve added many new ores! Some of them include gems like jade and topaz, and ores like platinum. Did a bunch of pixel art for the ores and fixed up some old ones (especially the sapphire gem one). Started adding deepslate variants but I haven’t finished all the pixel art for those. The biggest thing is probably the fact that my blocks actually drop things! I combed through some of Minecraft’s code to create loot tables for most ores.
Next Course of Action:
I wanna work on getting these ores to appear naturally in the world. I also wanna start making overworld biomes so I need to put in some more work towards things like trees n stuff.
Notes:
Pixel art gets real boring..so does the repetitive coding to add new blocks. I’m trying to learn how to do new things so I don’t burn myself out. One of these things is adding a metal detector item to make finding ores easier because I may or may not make them difficult to find..
Modding is a lot easier than I thought it would be (just very tedious).
The Work So Far:
Added some more ores/blocks, not done with the pixel art for all of them however. Started separating my custom items into groups (ie. “Ore Group) just to make things easier for myself. Not much else to say because ts takes a long time…
Next Course Of Action:
More items! More pixel art! Need to add more functionality to my blocks (currently they don’t drop a single item and can’t even break them in survival). Still need to do crafting recipes. I think I’m gonna add custom mobs/bosses because I’ve decided I wanted to make this an RPG mod (magic themed because yes!).
Notes:
Figuring out how to display my items properly in Minecraft SUCKED. Spent a whole hour editing “translation”, “rotation”, and “scale” but I finally got it (for only one ingot) and hopefully it won’t be too bad doing the rest of them. Here’s a picture of me accidentally making an ingot too big.
I’ve been pondering a lot about what other projects I could make and decided to make a Minecraft mod!
It has been a huge struggle, so many errors popping up that I can’t find the answers for, hours of configurating IntelliJ in hopes that it would finally work, the Minecraft client refusing to open for whatever reason. After all of those issues, I’ve finally made my first custom item!
The Work So Far:
Nothing really to be honest…Made a sapphire gem and learned the inner workings of adding items to Minecraft.
Next Course of Action:
Adding more items of course!! I also want to brush up on my pixel art (its lacking a lot right now..). Probably going to try and make ore blocks to drop the gems I make and give them actual purpose through crafting recipes.
Notes:
This WAS originally going to be a Kirby-themed modpack but I figured that was a little too far out of reach for right now, maybe in the near future.
2nd devlog! (and definitely last)
Had a LOT of issues with my ping command so I spent the last couples hours on that but its finally working. Everything has been linked to github and ready to submit.
1st devlog! (and maybe last since I’m pretty much done)
Mainly did this mission to get back in JS after years of not touching it. Made some simple commands, it was somewhat frustrating because I dislike coding but maybe I’ll start to like it soon as I want to do more projects that involve coding.
4th and last devlog!
The Work So Far!
Everything is done! I’ve (finally) made the USB cutout so I can actually connect my XIAO. Didn’t make any changes to the design because I couldn’t come up with anything else but I’m happy with everything (especially since this was my first time making a macropad). I hope to make more advanced stuff in the next couple of days/weeks!