Hello once again!
(gonna need something else to say, been saying hello quite often recently)
As previously mentioned by me, I am planning on making some examples, but what’s the point if no one uses them?
So I have almost run out of ideas on what examples I could make, so I would like some suggestions. Even if it’s something you think impossible say it anyways, I’d like to try.
I really want to try and overall help the community and I think examples are a great way to do this.
I know Metaninja said he thought a Tetris example would be good so I’ll make that, but that’s the extent of what I’ll make for an actual game, meaning I won’t make a Minecraft example.
Some of the ones I have planned, (I do already have a thread for examples, but that thread is more of an update thread).
Infinite Runner Example (So generating the obstacles in front of you)
Mario Maker Example (Similar to Alpaca Raceway and Color Complex)
Hallway Generation (This is an extension of my Random Dungeon Generator)
Perlin Noise Map
Layered Collision (This will not be perfect as it is not fully possible)
Card Game Example
Just wondering is there any examples of a slealth game just wondering…
What does a stealth game mean? There are many ways to make a stealth game, it’s a very broad genre
Oh ok @CodeAlpaca
So this means?
If there was some sort of mechanic that you wanted an example for I might make it, but I won’t make a whole steal game
I have no suggestions, but my favorite one out of your currently planned is the level builder example
It’s not perfect as you can see with the cubes not actually touching the walls, and at the end you can see that you are able to clip corners
If you’re interested in how this works, read this
- The first thing that happens, the Walls have a tiny bit of code in them that sends a message to the Array Maker (more on that in a second), they send the X, Y, and Layer of the object. The Layer is whatever you input into it, which sets what layer other objects have to be on to collide with it. (This is a total of 2 extractors, 3 messages, 1 number for the layer, and a global telling it to send the messages)
Ok, the next thing that happens is creating an Array, I made this Array without looking at JRs (except for 1 expression) or DraftyScience’s Array, so it may be unoptimized. If you notice something I can improve on tell me. Now to what happens inside of it.
The messages are all sent to this object, it detects the lowest X value and highest X value, then finds the distance between them (this is divided by 32 to create columns). This is also done with the Y values. After that is done, times those values together (10x10, 10 columns, 10 rows = 100 cells). I add that many 0s to a Number List via 2 repeaters (I could use 1, but I find breaking it up into 2 improves engine performance). Once that is done I take all the X, Y, and Layer positions that were recorded in 3 separate Number Lists. I find the index of what cell I need to update using an expression from JR, then I update that cell to the corresponding Layer. Once that is done I add that to a Number List.
Now for what happens in the Player (pretty simple). I use that Number List, then I look at the position of all the cells next to the one the player is in (A-1, A+1, A-Columns, A+Columns). I then search those positions for the values in them, if they are equal to the Layer that you selected for the player it will turn off movement in that direction. If it does not detect anything, then movement is on.
(Calculating what cell the player is in really simple, I just use this expression “Math.round((Math.abs(B)+A+16)/32)”, I find the absolute value of the lowest X(or Y) in the Array then + the Player X(or Y), after that, I + 16 to help with the collision detection then divide by 32 to get the index of the player cell. I round that number, then put it into another expression (from JR) “A+(B-1)*C”. That expression is just “playerColumn+(playerRow-1) *totalColumns” as the base for what cells I need to look at)
If you have any suggestions on how to fix the collisions that would be great. (They are unable to touch the walls and if they go towards an edge they can clip through)
Just thought I should update this, I finished the Infinite Runner and Level Builder example
Also thought of an example I might make, customizable controls. From what I’m picturing in my head it would be pretty easy to make and very useful
Been testing some things with hitboxes
Here’s a slowed-down version
Trying to make the Perlin noise map, so I figured the first step would be to create a wave
Pretty nice looking, just need to find a way to convert a 1d wave into 2d.