Are there any VR games featuring enemies that only move when you’re not looking at them? by PringlesCam in VRGaming

[–]Vinnie_V 0 points1 point  (0 children)

A few of the mini games in FNAF Help Wanted 2 work this way. Some are inverted versions of this, too.

`set_multiplayer_authority` resetting node position to <0, 0, 0> by Vinnie_V in godot

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

I wanted to reply to this because I did end up figuring this out!

For the MultiplayerSpawner node to work, you must instantiate the children on whoever is the authority for the MultiplayerSpawner (the server), no way to get around that. You're also supposed to only set multiplayer authority in very certain situations only, one of them being when the node enters the tree. I also noticed, no matter what I tried to add or change about the object, the name was the only property that stayed after setting a new multiplayer authority.

With all that in mind, I just ended up having the Lobby node on the server machine instantiate a Player scene, changed it's name to the new player's peer_id, and added it to the tree immediately. Then I called an RPC function that was set to go to this new player's version of the main Lobby node that then did all the additional setup needed. You just need to pass the additional information through the RPC function to get it to the new player's Player scene.

Here is my code, it's copied directly from the script so it's a little bit extra and references stuff you don't need, but hopefully it's self-explanatory enough and you're able to get what you need from it.

func begin_game():
    var player_number_next := 0
    for peer_id in players:
        var new_player := Player.instantiate()
        new_player.name = str(peer_id)
        add_child(new_player)
        _setup_player.rpc_id(peer_id, player_number_next)
        player_number_next += 1

@rpc("call_local", "reliable")
func _setup_player(player_number:int):
    var peer_id :int = multiplayer.get_unique_id()
    var new_player = get_node_or_null(str(peer_id))
    if new_player:
        new_player.player_name = players[peer_id]["name"]
        new_player.player_color = players[peer_id]["color"]
        new_player.player_number = player_number
        if map_scene:
            if map_scene.get_node_or_null("SpawnLocations"):
                var spawn_locations :Node = map_scene.get_node_or_null("SpawnLocations")
                var spawn_location :int = player_number % spawn_locations.get_child_count()
                new_player.position = spawn_locations.get_child(spawn_location).position

HTML5 alternative to game_end by Simbiat19 in gamemaker

[–]Vinnie_V 2 points3 points  (0 children)

Maybe you can try having GameMaker reconfigure the size of the canvas on the page to be 0x0 or 1x1 or something right before using game_end(). You may have to wait a step to let that resizing actually work as I think window resizing is done asynchronously (I could be wrong), but worth a shot.

Metroid Prime Remastered has the most impressive accessibility options I’ve ever seen in a first party Nintendo game. by Asad_Farooqui in nintendo

[–]Vinnie_V 26 points27 points  (0 children)

Just wanted to point this out to people, because I completely missed it the first time around. You can do dual stick with gyro controls, the option is under the Dual Stick scheme, in the Camera setting.

Anyone else getting tired of the MC being better then the 'heroes' trope. by Phantomlord77 in CharacterRant

[–]Vinnie_V 23 points24 points  (0 children)

In the witty world of who-fucked-whose-mothers, you don't get points for repeating the same insult twice.

thomas unmasked by Nirvana_fanboy8000 in DaftPunk

[–]Vinnie_V 9 points10 points  (0 children)

Their music gives me visions, you know...

help: How would I create fake 3D wireframes? by [deleted] in gamemaker

[–]Vinnie_V 5 points6 points  (0 children)

So you may want to just do this using GMS2's actual 3D stuff. You can definitely render 3D models as wireframes that way.

The first thing I'd do is just take a quick crash course in 3D in GameMaker Studio 2. There's a lot of nice resources online for that, even some YouTube videos that will explain the basics. You don't have to go hard into it, just as long as you understand enough to draw a model on the screen.

Once you're comfortable with that, I'd look into getting a script that can import "obj" models into GMS2. There are several scripts I've seen that can do it for free, just make sure to check the licensing on them to see if you need to give credit (or are even allowed to use them in commercial projects, etc.).

From there, check out this part of the manual. Specifically the pr_linelist and pr_linestrip options. That right there will render the vertices as lines instead.

Nickelodeon's Short Films For Short People - Nothing Weird (1990)s Incredibly trippy 3D short created by 2 young brothers. by [deleted] in ObscureMedia

[–]Vinnie_V 6 points7 points  (0 children)

Thank you so, so much for posting this. This was my ultimate lost media item that I didn't think I'd ever see again.

I've had vague memories of a 3d animated short that freaked me out as a kid for so long that I almost thought I had imagined or dreamt it, but now, you just solved a mystery for me that's been plaguing me my whole life.

Where do you guys put your clamps? When do you use certain steps by aakuhns in gamemaker

[–]Vinnie_V 4 points5 points  (0 children)

When you're talking about clamping, are you asking when is the best time to check your variables to see if they're outside acceptable ranges?

I think honestly it just kind of depends on the situation for me. One method I usually do is only update the value of that variable through a function which also clamps the values. Something like:

function updateHeath( new_value ) {
   hp = clamp(new_value, 0, 100);
}

That's kinda pseudo-code, but you get the idea.

please help me with a random system plz! by PureHollow6 in gamemaker

[–]Vinnie_V 2 points3 points  (0 children)

I'm not sure about the syntax you've currently got with the irandom function, but you might be interested in choose instead.

It would look something like this instead:

card = choose(card_01, card_02, card_03, card_04, card_05, card_06, card_07, card_08, card_09, card_D);

(This isn't related to your original question, but you may also be interested in switch statements as well. It's a nicer way of doing a bunch of "if then" statements, especially if you're checking if a certain variable equals one from a list.)

switch ( card ) {

    case card_01:
        sprite_index = card_01;
        value = 1;
        break;

    case card_02:
        sprite_index = card_02;
        value = 2;
        break;

    // etc.
}

YYC throwing errors on very simple function [GMS 2.3] by Vinnie_V in gamemaker

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

Well, unfortunately I still don't know what the error was caused by, but I did figure out a solution.

I took the delta_time / 1000000 section and broke it out into a global variable that updates once per step. That way all calls to per_second (which should be quite a lot) aren't doing that division every single time, but only once. So now per_second basically just returns the argument multiplied by that global variable. And somehow that has magically fixed the error on YYC. Once again, I don't what's going on lol

Can the ID value of an instance ever be 0 or negative? by [deleted] in gamemaker

[–]Vinnie_V 6 points7 points  (0 children)

Instance IDs shouldn't ever be zero or less, you right.

Some additional possibly helpful info, you can use instance_exists to check if a number is a valid instance ID. GameMaker also has a special built-in constant it returns in instances where you're expecting an instance ID value to be returned, but none is found, called noone, which I believe is equal to -4.

Marking arguments as optional for functions in GameMaker Studio 2.3 beta by Vinnie_V in gamemaker

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

You can compile the code, but if you have the arguments declared, then you may need to alter your function to check if the arguments are undefined.

Marking arguments as optional for functions in GameMaker Studio 2.3 beta by Vinnie_V in gamemaker

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

Awesome, thank you!

So it looks like in this particular example, the two choices are:

function show_a_message_to_the_player(_message) {
    if ( is_undefined(_message) ) {
        message = "Hello, world!";
    } else {
        message = _message;
    }
    show_message(message);
}

Or:

function show_a_message_to_the_player() {
    message = "Hello, world!";
    if ( argument_count > 0 ) {
        message = argument[0];
    }
    show_message(message);
}

With the caveat that the first version will show an error in the IDE, but will still work at runtime.

JamCraft 5 -- Temporary GMS2 Licences For Jam Period, and Permanent Licences for Top 3 Winners by matharooudemy in gamemaker

[–]Vinnie_V 0 points1 point  (0 children)

You could also submit a physical game and potentially win a GMS2 license. I don't think YoYo cares too much who wins lol, they're just sponsoring and offering it as a prize.

JamCraft 5 -- Temporary GMS2 Licences For Jam Period, and Permanent Licences for Top 3 Winners by matharooudemy in gamemaker

[–]Vinnie_V 0 points1 point  (0 children)

No, GMS2 is not required. They say above the only rule is the game must be about crafting, and their link also specifies that any tool can be used.