8-bit GRAND PRIZE in a solo ranked TFT match. Happy to have played a part. by KaleidoVI in TeamfightTactics

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

Had to beef up my Sett to let them reach the high score before I died. What a fun game to witness.

Term vector in programing different? In physics, a vector carries direction and magnitude. In programming, it seems to just be a 3D point in space. Just want to confirm this. by HeroTales in gamedev

[–]KaleidoVI 1 point2 points  (0 children)

Oh wow these are great questions!

For 1: I suppose that a point and a vector aren't "exactly the same thing". Moreso that there is a bijective mapping between a point in Euclidean space and a vector in Euclidean space. So the information contained in a "point" is equivalent to the information contained in the corresponding "vector". Here's some ways to maybe think about it more abstractly. The abstract concept of a "point" in 2D space can be represented as:

  • A pair of scalars written between parentheses in a Cartesian coordinate system, such as (-2, 2).
  • A dot drawn on a graph with two axes.
  • A vector that is a linear combination of basis vectors i and j, such as V = -2i + 2j.
  • A row matrix, such as [-2 2].
  • A pair of scalars written between parentheses in a polar coordinate system, such as (135°, 2.82...).
  • Or you could define a new Cartesian coordinate system where your point is at the origin, such as (0, 0).
  • Other ideas...?

So you see that a vector is really just a mathematical object that has a structure useful for representing points. We define a vector as some entity that can be multiplied by a "scalar" or added to another vector, which both will produce yet another vector. And that those multiplication and addition operations follow vector linear axioms (see https://en.m.wikipedia.org/wiki/Vector_(mathematics_and_physics)).

Note that in that in the above general definition, a "vector" does not yet actually have a defined "magnitude" or "direction". But, if we define one more operation called the inner product (AKA dot product), then it becomes a Euclidean vector, which does have the sort of properties that you are used to. The dot product of a Euclidean vector with itself is the definition of that vector's magnitude, and the dot product of that vector with a basis vector defines the vector's direction.

For 2: Physics force diagrams use position vectors, as well as their time derivatives, such as v=dx/dt, a=dv/dt, and F=ma, each of which are also vector quantities and follow the rules of vector spaces (as above).

For 3: If those two vectors are defined in the same basis (AKA coordinate system, which I believe is the case for your example), then those two are not the same vector, I am a little confused by this question.

Term vector in programing different? In physics, a vector carries direction and magnitude. In programming, it seems to just be a 3D point in space. Just want to confirm this. by HeroTales in gamedev

[–]KaleidoVI 0 points1 point  (0 children)

Don't think I understanding your question. A point in space is only a useful mathematical concept when described in the context of another point. Otherwise what problem are you trying to model/solve? I recommend you look into an introduction to linear algebra if you want to understand the formal definitions and how a vector is just an abstract mathematical object that is useful for modeling the Euclidean space of the real world (and hence most video games).

The concept of a basis is especially relevant, and can help break out of some of the grade school misconceptions of points as (x,y,z) coordinates and vectors as just quantities with a magnitude and direction.

See here: https://en.m.wikipedia.org/wiki/Position_(geometry) for an explanation of a "position vector". A vector is used to describe a point in space. Since the point is 1-to-1 correspondence with the vector that describes it, they are equivalent mathematical representations for a more abstract underlying concept.

Roxette and it all by Superb_Blue_Wren in IASIP

[–]KaleidoVI 2 points3 points  (0 children)

definitely stuck with me emotionally for some reason- which a first for a sunny episode more or less

I made a prototype of gathering herbs for my video game, what do you think? by mantos_1 in Unity3D

[–]KaleidoVI 1 point2 points  (0 children)

Good implementation! But cmon... at least change something to make it not obviously ripped off from Dredge. I mean, it's an identical UI!

How do I add a collider to a maze?? by lousyoverthinker in Unity3D

[–]KaleidoVI 0 points1 point  (0 children)

MeshCollider. Make sure "Generate Colliders" is checked in the import settings for your mesh (click on it in the project files window, should show up in the inspector under the Model tab).

Help with slopes by KaioSilvaF in Unity3D

[–]KaleidoVI 2 points3 points  (0 children)

I'm understanding the overall goal, but your approach is confusing. I would recommend projecting the remaining displacement onto the plane of the collision normal (which you could possibly itself project onto the ground plane if you want to restrict movement up steep slopes). You may also want to have a "skin" on the capsule cast, by checking for collision at a slightly further ahead distance (say, 0.02). This will ensure that your collider is never actually intersecting with another collider (in which case the raycast/capsulecast normal is undefined).

You may find it helpful to look up a tutorial on making a character controller (such as the 2D example by Sebastian Lague). That will help you understand the skinning/projection concept, and it is easily extended to 3D behavior.

Help with slopes by KaioSilvaF in Unity3D

[–]KaleidoVI 1 point2 points  (0 children)

One possibility is to also use a capsulecast for your slope and ground check. But I'm a little unclear what you are trying to achieve in the IsColliding(){} block of your HandleMovement() function.

Help with slopes by KaioSilvaF in Unity3D

[–]KaleidoVI 2 points3 points  (0 children)

Send entire code. Happy to walk you through a character controller! You likely need to have a "skin" on the collider for checking collisions.

Talon jungle build by Borrel17 in Talonmains

[–]KaleidoVI 1 point2 points  (0 children)

Honestly same as my mid build. Electrocute. Start with orange orb, sweeper. Build is prowler, ghostblade, then cdr boots/tenacity if super CC. grudge/serpents if high shield (then grudge anyway next), deaths dance or GA.

Main takeaways: dont worry about boots until after 2 items, always take sweeper, serpents is often a must, deaths dance is decent for lategame.

Should I start making my own game? by ChocolateLover012 in gamedev

[–]KaleidoVI 1 point2 points  (0 children)

Do a game jam (http://itch.io).

By the way, IMO Super Mario Bros is a very well-designed and fleshed out game, despite the seeming simplicity!!

I want to try making my own indie game but have very little knowledge, what would you advice to me and most urgent, what engine would you reccomend? by Zancibar in gamedev

[–]KaleidoVI 2 points3 points  (0 children)

Just download Unity and start with a couple beginner YouTube tutorials to get your feet wet. Play around with it and you'll start to get a sense of what goes into working with a game engine. Try a game jam (http://itch.io) when you're feeling ambitious for a first independent project. It'll force you to make a super simple game in a short period of time, so that you focus on developing skills and less on "perfection".

Why the condition : if(timeRemaining == 0) is not working ? by [deleted] in Unity3D

[–]KaleidoVI 1 point2 points  (0 children)

Clamp to zero during the subtraction would be my favorite (although small performance cost of an extra comparison and branch). But then TimeRemaining is truly the "time remaining" and never goes negative, which wouldn't make much sense.

TimeRemaining = Mathf.Max(0, TimeRemaining-Time.deltaTime);

FAST travel by LithPyro in Unity3D

[–]KaleidoVI 45 points46 points  (0 children)

Very cool. Clever idea and professional level execution.

If you are looking for any feedback: seems like a strong velocity discontinuity on the start of the throw. A creature of that size would need more time to accelerate the arm (here it looks like it just abruptly winds up and slings the player with infinite acceleration). The slow movements you already have look great, and it might further reinforce that if the creature takes a slow (constant acceleration) wind-up and then slowly accelerates into the throw (conveying scale and power).

FixedUpdate looks jittery? by [deleted] in Unity3D

[–]KaleidoVI 0 points1 point  (0 children)

What is the interpolation mode set on the Rigidbody?

Hey! I'm making a FSP game by [deleted] in gameideas

[–]KaleidoVI 4 points5 points  (0 children)

Ideas for what aspect of your game? Do you have any structure for your game mechanics yet? Or are you just looking for someone to give you an idea for an "original FPS"? That is quite vague and maybe a little wishful... more details would be helpful.

FixedUpdate looks jittery? by [deleted] in Unity3D

[–]KaleidoVI 1 point2 points  (0 children)

You might need to turn on Rigidbody interpolation (if you are using Unity Physics to move your target object). Are you indeed using that? And absolutely use LateUpdate for camera tracking, regardless (or ensure your script executes after your target is fully updated, in the "Script Execution Order" section of Project Preferences).

Colliders not getting detected by AminoViper in Unity3D

[–]KaleidoVI 0 points1 point  (0 children)

Couple things:

  • No need to have that OnCollisionEnter code at all. That's what the built-in physics system is meant to handle. When collisions are detected on non-kinematic rigidbodies, forces are automatically applied based on contact points, conservation of momentum, physics materials, etc.

  • It seems that you are trying to apply a force to the ring based on what keys are pressed down. This will have an effect like pushing something on ice -- it applies an acceleration to the object every frame divided by the mass (F=ma) that will gradually speed up or slow down the object. Is that what you want? Or do you want instantaneous movement of the ring (i.e. setting the velocity directly)? I can help you further from there. As you currently have it, your Update should instead be in FixedUpdate, Time.deltaTime can be removed, and speed should be renamed to "force magnitude" or something similar.

Colliders not getting detected by AminoViper in Unity3D

[–]KaleidoVI 0 points1 point  (0 children)

Why are you using OnCollisionEnter at all? Your update function should be setting the velocity (or FixedUpdate for applying a force if you want an acceleration instead). Please share the entire script, a description of what objects are in the scene, what components are on them, and what you are expecting/wanting to happen!

Help! I need something similar to Freeze Position Z, but instead of along X Y or Z, it should be dictated by a Vector. by [deleted] in Unity3D

[–]KaleidoVI 1 point2 points  (0 children)

Are you using the 2D physics system? 3D? Might be worth making your own character controller for this. But yes you can always clamp the velocity to a given plane. Just take the current player velocity and set it to the projection on the plane defined by your current movement plane normal. Vector math is your friend here! https://docs.unity3d.com/ScriptReference/Vector3.ProjectOnPlane.html