Uh yeah i also procrastinated and i was too embarrassed to check the forums to say anything. As you can tell I am the most reliable person on earth.
I think I chose wrong when choosing who to reply to.
Uh yeah i also procrastinated and i was too embarrassed to check the forums to say anything. As you can tell I am the most reliable person on earth.
I think I chose wrong when choosing who to reply to.
So I was thinking if there was a way to better organize the code. Right now, the majority of the code is in one 2850-line script. It’s good practice to put separate parts of code in separate files. So maybe we could have a GitHub repository to host/collaborate on multiple game code files. When someone wants to test the code in the game, they would combine all the script files into one and then copy+paste it into the game. (“Building” is a good word for this process)
So everyone’s able to access GitHub and knows how to use Git/Github Desktop. Right? It’s not like those are the two possible obstacles that would prevent us from pursuing this plan.
There are tools for this, npm and others that could help you to convert all those separate files into a big one… (like WickEngine is built)
So just to be clear (and to ensure that everyone is on the same page… and would at some point all be simultaneously at different pages when using these tools), would everyone be using GitHub and npm? I’m asking mostly the co-leaders (@pumpkinhead and @awc95014, since they both have GitHub already) and Jovanny. While I do have a GitHub, I didn’t get around to use it for anything. So I am ill informed.
If we ARE going to use GitHub, I should tell everyone who lack experience with it (including I) to probably learn online, whether through Youtube or just from searching.
I’ll continue with my plans in the meantime… after some house work…
No, they can just reupload it, and then put it in a program.
Okay, I trust ya!
That surfaces thing I mentioned (a more technical term is a navmesh) is just to make the AI able to do complex pathfinding (e.g. reaching a platform above). I’m not sure if Peon actually pathfinds. I also did make some progress on the path finding procedure a while ago. I’ll link a file soon.
platformPathfinding.wick (11.4 KB)
(Pretty buggy though. Turn on debug mode in the “main code” frame to visualize the navmesh)
Also, if you don’t know how to use GitHub, it’s not that hard to learn. All you need to know to be able to contribute is how to commit, which can be done on the website by dragging files and then writing the commit message. I’d recommend downloading GitHub Desktop since it will automatically detect what files have changed when you commit.
So I am stumped. Peon is not detected by the ground I’m going to keep trying, but I am not sure where to look to fix it.
new things:
at 50 units the plane stopped being detected by the platform…
I also checked if it could stick to the platforms. It couldnt. I checked and apparently I forgot to have the enemy update include the platforms. it could stick to platforms.
it’s weird how it doesn’t do anything unless it is a particular velocity…
So far I was only able to make a badly executed peon. I couldn’t figure out why the platformUpdate function is not detecting Peon so I opted for a crude solution for now. The solution is mostly just the enemy checking if it is colliding with the walls with the hits function and checking the type of platform.
I was able to confirm using the console.log()
that it detect Peon just once when hitting a floors certain velocity and colliding with walls below a certain speed, but otherwise it still falls through and past the blocks and gates. the lag may or may not be causing variable results. Next step for me is to make it jump over walls shorter than her. I’ll figure out later, but for now I want to ask for help to why peon is only being detected once.
I was hoping that with this the enemies that collide with the platforms would react like the player clips would. It didn’t exactly do that…
(still a wip… you can take a look at the test arena.)
looking at your gifs, they are really slow… are the gifs just slowed down or is that actually the speed that the game runs for you?
also, when i first made a sample bot, i just disabled keyboard movement of one of the players and used code to determine what actions to do. i didn’t make a new object thingy. (if needed I’ll go in more detail tomorrow, it’s getting late for me)
https://drive.google.com/file/d/1cNPCL4IXs-57OGDLbFWy6CJutpYlAZdV/view?usp=sharing
I made a new song for the game! I don’t know if I’ve shown it to you or not (I have bad memory) but please tell me what you think! You can code it like @nick did:
playSound(“sound.wav”, {loop: true, volume: 0.5})
That is the actual speed of the game. .
Meanwhile, I did take note of the fact that the Players and player bots are controlled using bolleans, but we’re not making player bots.
The enemy just needs to react to walls and holes. I thought it was simple enough, since I’d just let the platformer engine do it’s thing and push back the enemy from falling through the walls like how it did with the player controller.
The enemy just needs to react to walls and holes.
That is a little bit ambitious… I know that the game has platforms, and for local vs mode is doable… but programming AI to react to all kinds of environments, holes, platforms, etc… is another level of complexity. It is not impossible, but it could be a difficult task. You may need another AI methodology to accomplish that, such as machine learning or so…
Machine learning? Surely you don’t need machine learning to make a basic 2D platformer AI.
Get ready for another long post…
all/most of the menu buttons have a significant delay, but the in-game sounds seem fine.
I decided to try playing all the sounds once at volume zero in a default script and stop all sounds in the load script in the intro, I think it worked but not really sure.
FFR 1.5.1 - WIP6-24-2022_12-18-14.wick (2.7 MB)
I also used this file:
(Also, thanks @KringlePrinkles for working on that, I appreciate your efforts and attempts of making the ai work properly)
And …
the sound for hovering over the “begin” button is gone.
I checked the file, someone had added a // before the line that plays the audio for that clip (on mouse enter).
When I remove the // the project returns an error, so I’m guessing the audio file might’ve been removed before I updated it at some point ? I don’t remember how it sounded, but I know we have a lot of audio assets for buttons, we could replace it with one of them.
I’ll look more at it later when I find the time.
btw, I might’ve forgotten to mention this, but I have a folder with all the audio files that were in the project before I removed them. They can also be found on repl (I’ll remove this link after a certain amount of time since anyone with it could delete, remove, and edit the files - if that happens I already have a copy of all audio files on my computer).
The keybinding doesn’t seem to work at all.
This should be easy to fix.
are the gifs just slowed down or is that actually the speed that the game runs for you?
According to the gif the fps starts at 12 and goes down to 9 when the game is played.
I experienced a similar issue when testing the game on a school device.
It’s a frustrating part of development when you know that not all devices will be capable of having the same experience, that’s why for story mode I want to consider using a video element (see this project here for a good idea of what I mean) for cutscenes. This way, we could make sure that animations will play at the correct fps. We’ll focus more on this later, I just wanted to mention it now to see what you guys (the team) think of it since the cutscenes won’t be available during an offline gameplay.
In my tests of the version from a few days ago, up gates don’t work because of this one test:
I have a feeling it’s supposed to be !target.canGoThroughUpGates
Actually, looking at the comment in the declaration of that variable, it seems that it should actually be this:
Surely you don’t need machine learning to make a basic 2D platformer AI.
Basic 2D platformer AI doesn’t fall into a “basic” category to me… but that is just me
Well as long as it doesn’t do pathfinding. If all it does is jump over gaps and on top of blocks, it shouldn’t be too complex. It can find gaps by analyzing the platform array with its jump arc.
@mlgcoolguys_1
I’m not sure if this AI’s supposed to be smart enough to, for example, reach the target in situations like this:
Would the AI actually jump on the platform on the left, then the platform on the right to reach the target? Or would it just get stuck moving back and forth below the floating platform?
Here’s my progress for now
0FORUMFIGHTERS.wick (2.7 MB)
Several questions (to help visualizing the big picture):
Update:
How do I activate the begin?