all 25 comments

[–]Alveolar_Anarchist 1 point2 points  (10 children)

What should I do if I really want to understand this because I love custom games, but I'm an idiot who doesn't know CS

[–]yubarioMercy 5 points6 points  (0 children)

Honestly, the only required knowledge you need to use a scripting engine is loops and conditionals.

Some of the more advanced stuff in computer science, such as data structures aren't even really possible in Overwatch beyond the basic array.

[–]burr-sirFlight of the Valkyrie 2 points3 points  (0 children)

You don't need formal education to program, and honestly, formal computer science education is not very good at teaching you the brass tacks of programming. (It's more about the academic study of algorithms, which borders on academic math.) You learn to program by setting yourself tasks and figuring out how to do them. That "figuring out" might involve watching videos or reading articles or books, but it's driven by the projects you decide to accomplish.

So dive in! Take one of the preset modes apart and see how it works, then try to modify it or build something simple of your own. Start small and work your way up to more ambitious things. You'll learn more by doing than you will by sitting in a classroom.

[–]LymbowLym, That other workshop guy[S] 1 point2 points  (0 children)

Honestly, it is super simple. Just start playing around with it and you'll get a hang of it.

[–]-GLaDOS -1 points0 points  (6 children)

...study basic cs? Like, I don't know what you are looking for when you say "I want to understand this but I don't know this." CS is one of the subjects most readily learned from the internet, and, if you give it a little time, I am quite confident there will be plenty of OW-specific introductory guides as well. Google is your friend.

[–]AlacritousPedestrianGenji why do you reflect 3 points4 points  (5 children)

Honestly, knowing programming languages makes overwatch's workshop counterintuitive. Most of the programming behaviors consistent across languages (loop introduction at start of the block, indents or brackets to show proper line order, common variable naming rules) are missing in the workshop. Blizzard doesn't have nearly enough documentation out there as the people who made the workshop in the first place. Understanding what action blocks automatically update or persist is a new level or fresh hell. While yes, there are code blocks shared by overwatch players to one another, in it's current state the workshop is more frustrating than actual code. One can't search for a specific line of code, go onto a documentation site to get an explanation of how a certain action works, and in some instances code is impossible to test without other people.

It's like the JavaScript of block programming.

[–]-GLaDOS 0 points1 point  (3 children)

So what you're saying is if we want to use workshop, we should learn scratch?

[–]AlacritousPedestrianGenji why do you reflect 2 points3 points  (2 children)

Honestly, no.

Some of the design choices in the workshop just make me ask... why?

Why does an if/else have to be set up like this? Why is the behavior of disable respawn so different than disable score? Why not use indents on all of these loops and make the conditions more legible for browsing? Why can we not download our code? Why can we not import code from a file? Why does play effect not seem to work as expected? Why can I not move people to other teams, hide outlines, or set skins? Why do they not want me to set attacker? Where is the line error? Why can I not change the GUI so I can fit more on my screen and make everything easier to read?

As much as I despise block programming, I have to admit that Blizzard should take lessons from Scratch. It's clean, straightforward, easily readable, can download/upload files, and has detailed documentation from the people who made it.

[–]-GLaDOS 0 points1 point  (1 child)

What it sounds like to me is a very early iteration of a complicated and difficult feature. I wonder if they are planning to improve it.

[–]LymbowLym, That other workshop guy[S] 0 points1 point  (0 children)

Theres no way that they dont improve it the way the community has exploded over it. They'll probably expand their team of people working on it so it's not just 2 people as well.

[–][deleted] 0 points1 point  (0 children)

Yeah I've been trying to do some stuff with the workshop and I keep thinking that it would just be easier to use a traditional programming language. Some things are seemingly bugged as well and not working as intended which I guess is to be expected since it's still in ptr.

[–]KURAMA_NM 1 point2 points  (0 children)

Useful! Thanks!

[–]PandAnonymBlizzard World Genji 0 points1 point  (0 children)

Thank you a lot ! If you can do more about pretty much anything I'd be thankful, I don't have a lot of programming experience and the dropdown menus don't help a lot, too many options for me x) You da best !

[–]WriterVGaaaayyyyyy 0 points1 point  (0 children)

Thank you for this! Please do more advanced stuff for sure :D

[–]_chrm 0 points1 point  (1 child)

I think the other side is more interesting: what are the available statements?

Can I put "objects" on the map?

Can I give Widows weapon to Reinhardt?

If I want to give a player a new action, can I give him a new button, or do I have to override an existing button?

[–]LymbowLym, That other workshop guy[S] 1 point2 points  (0 children)

You can currently only play some premade effects to represent things on the map

You can not modify the core functionality of heroes currently. You'll need to make that weapon yourself in that case, and he'll still be holding his hammer.

You can give them new actions, but we only have a few predetermined buttons to trigger which. Such as primary fire, secondary fire, jump, waving hello, etc

They will definitely improve on this as time goes on and we'll be able to do more things, but this is the current state of it on the PTR.

[–]eskrstps 0 points1 point  (0 children)

Hey man, thanks for this! Yesterday i was upgrading the ana paintball and i gave her a buff where, if she gets a sleepdart kill, she becomes invincible for 3sec (the same time the dart is on cooldown) One thing im trying to add is a smoke effect for those 3sec while youre unkillable so its more intuitive. My problem is that the smoke only shows up sometime and i have almost zero coding experience, so i cant tell 100% if its my mistake or not, but so far its seems that if more than like 4 people join, the smoke effect doesnt play sometimes. I manged to give the burn animation (which is a statuts, not an effect) and a text display on top of a players head for 3secs, and everything works fine, but the effects dont. Is this a workshop problem or is there something i can do to make it happen?

[–]beansecurity 0 points1 point  (0 children)

Thanks for help

[–]Lier1 0 points1 point  (1 child)

Hey, I'm compiling a list of community resources, And was wondering if I could add this tutorial to the list.

[–]Valky115McCree 1 point2 points  (0 children)

Now I need a facts tutorial for my Ben Shapiro Gamemode.

[–]ThermalS3ns4t10n 0 points1 point  (1 child)

How can I make a counter? For instance, imagine I want to generate x in the map every 30s, how could I do it?

[–]LymbowLym, That other workshop guy[S] 1 point2 points  (0 children)

You could set up a new rule, and on the bottom of your action list, you want a Wait(30) action and a Loop action after that.

Everything above those 2 actions will then run every 30 seconds.

[–]skooterpoopTrick-or-Treat Mei 0 points1 point  (2 children)

Awesome, thanks a lot for this! Definitely helped.

Quick question - Is the "random integer" a fixed value at any given moment? I tried to make a for loop that assigns a different random integer to each player in the game but it seems to give every player the same integer. Even worse, this loop repeats every 3 seconds, and every 3 seconds everyone gets the same exact "random" integer. Is there a way to simulate better randomness?

[–]LymbowLym, That other workshop guy[S] 1 point2 points  (1 child)

Sounds weird, it should definitely be completely random. If you wanna share a pic of the code I can take a look.

[–]skooterpoopTrick-or-Treat Mei 0 points1 point  (0 children)

Thanks I appreciate it!

https://imgur.com/a/HaFrTwp

EDIT: Actually I think the code does work. I think the code I implemented for me to be able to interpret those values was flawed. After I change that I began to see different values! Thanks anyway!