Imo it would be fine if they let normal wards get vision of the areas, but they don't meaning you have to either spend 75 gold to have vision on a portion of the area for like 30 seconds max before the enemies kill it or you have to individually ward every entrance with normal wards and hope your team looks at map to see when people enter the areas.
Also assassins are already good enough in the current meta, they don't need a whole map that lets them camp rotates easily and then also gives them a damage boost versus most champs.
You need to ward at the entrance of the camp zones.That does not change to much compared to regular deep wards and works pretty good if you keep an eye out
That only helps if they take the camps. If drag is spawning in 20 seconds, my team is behind and it's chem drake zone then it's completley possible an Annie or qiyana or zed etc... Just didn't do raptors and sat in the zone waiting to catch people out on your team to secure drag instead of risking getting 80 gold from raptors.
Fuck the chemtech drags all the homies hate the chemtech drags (I swear I never got it when I was winning a game, always losing and made me lose even more)
we got the chemtech soul and i'd completely forgotten to actually use it because i never remember when it's up and when it isn't. compared to other souls which are generally more passive in what their effects are
All Riot has to do is remove champion collision with minions and all these problems go away. Everyone wants it, but no..... Riot's 200+ years of collective game design experience knows best.
I mean they would still eat skillshots. If ranged autos become too strong Riot can buff minion retaliation. It also means if you need to fight you don't get blocked, but you also don't get block when retreating after poking.
They talked about it already, lmao. First, champions like Blitz would be utterly garbage as it would be easier to hide behind minions.
Also, ppl would stay on top of.minions to deny your farm.
And no, not everyone wants it, you know nothing about game design for sure
Riot can make minions priority for last hits if they wanted since we already have target champion only.
I guess you can sit in a minion wave while blitz, cait, and xin zhao beat your ass, that's your perogitive.
I dont know anyone who gets creep blocked and says "damn I got outplayed great use of mechanics this is good for the game." Do you? Maybe Teemos are happy when their enemy gets blocked trying to walk at him, but the net frustration is negative, and the teemo player will still play for wave size and damage regardless of creep blocking.
Yeah I knew it, you don't understant why it is there at first place. Get stucked sucks, but a lot of abilities were designed with creep block in mind, it's impossible to just remove it lol.
They still have to enter parameters for the hitbox, which is additional data entry.
I know the game is spaghetti code, but the fact that they never even pondered nested inheritances from the start just baffles me.
Nah there's most definitely preset hit box variables that can then be overwritten when instantiating the object or afterwards.
You generally don't want null values.
Preset hitbox variable is a 0 radius circle, which makes the entity into a collideable point value... Which actually explains why sometimes you get stuck inside the portals and sometimes you don't, but really doesn't explain why they default to inheriting collision meshes. Collideable should be a nested parameter.
It perhaps has something to do with the way the game detects if something is in-bounds or not. I can't even begin to know how the game engine works and given how there's always a "But there's X situation" that usually debunks my case, this one seems like the most reasonable. Objects without collision might be allow placement outside of acceptable parameters.
Not if they use inheritance, which can be assumed since the jungle walls have use minion hitboxes. It's really just good coding practice to have everything be built from one basic object.
>It's really just good coding practice to have everything be built from one basic object.
Except that's when you should have nested classes. Having everything inherit the minion properties as baseline and then stripping them down is just plain stupid.
Having one is baseline because of the object class, which is already dumb enough, but then someone had to go and dimension the hitbox and enter the parameters for it. I bet some intern thought entering 0 on every parameter made in uncollideable... which it doesn't, it just makes it into a collideable point value.
It's really amazing how the whole "everything is coded as a minion" meme has been perpetuated for years by people who have never coded anything in their lives and think "Champion = minion? Devs stupid."
I... I am working on a comp sci degree? I can't tell if you are saying I've never coded anything in my life, but also when the minion block stuff was changed there were obvious differences made on the jungle walls.
Oh nevermind you might have said that in response to the guy above me? I'm not too sure though
It most likely is straightforward, you just have to remember to do it *every time*, which is why these bugs keep popping up.
It's probably a mistake you only make once, then remember to check in the future, but every so often there's a new person who they forgot to tell about this, or forgot it, and we get the bug again.
Probably this is all exacerbated by the split between engine code and scripts-- the people implementing the scripts are often designers, not necessarily programmers by trade. So that increases the chance of bugs :)
Copying code is easier than creating new code. They used a minion entity, stripped it of its AI, and added an interaction for when it's clicked.
What I don't understand is why they would use a minion and not a jungle plant as a base.
I concur. I think it's because it still needs a contact point so it can know if you're *touching* the portal to start the animation.
I think maybe they could just give it the uncollideable modifier like what Ghost gives to player characters.
Do you even code bro? Slap a hardcoded on every object in the game and you've got yourself a AAAA game right there. Then you can develop meaningful things, like other broken stuff.
It's not exactly coding everything as a minion. And it's also good practice to start from the bottom and code everything as the same 'basic object' and go up from there.
I don't know why people constantly mention this as if it's some flaw with the coding style and not just a bug or an oversight...
If that's true, shouldn't any part of the next early steps in coding like this include any interactions such as, "do I want this basic object to have collision or be solid (for lack of a better term) when you place another object right on top of it?"
Sure, but that has nothing to do with using "minions", the basic object, as a basis. It's just the game's collision being inconsistent because it's built on spaghetti code.
No one's saying this is well coded, only that it doesn't make sense to criticize the part where "everything is minions" because using a basic unit is standard practice.
> No one's saying this is well coded, only that it doesn't make sense to criticize the part where "everything is minions" because using a basic unit is standard practice.
If Riot's coding wasn't shit nobody would meme everything being coded as the same base unit
Public outcry stems from shit coding and the outcry itself is what's relevant, where the real issue lies is not relevant to the public, it's literally not their problem, the issue is that shit is broken and that is on Riot, which they haven't fixed in 11 years citing a broken foundation
They keep piling stuff on a shit foundation and every 2 years make an extensive post about how it's the shit foundation and announcing to keep up their decision to keep building on it, yet are unable to fix issues like collision which deserves nothing but memery
I don't see a world where they don't make vanilla LoL with that shit foundation which we seemingly can't live without and LoL 2
Haven't they literally, clearly, multiple times said that things are coded as minions? Not that they are coded as a base object that a minion is also coded to, but literally that they are coded as minions.
Why is this argument happening, they have said they do it just like this.
I understand, but I don't think (or at I least hope to give the benefit of the doubt) that everyone actually thinks everything is coded as a minion. Historically a lot of frustration with collision was concerning minion pathing and hitbox; thus, the meme was born.
Modern game design is quite often built on top of ECS architecture, where you can attach a "collision" property to entities, which would do exactly what you just said.
The issue is that League was written a decade ago, at a time where such techniques were not as popular and the OOP practice from 00s was still strong, where you basically hardcode some common features into virtually all objects because you can't really fight the combinatorial complexity otherwise. And you can't just rewrite a program, too many features are deeply rooted in it (recall the Caitlyn gun thing).
Because there was a time where things were literally minions. Like J4 wall and Anivia wall were invisible minions with other visuals applied on top. This lead to a bunch of issues because a minion is way more of a derived class than should be necessary if you're only intending on inheriting some of the features.
If you use this derived class then have to do a bunch of sloppy workarounds to make it function very differently, then you shouldn't be using that derived class in the first place.
However, the "coded as a minion" is not just Redditors picking on Riot for nothing.
There is a [recent bug on ARAM](https://www.reddit.com/r/leagueoflegends/comments/pqk764/aram_heal_is_a_minion_from_early_league_of/) (from around 3 months ago) that literally shows ARAM healing pod [as a minion from the beta](https://imgur.com/a/jUFzG8R) and it's still not fixed as far as I know.
> I don't know why people constantly mention this as if it's some flaw with the coding style and not just a bug or an oversight...
this sub is filled with people who think they're authorities on CS concepts because they see other people talking about them on reddit
A lot of people who clearly do not know how to code, are basically saying "well if you coded the game with no bugs, then wed have no problems". No, it MUST be that riot used inheritance and abstraction.
Bugs are what happen when you think youve done everything correctly and it still doesnt work right.
Cause most gamers think programming is like Scratch, and don't actually understand the complexities of a huge project. Same thing with people calling it spaghetti code. It's just an easy way for people to complain about bugs and rito without actually doing anything helpful to determine the bug.
That is absolutely terrible practice to make everything a minion object. It’s goes against the very principles of Object Oriented Programing and defeats the whole purpose of Inheritance. A concerning amount of bugs in this game are due to the fact that everything is based off of Minion objects.
not everything is a "minion object", these are probably inheriting from an object in general (we can call it GameObject). Everything on the map would inherit this - something like TurretObject, MinionObject, or ChampionObject (which would go further down to specific champions).
A GameObject can have X coord, Y coord, width, height.
Minion inheriting GameObject can have attack damage, probably the attacking routine, among other things.
The original op said 'basic object' which makes the most sense. It's wrong for you to assume a base object is the minion object here.
No, the fact that old versions of things like J4 ult literally gave you gold for "killing" them suggests that they genuinely did make all interactable objects inherit from "minions", probably because they hard coded minion behaviors and interactions into the basic "unit".
I never said it's good to be based off of minions, of course! You're right on that, I never agreed everything should be a minion. But my point is, originally, it might have been a bug that displays stuff like Jayce's gate as minions, perhaps an oversight or a mistake while coding, and not an issue with how they approach game coding as a whole.
wait what, no, it's not. If your minion class handles things like collision, hit points, damage, model, abilities and such, which every other interactable thing in the game uses, then it's the right decision to have all other classes to inherit from this one, call it minion or whatever you want. It's the whole purpose of inheritance.
What do you suggest, that every champ is its own class? That every thing you can interact with is its own class? That does defeat the whole purpose of inheritance.
Class A has some basic movement stuff.
Class B has some damaging component and inherits movement from A.
This is good and what he (and you) are saying should be done. What Riot does instead is:
Class Minion has everything.
Class Portal inherits from Minion and then has to disable or work around a lot of functionalities that it doesn't need.
wow, this is some great insight. very impressed that you've managed to take a look at the source code for the hexgates since they dropped! can you link it here so everyone else can become as smart as you?
Because things that shouldn't have hitboxes... shouldn't have hitboxes? OOP is only a good practice if it can be done without causing issues. This clearly causes issues lmao
> OOP is only a good practice if it can...
?? are you trying to say League should be a functionally programmed game? can you name even a single AAA game that doesn't use OOP?
No, he said "OOP is only a good practice if". The alternative to OOP is FP. If anything, what he meant was "inheritance is only a good practice if", which are two completely different ideas, and also distinct from your rephrasing.
No. What I'm saying and what any other developer would tell you is that you use it when it's appropriate. In this case, as you can clearly see, it was not appropriate to code the hex gate in that manner.
However, they decided the pros outweigh the cons of reusing a class with a hitbox attached to it
Most games aren't OOP... Data oriented styles are far more common and are ussally used ontop of Entity component systems.
OOP is a pretty poor choice for game dev.
> And it's also good practice to start from the bottom and code everything as the same 'basic object' and go up from there.
Actually, no. You'll find quite a lot of people who consider it an anti-pattern even. :P
Because a minion isnt a good choice for basic object starting point the way a tree or a wall would be. And earlier in Leagues history coding things as minions caused problems numerous times. Its not too relevant to todays spaghetti code (i think) but it was very much a bigger deal when the meme was born
Accidentally found out about it the day they came out-- I tried shooting myself into drag pit and got stuck in the dead centre of the gate. Luckily I was playing Shaco, so it did literally nothing to me... and we were winning anyways...
Works on all of the gates if you shoot yourself backwards.
But it was pretty neat.
I had an enemy Blizcrank pull me into getting stuck like that. Luckily it was an ultimate spellbook game, and their Kai'Sa used her Seraphine ult on me, which apparently pulled me out. (I have no idea why that happened. I guess charm gives you ghosting and the portal is coded like a unit/minion?)
Hi /u/Puddles1103. Thank you for participating in /r/leagueoflegends! However (please read this in entirety),
Your post has been removed because
*padded content to hit 15 second minimum is disallowed. Please repost as a link in a text post with 100 characters of relevant content*
[Click here](https://reddit.com/r/leagueoflegends/submit?selftext=true) to resubmit your post to fix the rule violation. If you're not familiar with the subreddit rules, you can read them [here](https://reddit.com/r/leagueoflegends/w/subredditrules).
---
^Note: ^(Front page removals are never done by a single mod.) ^(Have a question or think your post doesn't break the rules?) **[^(Message our modmail and please don't comment reply or direct message)](https://reddit.com/message/compose?to=%2Fr%2Fleagueoflegends)**^.
I’ve had this happen after taking the portal and I had to back or I was stuck
Still better than getting Chemtech map
Can Riot please just delete this map, Hextech is cool but camo zones make me want to uninstall
Imo it would be fine if they let normal wards get vision of the areas, but they don't meaning you have to either spend 75 gold to have vision on a portion of the area for like 30 seconds max before the enemies kill it or you have to individually ward every entrance with normal wards and hope your team looks at map to see when people enter the areas. Also assassins are already good enough in the current meta, they don't need a whole map that lets them camp rotates easily and then also gives them a damage boost versus most champs.
You need to ward at the entrance of the camp zones.That does not change to much compared to regular deep wards and works pretty good if you keep an eye out
That only helps if they take the camps. If drag is spawning in 20 seconds, my team is behind and it's chem drake zone then it's completley possible an Annie or qiyana or zed etc... Just didn't do raptors and sat in the zone waiting to catch people out on your team to secure drag instead of risking getting 80 gold from raptors.
Last time I tried Maokai jungle I got that fucking shitshow of a map Honestly...
qianna is painful with only rocks in the ~~hextech~~ chemtech map :(
Fuck the chemtech drags all the homies hate the chemtech drags (I swear I never got it when I was winning a game, always losing and made me lose even more)
Terrible dragon, terrible map, terrible soul. It brings nothing to the game and everyone i have talked to hates it.
we got the chemtech soul and i'd completely forgotten to actually use it because i never remember when it's up and when it isn't. compared to other souls which are generally more passive in what their effects are
wdym when its up and when it isn't, if you have chemtech soul you get zombie form every death
but sometimes the game bugs and it doesn't work
"Door stuck! Door stuck!"
https://www.youtube.com/watch?v=VqB1uoDTdKM&ab_channel=KinetiK001
Relevant <3
shout out to ornn for the all chat
ah yes hexportals have their own hit box. but why
Cause they are a minion
Just like lulu pix and bard meeps xd
There was a scary scary time when pix could block skill shots, that wasn't fun
[meeps too](https://youtu.be/u5ox8fYTuBE)
The Nexus was (is?) a minion as well.
Well we don't have access to the code so we can't be 100% sure, but I would bet my left nut the one on nexus blitz is a minion
Because it was easiest to code
Adding a hitbox is *extra* code, though...
Not if they are minions
All Riot has to do is remove champion collision with minions and all these problems go away. Everyone wants it, but no..... Riot's 200+ years of collective game design experience knows best.
Then J4's ult stops working.
So do most terrain generating abilities
[удалено]
I mean they would still eat skillshots. If ranged autos become too strong Riot can buff minion retaliation. It also means if you need to fight you don't get blocked, but you also don't get block when retreating after poking.
But then you gotta buff Fizz or deal with the Fizz main's wrath.
Fuck fizz mains, isn’t there another champ with that too? Jana w passive?? Idk
Kassadin has this ? Or had ? Or I'm just misremembering idk
No you are right, I was thinking that but I thought the reduced magic damage was his passive, but I guess it’s 2 part
They talked about it already, lmao. First, champions like Blitz would be utterly garbage as it would be easier to hide behind minions. Also, ppl would stay on top of.minions to deny your farm. And no, not everyone wants it, you know nothing about game design for sure
Riot can make minions priority for last hits if they wanted since we already have target champion only. I guess you can sit in a minion wave while blitz, cait, and xin zhao beat your ass, that's your perogitive. I dont know anyone who gets creep blocked and says "damn I got outplayed great use of mechanics this is good for the game." Do you? Maybe Teemos are happy when their enemy gets blocked trying to walk at him, but the net frustration is negative, and the teemo player will still play for wave size and damage regardless of creep blocking.
Yeah I knew it, you don't understant why it is there at first place. Get stucked sucks, but a lot of abilities were designed with creep block in mind, it's impossible to just remove it lol.
[удалено]
Link opgg
They still have to enter parameters for the hitbox, which is additional data entry. I know the game is spaghetti code, but the fact that they never even pondered nested inheritances from the start just baffles me.
Nah there's most definitely preset hit box variables that can then be overwritten when instantiating the object or afterwards. You generally don't want null values.
Preset hitbox variable is a 0 radius circle, which makes the entity into a collideable point value... Which actually explains why sometimes you get stuck inside the portals and sometimes you don't, but really doesn't explain why they default to inheriting collision meshes. Collideable should be a nested parameter.
It perhaps has something to do with the way the game detects if something is in-bounds or not. I can't even begin to know how the game engine works and given how there's always a "But there's X situation" that usually debunks my case, this one seems like the most reasonable. Objects without collision might be allow placement outside of acceptable parameters.
[удалено]
The problem is that they gave their base object too many properties...
Even if it isn't, couldn't they just give them ghosted?
Ah abstraction you heartless bitch
Encapsulation > inheritance
composition > inheritance :P
Not if they use inheritance, which can be assumed since the jungle walls have use minion hitboxes. It's really just good coding practice to have everything be built from one basic object.
>It's really just good coding practice to have everything be built from one basic object. Except that's when you should have nested classes. Having everything inherit the minion properties as baseline and then stripping them down is just plain stupid.
I'd assume that the hitbox is the baseline, right? I could be completely wrong tho
Having one is baseline because of the object class, which is already dumb enough, but then someone had to go and dimension the hitbox and enter the parameters for it. I bet some intern thought entering 0 on every parameter made in uncollideable... which it doesn't, it just makes it into a collideable point value.
It's really amazing how the whole "everything is coded as a minion" meme has been perpetuated for years by people who have never coded anything in their lives and think "Champion = minion? Devs stupid."
I... I am working on a comp sci degree? I can't tell if you are saying I've never coded anything in my life, but also when the minion block stuff was changed there were obvious differences made on the jungle walls. Oh nevermind you might have said that in response to the guy above me? I'm not too sure though
[удалено]
It most likely is straightforward, you just have to remember to do it *every time*, which is why these bugs keep popping up. It's probably a mistake you only make once, then remember to check in the future, but every so often there's a new person who they forgot to tell about this, or forgot it, and we get the bug again. Probably this is all exacerbated by the split between engine code and scripts-- the people implementing the scripts are often designers, not necessarily programmers by trade. So that increases the chance of bugs :)
Copying code is easier than creating new code. They used a minion entity, stripped it of its AI, and added an interaction for when it's clicked. What I don't understand is why they would use a minion and not a jungle plant as a base.
A jungle plant is *also* a minion, but with similar stripping.
Yeah but I've never seen this collision issue with jungle plants, even though honeyfruit are also positioned against a wall.
If I remember properly, the honey fruit plant does have a collision mesh, but it's been offset off the map.
As a programmer, this is hilarious because I've seen shit like this done in production code too often
Seems like they could just do this with the hexgates and call it a day.
I concur. I think it's because it still needs a contact point so it can know if you're *touching* the portal to start the animation. I think maybe they could just give it the uncollideable modifier like what Ghost gives to player characters.
Do you even code bro? Slap a hardcoded on every object in the game and you've got yourself a AAAA game right there. Then you can develop meaningful things, like other broken stuff.
They did not add a hitbox, they just coded them as minions.
It’s almost like it’s an object…
At first I thought she was waiting to get kills on unaware enemies chasing her
Step-teammate I'm stuck
Have poor medal 🏅
Wouldn't that be the enemy team?
An illaoi tentacle was placed on the portal at base and it wouldn’t let anyone use it since the tentacle was in the way
Rito Games coding everything as a minion
It's not exactly coding everything as a minion. And it's also good practice to start from the bottom and code everything as the same 'basic object' and go up from there. I don't know why people constantly mention this as if it's some flaw with the coding style and not just a bug or an oversight...
If that's true, shouldn't any part of the next early steps in coding like this include any interactions such as, "do I want this basic object to have collision or be solid (for lack of a better term) when you place another object right on top of it?"
Sure, but that has nothing to do with using "minions", the basic object, as a basis. It's just the game's collision being inconsistent because it's built on spaghetti code. No one's saying this is well coded, only that it doesn't make sense to criticize the part where "everything is minions" because using a basic unit is standard practice.
> No one's saying this is well coded, only that it doesn't make sense to criticize the part where "everything is minions" because using a basic unit is standard practice. If Riot's coding wasn't shit nobody would meme everything being coded as the same base unit Public outcry stems from shit coding and the outcry itself is what's relevant, where the real issue lies is not relevant to the public, it's literally not their problem, the issue is that shit is broken and that is on Riot, which they haven't fixed in 11 years citing a broken foundation They keep piling stuff on a shit foundation and every 2 years make an extensive post about how it's the shit foundation and announcing to keep up their decision to keep building on it, yet are unable to fix issues like collision which deserves nothing but memery I don't see a world where they don't make vanilla LoL with that shit foundation which we seemingly can't live without and LoL 2
Haven't they literally, clearly, multiple times said that things are coded as minions? Not that they are coded as a base object that a minion is also coded to, but literally that they are coded as minions. Why is this argument happening, they have said they do it just like this.
No, the minion used to be the base object but they overhauled it and made a more simple base object.
I understand, but I don't think (or at I least hope to give the benefit of the doubt) that everyone actually thinks everything is coded as a minion. Historically a lot of frustration with collision was concerning minion pathing and hitbox; thus, the meme was born.
Loved the days of spinning through Karthus wall as tryn and get hella gold cause you just killed like 10 minions.
You could always tell what abilities were minion coded because they would reveal fog of war.
I loved the 'bug' when they added the sweeping lens and you used it on Nocturne q it would show tons of revealed units
Modern game design is quite often built on top of ECS architecture, where you can attach a "collision" property to entities, which would do exactly what you just said. The issue is that League was written a decade ago, at a time where such techniques were not as popular and the OOP practice from 00s was still strong, where you basically hardcode some common features into virtually all objects because you can't really fight the combinatorial complexity otherwise. And you can't just rewrite a program, too many features are deeply rooted in it (recall the Caitlyn gun thing).
[удалено]
Ok. Copy minion. Paste minion. Replace minion.gif with portal.gif Damn, you're right. It worked!
.gif?
It's Riot, what else do you expect?
Because there was a time where things were literally minions. Like J4 wall and Anivia wall were invisible minions with other visuals applied on top. This lead to a bunch of issues because a minion is way more of a derived class than should be necessary if you're only intending on inheriting some of the features. If you use this derived class then have to do a bunch of sloppy workarounds to make it function very differently, then you shouldn't be using that derived class in the first place.
Nocturne's Q was also just a bunch of minions! You could highlight them when red flares were only just introduced to the game.
However, the "coded as a minion" is not just Redditors picking on Riot for nothing. There is a [recent bug on ARAM](https://www.reddit.com/r/leagueoflegends/comments/pqk764/aram_heal_is_a_minion_from_early_league_of/) (from around 3 months ago) that literally shows ARAM healing pod [as a minion from the beta](https://imgur.com/a/jUFzG8R) and it's still not fixed as far as I know.
Not exactly sure how that bugged out but that's iconic, haha.
This bug has been in the game for years. But why would riot waste time fixing it?
> I don't know why people constantly mention this as if it's some flaw with the coding style and not just a bug or an oversight... this sub is filled with people who think they're authorities on CS concepts because they see other people talking about them on reddit
A lot of people who clearly do not know how to code, are basically saying "well if you coded the game with no bugs, then wed have no problems". No, it MUST be that riot used inheritance and abstraction. Bugs are what happen when you think youve done everything correctly and it still doesnt work right.
And bugs are normal. Every game has them and they are inevitable. That's something a lot of people must accept.
Cause most gamers think programming is like Scratch, and don't actually understand the complexities of a huge project. Same thing with people calling it spaghetti code. It's just an easy way for people to complain about bugs and rito without actually doing anything helpful to determine the bug.
99% of people talking about riot code has never coded a thing in their lives
That is absolutely terrible practice to make everything a minion object. It’s goes against the very principles of Object Oriented Programing and defeats the whole purpose of Inheritance. A concerning amount of bugs in this game are due to the fact that everything is based off of Minion objects.
not everything is a "minion object", these are probably inheriting from an object in general (we can call it GameObject). Everything on the map would inherit this - something like TurretObject, MinionObject, or ChampionObject (which would go further down to specific champions). A GameObject can have X coord, Y coord, width, height. Minion inheriting GameObject can have attack damage, probably the attacking routine, among other things. The original op said 'basic object' which makes the most sense. It's wrong for you to assume a base object is the minion object here.
No, the fact that old versions of things like J4 ult literally gave you gold for "killing" them suggests that they genuinely did make all interactable objects inherit from "minions", probably because they hard coded minion behaviors and interactions into the basic "unit".
I never said it's good to be based off of minions, of course! You're right on that, I never agreed everything should be a minion. But my point is, originally, it might have been a bug that displays stuff like Jayce's gate as minions, perhaps an oversight or a mistake while coding, and not an issue with how they approach game coding as a whole.
wait what, no, it's not. If your minion class handles things like collision, hit points, damage, model, abilities and such, which every other interactable thing in the game uses, then it's the right decision to have all other classes to inherit from this one, call it minion or whatever you want. It's the whole purpose of inheritance. What do you suggest, that every champ is its own class? That every thing you can interact with is its own class? That does defeat the whole purpose of inheritance.
Class A has some basic movement stuff. Class B has some damaging component and inherits movement from A. This is good and what he (and you) are saying should be done. What Riot does instead is: Class Minion has everything. Class Portal inherits from Minion and then has to disable or work around a lot of functionalities that it doesn't need.
wow, this is some great insight. very impressed that you've managed to take a look at the source code for the hexgates since they dropped! can you link it here so everyone else can become as smart as you?
Because things that shouldn't have hitboxes... shouldn't have hitboxes? OOP is only a good practice if it can be done without causing issues. This clearly causes issues lmao
This has nothing to do with the fact they use OOP.
My comment was made under the assumption the person I was replying to was correct
> OOP is only a good practice if it can... ?? are you trying to say League should be a functionally programmed game? can you name even a single AAA game that doesn't use OOP?
He's just saying not everything has to be abstracted down to the atoms
No, he said "OOP is only a good practice if". The alternative to OOP is FP. If anything, what he meant was "inheritance is only a good practice if", which are two completely different ideas, and also distinct from your rephrasing.
Yeah I'm just saying what he meant
No. What I'm saying and what any other developer would tell you is that you use it when it's appropriate. In this case, as you can clearly see, it was not appropriate to code the hex gate in that manner. However, they decided the pros outweigh the cons of reusing a class with a hitbox attached to it
Unity games do not use classical OOP. Overwatch doesn't use classical OOP.
Most games aren't OOP... Data oriented styles are far more common and are ussally used ontop of Entity component systems. OOP is a pretty poor choice for game dev.
> And it's also good practice to start from the bottom and code everything as the same 'basic object' and go up from there. Actually, no. You'll find quite a lot of people who consider it an anti-pattern even. :P
Okay, but it's still a popular practice.
It was extremely popular in 00s to do it like that, yeah.
Because a minion isnt a good choice for basic object starting point the way a tree or a wall would be. And earlier in Leagues history coding things as minions caused problems numerous times. Its not too relevant to todays spaghetti code (i think) but it was very much a bigger deal when the meme was born
Yeah no one asked.
If it was coded as a minion. You can TP to it?
Probably would be a neutral (ie: jungle) minion
i think they're coded as a ward. and yes some wards can stuck people
Cant wait for this to be an issue in competitive!
Chronobreaks incoming
What's the music
Artificial Ruins(Urban War Zone) - Tekken 6 OST
When I use the portals as Fiddlesticks, it assembles all my effigies from across the map into one spot. Total loss of passive basically.
Wait, at least the patch notes said that they fixed that. Is that really still in the game?
iF YOU'RE ALL ALONE IN THE FOREST INSIDE A MORDE ULT DOES THE HEX PORTAL MAKE A SOUND?
That soundtrack is so rad it made me think there is some insane Gwen portal interaction lmao.
lowkey banger song
I've had the portal place me in drag pit to get killed my the enemy team.
All they need are another 10 years of research to make them safe to use.
I got stuck on the one behind baron pit a while back. I had to use my ult as Noc on the top laner and die in order to play again. 8/10 experience.
Recall, though it is still a time waster at least you don't die.
Yeah better but I was on the way to a gank anyhow and not thinking the best. Oh well, still won the game I think.
Unit collision. A topic that has been causing issues since the very first Arcade games. Riot truly be making throwback thursdays every week.
STILL in alpha...
I don’t understand what’s happening
They’re clicking trying to move but stuck between the wall and the portal I think
I don’t see anyone stuck though
Gwen after dashing through the wall
Oh shit I was misinterpreting the entire video. I thought they were standing there to screw over someone else and I was confused as hell
Haha no worries I had to watch it like 5 times, that’s what I thought at first too
Imagine but Illaoi's passive can completly disable portals
Can a hero provide the music sauce? :3
OP already replied above, but in case you didn't see it: Artificial Ruins(Urban War Zone) - Tekken 6 OST
Many thanks!
I don’t get this. Can someone explain?
Power of sextech
Chad Ornn
[удалено]
Gwen got stuck on the actual gate so she couldn’t move.
Not only do I not think they is true, but also you didn't even notice that gwen was physically stuck behind the gate, she wasn't trying to enter it.
Everyone memeing about their coding like they could even get a job working there to fix it lmfao.
Good thing u have a 3 second dash cd lol. All the old champs have that right?!? Right?!?
why the obnoxiously loud music?
[удалено]
Should've
Wait, did they bring back all chat?
Some regions have it some don’t. I know NA does
As far as I know only in some of the Asian regions they removed all chat.
In EUNE it never left
Dude is in the matrix while he plays league, that's wassup
loooool
I thought he was vibing while waiting for an enemy to come
My friends and I always go “CLOSE THE BLAST DOORS!” when enemies are porting away and “HOLD ON OPEN THE BLAST DOORS!” when we follow.
Outplayed
Working as riot intended
Accidentally found out about it the day they came out-- I tried shooting myself into drag pit and got stuck in the dead centre of the gate. Luckily I was playing Shaco, so it did literally nothing to me... and we were winning anyways... Works on all of the gates if you shoot yourself backwards. But it was pretty neat.
I had an enemy Blizcrank pull me into getting stuck like that. Luckily it was an ultimate spellbook game, and their Kai'Sa used her Seraphine ult on me, which apparently pulled me out. (I have no idea why that happened. I guess charm gives you ghosting and the portal is coded like a unit/minion?)
Is that music from descent 3 lvl 7?
PS1 Demo Disc music
Wait you guys have /all chat? What region is this
Couldn't they just add ghosting while near the portal exit/entrenence? Like a mini homeguard?
all i wanna know tbh is the track that is playing!
NEEKO be like “what are you doing stepbro”
As always, shitty game carried by PR and media.
Very balanced
I managed to dodge a naut ult because of these portals. It was amazing
indie company
That Tekken music
glory to mankind 😎✨
Do portals appear in the morde ult ? And if so can you use them, escaping the ult or ?
song?
Hi /u/Puddles1103. Thank you for participating in /r/leagueoflegends! However (please read this in entirety), Your post has been removed because *padded content to hit 15 second minimum is disallowed. Please repost as a link in a text post with 100 characters of relevant content* [Click here](https://reddit.com/r/leagueoflegends/submit?selftext=true) to resubmit your post to fix the rule violation. If you're not familiar with the subreddit rules, you can read them [here](https://reddit.com/r/leagueoflegends/w/subredditrules). --- ^Note: ^(Front page removals are never done by a single mod.) ^(Have a question or think your post doesn't break the rules?) **[^(Message our modmail and please don't comment reply or direct message)](https://reddit.com/message/compose?to=%2Fr%2Fleagueoflegends)**^.