Problem is, even if I could write some code that said "when colliding with a conveyer belt tag, turn off that one line", now I can't move my player because I removed the velocity entirely and all I can do is move while jumping.
I feel like there has to be a good solution for this that says when colliding with conveyer tag, don't use that line of code, instead use "______" to move left/right?
This is just a maths / physics problem though, right?
You don't actually want to turn off your existing movement, you want to resolve two forces interacting with each other (one 'positive' if youre moving with the conveyor, one 'negative' if you're 'swimming upstream').
So basically, think of this as sideways gravity; how is your current movement controller resolving a gravity constant in the negative Y axis?
Because what you wanna do, is resolve 'sideways gravity' in the X axis, which is probably going to be something like
if (col.ground =="conveyor") => rb.setvelocity((input.x * moveSpeed)+conveyor.velocity, rb.velocity.y);
Also if there is stuff like this for every genre to turn Unity into Super Mario Maker of all genres that's crazy and completely changes the idea of game making I had in my head. It does feel like cheating though.
I mean, it's not quite that simple, but most of the decent and well mantained Unity code addons basically give you a new API for doing specific stuff - this is why I suggested you try out that dialogue asset you bought instead of doubling down on getting a VN engine, because I kind of suspect it has everything you need to make a VN built in.
The upside is to get something done, you're working like you'd be working at an actual games company where someone else is doing the engine work to enable the designers / scripters to do what they need to do, which saves you a ton of learning / expertise / time - the downside obviously is if you don't understand something or you get weird bugs, its kind of a black box (although most of the top rated unity addons are really conscientious about customer support and have discords and shit to assist you)
So, at the end of the day and a lot of excuses and distractions, the truth is I just don't know how to make a fun 2d platformer :'(
Like you tell me to make a shmup, I just try to make fun & challenging bullet patterns to dodge through with some neat gfx effects, make an adventure game, come up with a story and some dialogue and item based puzzles, horror game, make some spookiness or scares, rpg make a story, some towns/dungeons and a battle system.
But like "place down platforms and dangerous things in a way that is 'fun'" and just...no idea. Same with puzzles. If I make a door that is locked and you have to push a crate on a button, is that fun or is that tedious busywork?
Okay, so firstly what I'll say is, if you have no
particular love for the genre, don't look at the 'genre kings' which are literally exemplars of platforming methodologies; think back to the 16 bit days, when every fucking movie / toy / cartoon tie in was a sidescrolling platformer. Why? Because if you have a decent character controller, moving around in a 2D space is pleasing, and you then just have to tell a visual story (based on the IP) so the player wants to keep playing to see what the next area is going to be.
Chuck in a boss fight every 4 levels, and you're gold. Throw in some collectibles hidden around and you have replayability.
Don't overthink it.
HAVING SAID THAT; you don't even have to make a 'platformer' game - play something like Lost Vikings or Krustys Funhouse; these look and feel
like platform games, but they're fucking
not.
Look at Zelda 2, or more recently things like Mark Of The Ninja, or Fez.
If you know how to build a satisfying SHMUP, go ahead and build that; you're just adding an additional play constraint of gravity. Hell, thats basically Contra, right?
And then I'm like here are all the things I don't know how to do to execute that:
Room #2 - Screen shakes
Room #3 - Would want flashing red lights like an alarm, don't know how to do colored lighting
Room #6 - Don't know how to do water motions of something moving in water and not just in a straight waypoint move line, also camera changing tracking to follow robo downstream
Room #7 - Don't know how to do particles to show splash
Screenshakes = easy; you already know how to find your camera, just fuck with its transform for a second then reset it (might want to use a Tween library to do this though to get a nice easing)
Flashing lights = also easy; when you add a light, you can literally colour it in the inspector. If you're using the URP there's a nice suite of specific 2D lights built riht into unity too. Otherwise, just drop a spotlight in at a z position so you can aim it at your scene, and colour it red / set its strength / range.
Water = potentially easy, potentially nearly unsolvable and bringing high end gaming rigs to their knees trying to calculate in real time; think about your end goal, not the 'flavour' or how you might think about implementing it 'correctly' - videogames are all smoke and mirrors, so cheap hacky shit that
works and approximates an effect is always going to be usable. If what you
want is something that 'wobbles' up and down a little bit deterministically as it moves left and right, just do a SIN wave modifier on your Y position, based on your X position.
Particles = also pretty easy, and also fun to play with, but you might find yourself going down a rabbit hole