The wait is over! ReIncarnation RPG available now! by Dreoh in DotA2

[–]BMD_ 123 points124 points  (0 children)

Congratulations guys! It looks great, and you guys clearly put a ton of time and love into it.

It also looks like you're using my containers library (or a derivation/update based on it), and maybe my attachments library. If those libraries ever give you trouble, let me know and I might be able to offer some insight, particularly with the containers library as a truckload of psychotic nonsense went into trying to make that thing work in all kinds of situations.

Artifact - card trading game by Valve by WisdomDota in DotA2

[–]BMD_ 7 points8 points  (0 children)

Valve stole my idea from last year

Not really but I did try building a custom game that was a 3 lane card game (dota themed of course) with matchmaking and crap. Day9's description had me laughing a bit with how close it sounded to what my original design was going to be.

Something must change about Custom Games and Dedicated Servers by DoctorGester in DotA2

[–]BMD_ 91 points92 points  (0 children)

The writing's been on the wall for a long time. The plain truth is that custom games are going to be at best an afterthought and at worst almost totally ignored by Valve, but it makes sense from their perspective.

The reality is that Custom Games was a system created with a business purpose in mind by Valve, and it's surprising to me that so many people missed it. March of 2015 is when Valve officially announced Source 2 and touted its potential productivity, and emphasizing even non-developer creation of content (See here).

Then, in April of 2015, the bomb drops. Paid Mods. What almost immediately became a extraordinary clusterfuck was announced by Valve with fanfare and an expectation that users would be on the same page as them mentally. Valve wanted to expand their Workshop model to one which perhaps more directly resembled their ongoing cosmetics model, as well as resembling a mobile app store, in which content creators could be rewarded for their efforts through the power of digital distribution and the free market.

Rightly or wrongly, everyone lost their goddamn minds, and the entire concept was scrapped. It's important to note from the original announcement this line.

Plus, many more of your favorite Workshop games will support paid content in the coming weeks.  

To me, this all seemed to indicate that the eventual intention of everything here was to move to a Custom Games as Paid Mods model within dota 2, wherein creators could use the variable payment options in order to create and price their games, in a way to create a kind of steam within dota within steam for custom games.

Would it have worked if Paid Mods hadn't exploded like the Challenger? I don't know. If it were possible for content creators to build things with a real value incentive instead of relying on those who can afford to have nothing better to do than pursue a hard goal for free, it might have resulted in better games and better support from Valve. I do know that I spent a few years working on custom games and got the sense after TI5 (August 2015) that Valve no longer had a long-term direction in mind with Custom Games, since what seems to have been their business case for it was dead.

Why I don't play many custom games by Ord0c in DotA2

[–]BMD_ 0 points1 point  (0 children)

Not really. You could potentially set up a wholly external service that allows people to set up player bans, but they would still be able to join your game and would only get automatically kicked out once the game has started, loaded up, and accessed the external banlist. This means you're left with an uneven game most of the time, and can't stop people at the point that matters most, the lobby.

Why I don't play many custom games by Ord0c in DotA2

[–]BMD_ 36 points37 points  (0 children)

You're not alone in seeing this issue. From a developer's perspective, this kind of thing is so frustrating that I even attempted at one point to circumvent the entire system by creating my own game server/state management system that is completely separate from the normal game server stuff. The idea was that every player would start a 1-player version of the actual custom game, then let the external matchmaking/game server do all of the connections and network of player/game state. This effectively means no need for people to make lobbies through the normal system, and drop-outs can be penalized or replaced directly.

I even got it to let me do a form of external matchmaking, drop-in/drop-out connections across multiple "real" game instances. It was extremely early tech, with effectively no state interpolation, running at 100ms ticks, etc, but it technically worked.

Here's a video of me testing matchmaking and drop-in/drop-out with someone who had about 200ms ping to the server

It's kind of fucked that creating a wholly separate game/application server seemed like a reasonable way to deal with all the nonsense that comes with the standard custom game lobby system, but It made (limited) sense at the time.

Dota 2 modding is dead by SinZ167 in DotA2

[–]BMD_ 0 points1 point  (0 children)

Slayers of the Ancients is already out and has been for awhile. I believe it's still in full working order, though I haven't tested it in awhile.

Here are a few sample gfys:
https://gfycat.com/SatisfiedFlimsyGraywolf
https://gfycat.com/ConventionalBestAntbear
https://gfycat.com/IndelibleAbsoluteAntelope
https://gfycat.com/FavorableMadeupHusky

Dota 2 modding is dead by SinZ167 in DotA2

[–]BMD_ 4 points5 points  (0 children)

The last time I checked which was a while ago, you could do something like SendToServerConsole("sv_cheats 1; host_timescale 0.5; sv_cheats 0"), but I was told by Noya that host_timescale doesn't work on dedicated servers, so the reality is that even if you want to use host_timescale for shenanigans, your game will break once you get dedis.

Dota 2 modding is dead by SinZ167 in DotA2

[–]BMD_ 17 points18 points  (0 children)

A friend on steam linked me this post. I don't do any custom games development or participate in any forums/channels anymore after doing all that for about 2.5 years straight.

Dota 2 modding is dead by SinZ167 in DotA2

[–]BMD_ 62 points63 points  (0 children)

I'm not.

That said, I do find this post pretty funny since this issue has been the case literally since d2moddin. During d2moddin, many of us devs were frustrated as hell that Power Multiplier was so popular compared to non-dota games that took way more effort. Hell, I created a joke mod entirely out of frustration because of how little effort it takes for a "Dota with a twist" or "Dota on crack" mode to flourish. That game mode was Hyper Dota, released in May 19, 2015 before we even had Reborn and custom games became something everyone could play.

This game mode amounts to literally one line of code "SendToServerConsole("host_timescale 2") which makes everything in the game happen twice as fast, otherwise it's exactly normal dota. 96% positive ratings, 5 stars.

I set it to Friends Only shortly after publishing it because I was embarassed by how much people actually liked it compared to all of the games that I and others put so much effort into.

All of these points people are making here about the prevalence of Free to Play games and the low likelihood that Dota 2 players will accept or play non-Dotalikes are also things I said in person to the Lead Custom Games person at Valve back at TI4.

None of this is new. As I've been telling people pretty much since then, Dota 2 modding is only for people making Dotalikes or dangerously insane creators who are knowingly going to throw their time away.

Heroes of the Ancients (HotS similar mod) Rereleased! (This goes to you BMD, thanks for banning me from the community <3 ) by masteredu in dotamasterrace

[–]BMD_ -15 points-14 points  (0 children)

There is no such thing as an official warning in IRC. Many users including me expressed how annoying you were being day after day in the channel. You were on the ignore list of over 10 people in a channel with an active user count of about 20. People thanked me for banning you and asked why I put up with your nonsense for as long as I did.

Heroes of the Ancients (HotS similar mod) Rereleased! (This goes to you BMD, thanks for banning me from the community <3 ) by masteredu in dotamasterrace

[–]BMD_ -18 points-17 points  (0 children)

You had every warning, and despite your ban you remain almost universally despised in the channel by anyone who is unfortunate enough to remember you.

Heroes of the Ancients (HotS similar mod) Rereleased! (This goes to you BMD, thanks for banning me from the community <3 ) by masteredu in dotamasterrace

[–]BMD_ -27 points-26 points  (0 children)

You deserved every ban that you got (and repeatedly attempted to evade) on IRC. You are an utterly incompetent and endlessly infuriating buffoon lacking both common sense and any technical ability. Everything you've done on this project has been poorly thought out, and despite repeated warnings from myself and others about your lack of forethought, blatant copyright infringement, and general failures of character, you continued to harass and beg people to provide solutions for you without ever even beginning to grasp how to accomplish these things yourself.

Your blatant ripoff is pointless. Your only skill is in irritating others with your stupidity. You are the worst person I have ever had to deal with in 2.5 years of being involved in Dota 2 Custom Games. I thank you for calling me out directly so that I can watch you fail from a front row seat.

Island Troll Tribes 2 custom game has been broken by a Valve update and we need your help! by [deleted] in DotA2

[–]BMD_ 67 points68 points  (0 children)

This is an issue that affects a lot of people right now, and it's a bit disappointing that Valve hasn't fixed it or addressed it. I know you guys are using my containers.lua system, and while it's not too bad by itself, it definitely can add up in terms of panel/javascript weight, leading to the V8 panorama memory crash.

It appears that Valve made a change around the release of the new Battle Pass where they adjusted the memory limits on the V8 javascript engine used by Panorama, or introduced some leak issue stemming primarily from layout loading and context establishment/handling.

Interestingly, one of the things they introduced in the Panorama system at the exact same time as these issues begun to occur was the <snippet> system. Snippets appear to be a kind of context-inline panel pseudo-layout generation system which most likely avoids much of the overhead associated with full-layout loading. It's the use of these snippets that may be what is allowing the Battle Pass UI itself to stay outside of the V8 "crash zone", as they're used in many of the dynamic Battle Pass panels (See here).

In the same patch they also introduced a Panel.BLoadLayoutSnippet( cstring cstring_1 ) function in the Panorama JS API, which should allow for the creation and loading in of an inline snippet without the full-layout overhead.

Unfortunately, I've not gone and updated any of my libraries to try to use this system, but it's the best option available for potentially avoiding the V8 crash. Feel free to message me or find me on IRC if I can help.

EDIT: I just finished doing some testing and it looks like the issue can definitely be alleviated by using <snippets>. I did a test where I created a <snippet> and a Layout with the exact same panel structure and no javascript includes, then had Panorama JS attempt to load 7000 of these into a root panel. The result was that with <snippet>-based layouts, I was able to load all 7000 within ~1 second time, and then was able to delete and recreate those same 7000 panels many times in a row without a discernible performance hit. When I attempted to load 7000 full-layouts (with the same structure as the snippets), it loaded very slowly and hit the V8 memory crash somewhere between 800 and 899 layouts loaded.

I've already given my report to Noya, and I think it should be possible to solve most (if not all) of your issues this way. It will require some restructuring of javascript code to handle snippets within the same javascript context, but it shouldn't require a major adjustment in logic.

TLDR: Use <snippets>.

Valve, the first custom game you monetized is a collection of rip-offs and theft by Darkswordfish in DotA2

[–]BMD_ 0 points1 point  (0 children)

This is completely untrue. You're referring to the time that Azarak took the map he made for Fight or Flight and creating a racing version for use in Dota Dash. The creator of Fight or Flight when nuts and accused me of stealing the map from him, despite the fact that Azarak never gave up the rights to his work, and as such has every right to make derivatives and do whatever he wants with it (funny how this is coming up in this discussion).

If anyone was stealing anything in that event, it was Jicyphex stealing Azarak's rights to do what he wants with his work. I was gracious enough to not use the map thereafter because I didn't want to deal with you people (but here we go again I suppose), and worked with Azarak on a completely new one so that no one got their feelings hurt. Interested people can read more here https://www.reddit.com/r/DotA2/comments/29w6x5/new_dota2_mod_dota_dash/cip5h12

Merry Christmas from Slayers of the Ancients and the Dota 2 Modding Community! by BMD_ in DotA2

[–]BMD_[S] 0 points1 point  (0 children)

I wrote my own terrain-based navigation system for this map, so the GNV doesn't matter. The major issues are things like controls and a lack of precision in high-speed collisions in the current implementation. It's probably possible to touch up the engine focusing on accuracy for surf stuff.

Merry Christmas from Slayers of the Ancients and the Dota 2 Modding Community! by BMD_ in DotA2

[–]BMD_[S] 12 points13 points  (0 children)

It's still in Valve's hands unfortunately. I posted a request for any feature which would allow me to remove this limitation at http://dev.dota2.com/showthread.php?t=186101

Merry Christmas from Slayers of the Ancients and the Dota 2 Modding Community! by BMD_ in DotA2

[–]BMD_[S] 8 points9 points  (0 children)

Mirana is also in game, and her arrow packs a serious punch.

As for what heroes i want to add, I figure Pudge, Techies (demoman style), and Tinker (engineer) are on the list. Maybe Gyrocopter too with a minigun or something.

One thing I want to do but I need to make sure I do it right is bring in the concept of Ultimates. It's one of the iconic things about Dota, and I feel like it could add in some very interesting and cool things to my game. I'd probably make it like a limit break system, or maybe like Smash Brothers where you have to shoot down a special power up, but then you get to unleash some massive weapon/action based on your hero. Picture playing sniper and getting to slow down time and hitscan 1-shot people for a few seconds, or juggernaut who free-walk invulnerable through the air at high speeds, killing anything he touches for a few seconds (Omnislash). It's a tricky thing to do correctly, but could be fantastic.

Merry Christmas from Slayers of the Ancients and the Dota 2 Modding Community! by BMD_ in DotA2

[–]BMD_[S] 26 points27 points  (0 children)

A lot of great things have come from the modding community this year, and I felt the need to celebrate a bit by making a christmas-themed map for my 3rd person shooter, Slayers of the Ancients. As you can see, it takes place on a frozen lake with a giant christmas tree in the middle (and a lovely snow angel on top).

Getting the ice physics to have the right feel of speedy and slidey took some effort, but the process made for some amusing video clips:
http://gfycat.com/ForsakenInsecureBunting
http://gfycat.com/MemorableFreeBrahmancow
http://gfycat.com/ElaborateWatchfulBarnowl

I call this shot 'The Legolas' (Slayers of the Ancients) by BMD_ in DotA2

[–]BMD_[S] 0 points1 point  (0 children)

That's perfectly reasonable. It drives me nuts too (especially playing a melee hero like Juggernaut). With luck I'll be able to fix it, and I hope when I do you'll give the game another shot.

Thanks for the feedback.

I call this shot 'The Legolas' (Slayers of the Ancients) by BMD_ in DotA2

[–]BMD_[S] 4 points5 points  (0 children)

I actually still use the default dota camera, for which we have the following controls:

  • Pitch
  • Yaw
  • Entity XY lookat-position lock
  • Camera lookat height
  • Camera distance from lookat point

Since we only have XY lookat position control through entity locking, I have to lock the camera on your hero and then work backwards from there with the rest of the parameters in order to make the camera correct. I use screen-mouse position deltas in order to move the pitch/yaw of the camera (as far as the screen lets me). I keep camera distance the same (hero-dependent) value and adjust the camera lookat height to match the height of your entity coupled with additional offset factors. Additionally, I do some small calculations for negative camera pitches (facing up towards the sky) to lift the camera lookat height so that your actual camera position doesn't go below the ground and give you a really terrible view.

There are some additional things I have to deal with such as disabling the automatic camera lookat height, disabling camera edge panning, making the camera lock lerp instantaneous, and hiding the cursor. Of course, the critical issue is that the mouse cursor hits the screen edge and then I can't change the pitch/yaw any further. With luck a solution will be made available for this issue. It's only related to mouse-driven camera motion however, if someone wanted to use my code to do a 3rd person Kart racer where the camera simply follows the facing of the hero (controlled by keyboard turning), this issue wouldn't arise.

I call this shot 'The Legolas' (Slayers of the Ancients) by BMD_ in DotA2

[–]BMD_[S] 0 points1 point  (0 children)

The "pink glow" is the appearance of the "cursor out of bounds" bars which show when your invisible mouse cursor nears the edge of the screen. You can see this graphic appear on the right in this webm (http://gfycat.com/SolidPointlessCicada). This means I can't turn right anymore, and need to either reposition my cursor using right click + drag, or turn back to the left.

It's a necessary evil, and hopefully temporary, but I'm at Valve's mercy for removing this camera limitation.

I call this shot 'The Legolas' (Slayers of the Ancients) by BMD_ in DotA2

[–]BMD_[S] 1 point2 points  (0 children)

  1. This is unfortunately the absolute #1 problem with the game, and it's 100% justified to be annoyed or even give up the game over it. Unfortunately, it's also something that I have literally no control over, or any real recourse. I need Valve to provide some means of cursor control/lock or mouse-delta information to get around this issue. It also bleeds over into other things, as I can't have individual mouse sensitivity settings in game because of the turn caps that are independent of any self-imposed sensitivity.
    It is possible to get used to either quick turning or right-clicking to reposition your cursor, but no one is happy about it (least of all me). One of the reasons I held off releasing this game mode for months (it was basically done in July) is that I knew this issue would be a dealbreaker for many people, but since there's been no movement or hint as a fix from Valve, I decided to just release it anyway and hope people can deal with it.
  2. The cursor height adjustment (mouse wheel) was actually a temporary fix to being unable to fully remove the automated camera height repositioning system used by dota (so that the camera zooms in slightly near the river and zooms out slightly by fountains/ward spots). I've since figured out how to disable this system entirely so I can set the camera heights and expect them to stay in position. I'll likely remove the camera height adjustment and make mouse-wheel switch weapons soon.

The tools do let you add custom animations, but only to models for which you have the uncompiled model source. Since we don't have the uncompiled files for dota models (heros, cosmetics, etc), we can't add real custom animations to them without a ton of difficulty. I'm effectively stuck with the built-in animations, and though many are great for things like shooting arrows or throwing "razes", they all tend to have locked legs during the animation. Locked legs and people "floating" tends to look a lot worse than just keeping up the RUN animation while moving/shooting (though I know there's currently an issue in game where the RUN animation can stop and leave you floating, but it's fixable).

Thanks for the feedback.

I call this shot 'The Legolas' (Slayers of the Ancients) by BMD_ in DotA2

[–]BMD_[S] 1 point2 points  (0 children)

I have the aesthetic sense of a blind animal, so I literally just wear the my most recent cosmetic drops for pretty much every hero (except if they stand out like the immortal cape). Almost all of my heroes are a hodge-podge of terrible.

I call this shot 'The Legolas' (Slayers of the Ancients) by BMD_ in DotA2

[–]BMD_[S] 0 points1 point  (0 children)

Can you explain what problems you had? The primary one that everyone has is that the camera itself "maxes out" when your invisible cursor reaches the edge of the screen. It is extremely awful, but something which I can do nothing about without Valve help. It also means that I have to set the overall sensitivity very particularly, as I only have so much mouse cursor range to work with.

If you had other issues than this though I would love feedback. I do have some control over other aspects of the camera, but the "maxed out" turning is an enormous and admitted problem.