Activity

koshivf

Bro I swear I’m straight up autistic I just switched the car’s width and height aaaarghh.
Well anyway more seriously I think the most important things were fixed.
I think I’ll add the AI’s lap time in the Training menu aside of the AI’s fitness.
But apart from that, I think the AI part is pretty much done, next step will be to finish to implement the Json Map thingy, basically I want to be able to export a map to a Json file and import it to load a map directly. That’d be sick.

1

Comments

Darko Sabo
Darko Sabo 1 day ago

kinda tuff

koshivf

I successfully implemented the AI training algorithm into the game. As you can see it does drive by itself correctly around the track, passing through every checkpoint, but I forgor to make the AI drive towards the finish line when one of its rays detects it, like I did for the checkpoint, so it never finished a lap…
And also you might notice the car sprite isn’t correctly oriented, dw about it
And There isn’t any info about the lap time or anything but don’t worry
And for some reason the training stopped after 5 generations instead of 30, but just, don’t worry…
Yeah I still got a lot of stuff to fix ig…

0
koshivf

Fixed some weird issues with collisions, so that it checked which of the 4 corner of the car touched the tile, making it a bit more accurate to the car sprite’s actual size and all, so that you didn’t have to pass the center of the car over the tile for it to activate.
But that caused issued on its own with the loop mode, as passing on the finish/spawn tile would mean that during the slight interval between which the front wheels touch the tile and when the rear wheels touch it, it would count as a lap so you would get 10ms lap times when you passed on the tile. So I implemented a mask the size of the car instead and now everything seems to work perfectly, though the collisions are still a little messed up but let’s not talk about that…

Attachment
0
koshivf
  • Added Checkpoint tiles, the order in which you place them is the one in which you need to drive through, you can visualize that order thanks to the checkpoint’s number written on the tile itself.

  • Furthermore, I’ve identified a problem, in some cases, like a racetrack design like a real one, the spawn point and the finish point are at the same place, but in other cases where you just race from point A to point B, similarly to Trackmania races, then you’re not actually doing laps in a circle, you just speedrun a finished trajectory. So I’ve created 2 categories of tracks: Loop and Point to point, the map automatically goes to Loop mode when you place the finish point on the spawn point, in which case you can drive laps infinitely. And when both points are separated, it goes to Point to point mode, where you don’t accomplish laps, so when you reach the finish point it ends and a pop up appears showing you your time and allowing you to retry with your all time best record and registered.

  • Oh and also I almost forgot but you can now rotate the spawn angle, when you select the spawn tool and hold r, you can use the mouse wheel and scroll to rotate it, allowing you to spawn in more appropriate directions rather than just straight up all the time.

0
koshivf

Added some car sprites, couldn’t exactly find what I was searching for but this gets the job done I guess.
Now before getting directly into the drive mode, it first pops up a menu to select a car model, which you can choose by pressing ENTER

0
koshivf

Finally implemented the drive mode, for now the car’s just a rectangle but I plan to add car sprites and a car selector menu. But for now yeah you can drive on your map and there are acceptable collision physics (this is terribly frustrating to work with) though I might have to tweak the car settings a bit cuz it seems a bit too fast sometimes.

0
koshivf

Made the menu bar at the botton of the screen visible because for some reason Windows was resizing the game window and croping the menu off, thnks windows…
So as you can see ladies and gentlemen you’ve got 4 tools at your disposition right now, a wall tool, a spawn tool, a finish tool and an erase tool (I lack the necessary creativity for proper names)
At the left side of the said-menu, you’ll find some hints on what keys do what, some are missing because otherwise it was too packed to properly see anything.
Then at the opposite side you’ll see useless information like the active tool if for some reason you couldn’t already notice it, and a display of the coords of the cell you are hovering with your cursor.

Oh and also I (Claude) fixed an issue where if you moved to fast it didn’t register the tiles you where placing so instead of a continuous line you ended up with random points everywhere. So I just copied the Bersenham line algorithm Claude spewed me and now it magically works idk how ╮( ▔-▔)╭

Attachment
0
koshivf

Added Panning and zooming and now the grid is supposedly infinite, contrarily to before when it was pretty limited, which wasn’t practical for map making.
Moreover, for safety reasons, the alpha amount for the grid color reduces gradually while zooming back otherwise we’d end up with a bright blue rectangle which activated my windows blue screen of death ptsd.

0
koshivf

Started making the map builder/editor, for resource optimization purposes (aka laziness) it’s a grid based system where you can turn each tile of the map into a wall, a spawn point or a finish point.
Now the problem is that you can place several spawn or finish point, which is weird cuz why would you have more than one of these, it’s not like you could spawn a 2 places simultaneously, so that must be fixed. Now that part is just the first step of the project, because ofc you still need to have a car you can drive on your map, and then the objective (if I have time and stuff) is to have AIs train on your map. So yeah., long way to go…

Attachment
0
koshivf

So while I fixed the .exe file issue, I took that opportunity to work on the AI a bit more.
Though the first successful test was, indeed, very successful, with near to 0 collisiosn and stuff, I couldn’t manage to replicate this performance again and actually discovered a few new problems.
The AI could take the checkpoints backwards, so it often made laps in the wrong direction, as it seems to have less difficulty driving this way. So I fixed this and introduced one-way checkpoints.
I also tweaked the settings a bit and now it seems to be quite regular in its performances, managing to complete a full lap almost every time. However, it still goes in the wrong direction sometimes, but I’m too lazy to fix that at this point :)

0
koshivf

Shipped this project!

Hours: 12.93
Cookies: 🍪 177
Multiplier: 13.7 cookies/hr

I made a generational algorithm which trains an AI to race on a track over 30 generations using a fitness system. It uses raycast to “scan” its surroundings and guess whether it must turn, brake or accelerate and by how much. I encountered a lot of bugs I couldn’t fix, some even came from the original Kawaii Tank Miniature game, so I decided to ask Claude for help, and how surprising, after debugging everything, it actually worked, though a lot of tweaks were needed to better constrain the AI and enhance its performance.
But yeah now it works (I think).

koshivf

IT WORKS, IT FRICKIN WORKS YAAAAAAAY!!!!!!!!!!!!!
many updates:

  • now uses raycasts as a “scanner”
  • an actual waiting menu to see how the AI training is going (instead of a black screen)
  • completely changed how the fitness is calculated after like 30 tests
  • changed the checkpoints from invisible png images to simple lines
  • finally managed to stop the AI from spam crashing into the wall
  • a shitload of debugs thanks to Claude because damn things got so messy
  • many new constraints on the AI because he found many ways to cheat and that was hella annoying
    Yeah a lot happened it’s been like 2 months since last devlog and somehow just 6 hours logged, I guess my Wifi barely clinging to life didn’t help with that… but whatever it frickin works so I’m happy now :)
0
koshivf

Shipped this project!

Hours: 2.86
Cookies: 🍪 9
Multiplier: 3.27 cookies/hr

I coded a program that forces you to work by threatening you with McDonald’s Job application when you start lazing off. The hardest part of this project was probably finding out the exact location of the Hackclub HQ, but now thanks to that I learned that they’ve got very good guacamole and a suspiciously mysterious basement… Anyway why did I do this you ask ? Good question, probably out of self concern for my own future which seems to point to my local McDonald’s since mid-terms. plz make this worth it at least ;-;

koshivf

shi I forgot to make a devlog mb. Basically you’ve got a productivity bar which slowly goes down when you’re not typing anything, and goes up when you do. When you reach like 30% productivity, the program will issue a first and heartwarming warning, and when you finally do reach 0% productivity, it will open a page in your browser with a McDonald’s™ job application, or the Wikihow article on how to get a job at McDonald’s™, or the official McDonald’s™ career finder set on Shelburne, Vermont USA as that’s where Hackclub’s HQ is located :)
Oh and you also have a slider to control how fast you’ll end up at McDonald™- uh sorry I mean how fast the productivity percentage is being reduced.

0
koshivf

Shipped this project!

Hours: 4.61
Cookies: 🍪 114
Multiplier: 24.73 cookies/hr

This is Conway’s game of life in C++ but in quintuple XL. It’s cool, it’s useless too, but it’s cool…
(pls read the ReadMe to learn the controls)

koshivf

Here’s a big brush no one asked for…
(yes when you hold it then play the simulation using the space bar it does this coll animation)

Attachment
0
koshivf

Finally managed implementing sparse encoding (with “active” and “potential” cells) as well as zooming and panning to better visualize the sheer size of the world (though the panning works terribly bad and is hard to use lol)

note: it does seem like there is a size_limit at one point when you keep un-zooming

0
koshivf

You can now add cells yourself to interact with the game, but at 400 fps it may happen a bit too fast for you to see and enjoy…
(edit: mb small typo in the program I put a - instead of a + so the cells behaved completely differently. Now it’s fixed and it works way better)

0
koshivf

I switched from the console to using OneLoneCoder’s Pixel Game Engine.
It seems better suited for this project though again some slight dimension issues need to be fixed
(or rather I don’t know why the cells only appear in a square instead of the whole window)

Attachment
Attachment
1

Comments

chefpenguino
chefpenguino 3 months ago

woah looks trippy

koshivf

Seems like the ground mechanics now works and it’s very smooth performance-wise, though there are obvious dimension issues.
(Ngl I took some parts of other Game of Life programs as it’s just basically the same everywhere and it seemed like a waste of time to rewrite the entire game.)

Attachment
0
koshivf

Ok so now it does start at the right position, and it does pass through all 4 checkpoints as you can see, but let’s just say that there is room for improvement…

Attachment
0
koshivf

I think I finally managed to make it “work” as it “technically” functions, simply with extremely poor performances. This may be a bit harder than I expected…
Lots of problems I don’t understand like where are the script’s tanks even spawning in the first place and how do they manage to get off the track even though there should be a physical border that makes them bounce back on the track.

Attachment
0
koshivf

Shipped this project!

Hours: 9.21
Cookies: 🍪 144
Multiplier: 15.59 cookies/hr

I made a simulation of evolution where species are white dots (cuz I can’t draw lol).
The basic system is that each specimen has an energy level they need to reach to reproduce, and that level depends on their size. So to get energy they have to become predators who eat smaller ones and then reproduce to continue their lineage, including a certain amount of mutation to their children to allow for actual “Evolution”. But they all lose a certain amount of energy continuously just by living, also depending on their size and speed.
So speed, size, activity (predator % ig ?), metabolism, decay, energy gain, and mutation are all the variables taken into account for the evolution process of the species.
You also have a UI with a maximum amount of information to better visualize the effects of the sliders you can move.

koshivf

I cleaned things up and solved some logical and mechanic issues, didn’t change much but should be better so now I think I can finally ship.

Attachment
0
koshivf

I added a lot more information and a deaths graph in addition to the population one.
Also got a decay parameter now, though I advise you to be slow when moving it (especially up) or your population will explode and do x10 in a few seconds before going extinct theoretically.
Oh and I almost forgot the time scale buttons as x1 can be quite slow, but be aware that it doesn’t actually just make things happen faster but just with more amplification, so I advise you to only use it on short interval before coming back to x1.

Attachment
0
koshivf

I added sliders to manually change the parameters of mutation, metabolism, energy gain and decay so that the user can try for himself and experiment in order to reach equilibrium (or extinction) instead of just being a spectator or the evolution based on my presets.
I also added backgrounds for the different element of the UI so that you can still see them when your screen is drowned in white dots.

Attachment
0
koshivf

balanced the simulation better by adding decay of the specimens over time as well as division in between 1 and 3 smaller specimens to serve a “food” for the others, avoiding the previous stagnating issue where the specimens would grow to the same size and become unable to eat each other, driving to the extinction of the entire species.
I also made a few tweaks and performance improvements as the browser tab starts to lag once your reach the thousands.

0
koshivf

The specimens are those white dots. they each have a starting amount of energy and a certain level of energy to reach in order to reproduce which depends on their size. But they lose energy continuously, especially if they’re big and/or fast. To gain energy and survive/reproduce, they need to eat dots that are smaller than them. Now for now this works but it always stagnate at a point where each dot is pretty much the same size so they can’t eat and you therefore lose the entire population in a matter of seconds. Quite hard to configure I have to say.

Attachment
0
koshivf

Honestly I’d say it’s already finished, I built the whole thing and the program seems to work correctly, though I’ll still need to try with a real plant to calibrate the thresholds.

Attachment
0
koshivf

Shipped this project!

Hours: 17.03
Cookies: 🍪 185
Multiplier: 10.86 cookies/hr

This masterpiece is a kawaii style, down-view miniature racing game with a variety of tanks you can choose from.
Made for my kinda weird but alright friend.
(Another one says he’s just a mentally disturbed person but he’s chill nw)

koshivf

Made the game menu and cleaned the code because that was a mess

Attachment
0
koshivf

Added some kawaii stuff…

Attachment
2

Comments

MeBadDev
MeBadDev 3 months ago

That’s really cool! Huge respect for doing this in pygame, thats hard lol

jayant
jayant 3 months ago

hardwork

koshivf

Added the lap-time and sectors system and went from the terminal to an actual HUD.

Attachment
0
koshivf

I now got a playable top-view racing game. I included 14 different tanks and a checkpoint system as well as collisions (which may or may not be a bit fucked up but just learn to drive I guess).
Next step will be to create a timer and a laptime system with green sectors, purple sectors etc between checkpoints.

Attachment
0
koshivf

Shipped this project!

Hours: 3.66
Cookies: 🍪 29
Multiplier: 7.8 cookies/hr

This is a chrome browser extension that replaces every web images you encounter with photos of something specified by the user.
It uses the Pexels API to get images based on a “tag” which is the word given by the user.
It then recognizes every image on websites and replaces them.
Is this useful ? Absolutely not, but the racoon dog told me to cook this so here it is anyway.

koshivf

okay well now it works, you can just specify what you want in the Image Replacer extension box and click save, and it will replace everything with photos of said thing.

Attachment
0
koshivf

the chrome extensions now replaces every web images with new one sourced from the Pexels API, but for some reason they’re all images of question mark symbols. No idea why but I have to resolve that issue next

Attachment
Attachment
0
koshivf

Shipped this project!

Hours: 10.09
Cookies: 🍪 152
Multiplier: 15.07 cookies/hr

I made a game about a pancake shooting more pancakes at mapple syrup and Régilait Caramel Beurre salé with falling ice creams. Look don’t ask question, I just wanted to learn python by making a little game but for whatever reason, everything I make in life ends up cursed af.
Anyway, this will probably be the best game you will ever play in the next 27 seconds so have fun :)

koshivf

GAME FINISHED - added some high quality audio for a better user experience. (play it, I dare you)

Attachment
0
koshivf

added a new type of enemy and a brand new feature: adjustable game difficulty.
you just have to click with your mouse and the number of enemy will increase
(totally not a bug I don’t know how to fix lol )

Attachment
0
koshivf

Okay I’m surprised but that’s tecnichly a working game (though it’s terrible but that ain’t gonna change so deal with it)

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Attachment
0
koshivf

bro finally after 2 hours of reading my code again and again I finally understood I’m just stoopid and straight up illiterate. I don’t know if it’s treatable but I sure hope so because otherwise I’ll never finish this random side quest. Gosh idk how many words I need to write to get the yapper achievments but I’m just gonna spam stuff until I feel like it’s enough. So anyway here is a short section of the bible:

KJ21
O fear the Lord, ye His saints! For them that fear Him suffer no want.
ASV
Oh fear Jehovah, ye his saints; For there is no want to them that fear him.
AMP
O [reverently] fear the Lord, you His saints (believers, holy ones); For to those who fear Him there is no want.
AMPC
O fear the Lord, you His saints [revere and worship Him]! For there is no want to those who truly revere and worship Him with godly fear.
BRG
O fear the Lord, ye his saints: for there is no want to them that fear him.

That should do it…

Attachment
0
koshivf

added some projectiles and enhanced the visuals (now exceptional)

Attachment
1

Comments

Kubik
Kubik 4 months ago

dayum

koshivf

background + player movements

Attachment
0
koshivf

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0