Jorge Rodriguez
Jorge Rodriguez
  • Видео 214
  • Просмотров 2 807 143

Видео

How To Get A Job In Game Design - Part 5 - Behavioral Interviews
Просмотров 1,3 тыс.Год назад
Get Mentoring on ADPList: adplist.org/ Questions? I will answer them in a future video! Ask them either below in the comments or on my Twitter: cubesos Playlist: ruclips.net/video/eHX0UtFzjqA/видео.html 00:00 Introduction 00:32 Types of Interviews 02:10 Company Values 03:33 Preparing for Behavioral Interviews 05:42 The STAR Response Format 07:27 Dealing with Tough Questions 09:51 Ma...
How To Get A Job In Game Design - Part 4 - Cover Letters and Portfolios
Просмотров 2 тыс.2 года назад
Get Mentoring on ADPList: adplist.org/ Questions? I will answer them in a future video! Ask them either below in the comments or on my Twitter: cubesos Playlist: ruclips.net/video/eHX0UtFzjqA/видео.html 00:00 Introduction 01:00 Cover Letters 03:49 Cover Letter Example 06:27 Portfolios 09:45 Portfolio Review 12:13 Viewer Question
How To Get A Job In Game Design - Part 3 - How To Write A Resume
Просмотров 1,5 тыс.2 года назад
Get Mentoring on ADPList: adplist.org/ Questions? I will answer them in a future video! Ask them either below in the comments or on my Twitter: cubesos Playlist: ruclips.net/video/eHX0UtFzjqA/видео.html 00:00 Introduction 00:22 What Happens To Your Resume When You Apply? 01:30 Resume Preparation Exercise 09:39 Viewer Questions 12:57 A Special Request (To Like And Subscribe)
How To Get A Job In Game Design - Part 2 - The Question I Wish Game Design Students Would Ask
Просмотров 1,8 тыс.2 года назад
Get Mentoring on ADPList: adplist.org/ Questions? I will answer them in a future video! Ask them either below in the comments or on my Twitter: cubesos Playlist: ruclips.net/video/eHX0UtFzjqA/видео.html 00:00 Introduction 00:43 The Question I Wish People Would Ask 02:12 How Do I Become A Better Designer? 04:58 Goal-Oriented Game Design 08:24 Transitioning From Design To Other Roles
How To Get A Job In Game Design - Part 1 - What Is A Game Designer?
Просмотров 3,5 тыс.2 года назад
Get Mentoring on ADPList: adplist.org/ Questions? I will answer them in a future video! Ask them either below in the comments or on my Twitter: cubesos Playlist: ruclips.net/video/eHX0UtFzjqA/видео.html 00:00 Introduction 00:58 About Me 02:17 A Warning About The Game Industry 04:58 What Is A Game Designer?
Math for Game Developers - Backstabbing Part 2
Просмотров 28 тыс.2 года назад
Question? Leave a comment below, or ask me on Twitter: VinoBS The game I used to implement this was Double Action. You can check it out here: doubleactiongame.com
Debugger Programming 7: Showing valid breakpoint lines
Просмотров 1,4 тыс.4 года назад
Visit luxdebugger.com to join the alpha to try out the debugger shown in this video and get a discount on the debugger when it's released.
Debugger Programming 6: Rewriting the memory cache
Просмотров 1,4 тыс.4 года назад
Visit luxdebugger.com to join the alpha to try out the debugger shown in this video and get a discount on the debugger when it's released.
Debugger Programming 5: Native Visualizers std::map and base classes in the type system.
Просмотров 6534 года назад
Visit luxdebugger.com to join the alpha to try out the debugger shown in this video and get a discount on the debugger when it's released.
Debugger Programming 4: Native visualizer implementation with Clang emulated evaluation
Просмотров 7414 года назад
Visit luxdebugger.com to join the alpha to try out the debugger shown in this video and get a discount on the debugger when it's released.
Debugger Programming 3: Debug thread state rework part 2
Просмотров 7614 года назад
Visit luxdebugger.com to join the alpha to try out the debugger shown in this video and get a discount on the debugger when it's released.
Debugger Programming 2: Debug thread state rework part 1
Просмотров 1,2 тыс.4 года назад
Visit luxdebugger.com to join the alpha to try out the debugger shown in this video and get a discount on the debugger when it's released.
Final Fantasy 7 Original Vs Remake Part 23: Everything About You Is Wrong
Просмотров 7604 года назад
(Sorry that my audio is a bit low. I turned the game audio up and forgot to turn it back down again. I don't have a production team to balance these things live on the stream.) In this series I play all of the FF7 original and remake and compare them, one part at a time. twitch.tv/bsvino and cubesos for stream notifications. Note: In this video I disagreed very strongly with their d...
Final Fantasy 7 Original Vs Remake Part 22: Pointless Jenova
Просмотров 3614 года назад
In this series I play all of the FF7 original and remake and compare them, one part at a time. twitch.tv/bsvino and cubesos for stream notifications.
Final Fantasy 7 Original Vs Remake Part 21: The Endless Ward
Просмотров 3144 года назад
Final Fantasy 7 Original Vs Remake Part 21: The Endless Ward
Final Fantasy 7 Original Vs Remake Part 20: I'm Not A Rat Dog
Просмотров 4034 года назад
Final Fantasy 7 Original Vs Remake Part 20: I'm Not A Rat Dog
Final Fantasy 7 Original Vs Remake Part 19: Toilet Humor
Просмотров 3944 года назад
Final Fantasy 7 Original Vs Remake Part 19: Toilet Humor
Final Fantasy 7 Original Vs Remake Part 18: The Mayor Is The Best
Просмотров 2314 года назад
Final Fantasy 7 Original Vs Remake Part 18: The Mayor Is The Best
Final Fantasy 7 Original Vs Remake: Part 17: Escalator Jazz
Просмотров 3144 года назад
Final Fantasy 7 Original Vs Remake: Part 17: Escalator Jazz
Final Fantasy 7 Original Vs Remake Part 16: Chadleys Dissertation Fantasy
Просмотров 3064 года назад
Final Fantasy 7 Original Vs Remake Part 16: Chadleys Dissertation Fantasy
Final Fantasy 7 Original Vs Remake Part 15: Averle
Просмотров 1564 года назад
Final Fantasy 7 Original Vs Remake Part 15: Averle
Final Fantasy 7 Original Vs Remake Part 14: The Golden Shiny Wire of Hope
Просмотров 1904 года назад
Final Fantasy 7 Original Vs Remake Part 14: The Golden Shiny Wire of Hope
Final Fantasy 7 Original Vs Remake Part 12: May I Have This Squat
Просмотров 2594 года назад
Final Fantasy 7 Original Vs Remake Part 12: May I Have This Squat
Final Fantasy 7 Original Vs Remake Part 13: We Found You
Просмотров 1624 года назад
Final Fantasy 7 Original Vs Remake Part 13: We Found You
Final Fantasy 7 Original Vs Remake Part 10: Compensatory Recompense
Просмотров 4914 года назад
Final Fantasy 7 Original Vs Remake Part 10: Compensatory Recompense
Final Fantasy 7 Original Vs Remake Part 11: Double Headed Chocobo
Просмотров 2024 года назад
Final Fantasy 7 Original Vs Remake Part 11: Double Headed Chocobo
Final Fantasy 7 Original Vs Remake Part 9: This Guy Are Sick
Просмотров 7464 года назад
Final Fantasy 7 Original Vs Remake Part 9: This Guy Are Sick
Final Fantasy 7 Original Vs Remake Part 8: Underwear Bandits
Просмотров 2654 года назад
Final Fantasy 7 Original Vs Remake Part 8: Underwear Bandits
Final Fantasy 7 Original Vs Remake Part 7: Your Ass Is Fine
Просмотров 3444 года назад
Final Fantasy 7 Original Vs Remake Part 7: Your Ass Is Fine

Комментарии

  • @jackreaper5405
    @jackreaper5405 7 дней назад

    23 + 11 years ago*

  • @TheFingledorf
    @TheFingledorf 11 дней назад

    Coming back to this, and I think I got it working fairly well in Unity, though I made a separate ToVector method that doesn't scale by the Cos of the pitch (so the vector doesn't shrink and speed doesn't lessen) and some other changes. I'm just surprised and happy I seem to have gotten it working tbh. public VectorNew ToVectorNoCosPitch() { VectorNew result; if (pitch < 0) pitch = 0; result.x = Mathf.Cos(yaw + 90 * Mathf.Deg2Rad);// * Mathf.Cos(pitch); result.y = -Mathf.Sin(pitch); result.z = Mathf.Sin(yaw + 90 * Mathf.Deg2Rad);// * Mathf.Cos(pitch); return result; } public void FixedUpdate() { vecMovement.z = Maths.Approach(veloMovementGoal.z, vecMovement.z, Time.deltaTime * 40); vecMovement.x = Maths.Approach(veloMovementGoal.x, vecMovement.x, Time.deltaTime * 40); //vid 14, Cross Product vecForward = camEulerAngle.ToVectorNoCosPitch(); vecForward.y = 0; vecForward.Normalized(); Debug.Log($"vecForward: {vecForward}"); Debug.Log($"vecForward length: {vecForward.Length()}"); VectorNew vecRight = VectorNew.CrossProduct(new VectorNew(0, 1, 0), vecForward); //VectorNew vecVelo = vecForward * vecMovement.z + vecRight * vecMovement.x; Debug.DrawRay(rbPlayer.transform.position, new Vector3(vecRight.x, vecRight.y, vecRight.z), Color.yellow); rbVeloForward = new Vector3(vecForward.x, 0, vecForward.z) * vecMovement.z; rbVeloRight = new Vector3(vecRight.x, 0, vecRight.z) * vecMovement.x; Debug.Log($"forward: {rbVeloForward}, right: {rbVeloRight}, vecForward: {vecForward}"); rbPlayer.position += (rbVeloForward+rbVeloRight) * Time.deltaTime; }

  • @BusinessWolf1
    @BusinessWolf1 15 дней назад

    For anyone watching this, avoid naming your variables 'x' and 'y' at all costs. Because you end up naming other variables 'X' and 'Y' and so on. And then you read the code in 3 months and understand nothing. Just create an object, give it a real name, and put the x and y inside as keys.

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 15 дней назад

    Ultra super amazing very cool ❤️‍🔥🔥

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 15 дней назад

    The best series ever!! Great!

  • @BusinessWolf1
    @BusinessWolf1 15 дней назад

    This is pure gold man, I love this so much! I can't wait to find out how to calculate x and y values in order to rotate the vector towards something

  • @BusinessWolf1
    @BusinessWolf1 15 дней назад

    Thanks! This puts the useless math I learned in high school into perspective. That's what I always lacked in math class. Gonna use these videos to learn more about both math and game dev.

  • @rahulrozi8246
    @rahulrozi8246 17 дней назад

    Auto subscribe bro, Thankyou,

  • @JaimeBeilis
    @JaimeBeilis 20 дней назад

    great video! You have good teaching skills

  • @itsmypersonalaccount
    @itsmypersonalaccount 21 день назад

    all i have written code in is c and java (tf is cpp, man its getting over my head, only at some places) iget the concept but not the code

  • @shmuelisrl
    @shmuelisrl 27 дней назад

    Great series. from watching these, it demystified matrices, and it informed me that I was doing matrix (like) math, but using vectors instead [scaling basis vectors then adding them together]. there is one thing that wasn't clear. right after this (or mid) series I was able to start using matrices for things (not really related to your video, because of my understanding), but I realized I don't know how the math works with the translation so much and what it does to the basis vectors during multiplication etc. do you have any resources on that? you explain very well the basis vector thing, buy you kind glosed over the translation part of the matrix.

  • @grimvian
    @grimvian 27 дней назад

    Although I left C++ for C, two years ago, I'm so fortunate, that can understand enough C++, so I can benefit from this fantastic video series. Your way of teaching and your pedagogical approach, is an example to follow for other RUclipsr's. You are using the full screen and don't have irrelevant information and very important, no disturbing background music. I'm using Raylib graphics, that also are made for teaching and for games.

  • @Franco-zc9tr
    @Franco-zc9tr Месяц назад

    Where can i find more material about this? I'm saying books or a webpage or something like this?

  • @cubeguylol
    @cubeguylol Месяц назад

    thank you so much for this amazing series

  • @mohmdebrahem6516
    @mohmdebrahem6516 Месяц назад

    11 years old and still useful thank you ❤

  • @canyoneternal
    @canyoneternal Месяц назад

    This was really encouraging, thank you

  • @rafk5341
    @rafk5341 Месяц назад

    5:50 Why is it so bright

  • @MikAlexander
    @MikAlexander 2 месяца назад

    Hey, what if I have 1000 object, and for each I need to check its state first, then do stuff for picked one depending on state, check collisions etc before I move to next character? Is there a way to do it with this approach? And what if I need to compare a value of object index 3 with object index 10 for example? I'm having hard time imagining this.

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 2 месяца назад

      Some things to try: * Break your logic into multiple smaller passes * Sort your list so that the items that pass are first, stop iterating when you see an item that doesn't pass * Do your calculation for every object but multiply by an additional float that is 0 for objects that don't have the pass and 1 for those who do Also it's important to remember that you don't necessarily need to optimize every aspect. It's OK to run some code serially if it's not a major performance bottleneck.

    • @MikAlexander
      @MikAlexander 2 месяца назад

      @@JorgeVinoRodriguez Hi, thanks for answer. I'm referring to objects as characters in game, with stats etc, Is there benefit to using structs, like memory safety or something else? Asking because I think I'll just keep all my characters in one 2d array and will just iterate trough that, with typedefs to access the elements ( to not get lost, so ie typedef 5 strength; etc )

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 2 месяца назад

      @@MikAlexander that approach is one you would take because you have thousands of enemies in your game and so you need every ounce of performance. If you’re not encountering performance issues then I would recommend going with something conventional

    • @MikAlexander
      @MikAlexander 2 месяца назад

      @@JorgeVinoRodriguez what would be that something conventional. I will have probably around 2k characters. Also, in your video you say you store vector3 in an array. Isn't that basically a struct?

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 2 месяца назад

      @@MikAlexander either a base class with sub classes for each character, or an ECS system where you attach components to an actor

  • @TheFingledorf
    @TheFingledorf 2 месяца назад

    Here are my Unity / C# scripts (in separate comments), if it helps somebody. (VectorNew is the Vector class I created for this series. Vector3 is Unity's regular vector class.) using System.Collections; using System.Collections.Generic; using UnityEngine; //(started in Video 12) public class Game : MonoBehaviour { [SerializeField] float maxSpeedAbs; float minSpeedAbs = 0; [SerializeField] Rigidbody rbPlayer; [SerializeField] Camera cam; public VectorNew veloGoal; public VectorNew veloCurrent; Vector3 rbVelo; EulerAngle camEulerAngle; VectorNew camVector; private void Start() { camEulerAngle = new EulerAngle(); camEulerAngle.pitch = 0.6f; //radian amount to start with looking slightly down at an angle } void KeyRelease(float minSpeed) { if (Input.GetKeyUp("w")) veloGoal.z = minSpeed; if (Input.GetKeyUp("s")) veloGoal.z = minSpeed; if (Input.GetKeyUp("d")) veloGoal.x = minSpeed; if (Input.GetKeyUp("a")) veloGoal.x = minSpeed; } void KeyPress(float maxSpeed) { if (Input.GetKey("w")) veloGoal.z = maxSpeed; if (Input.GetKey("s")) veloGoal.z = -maxSpeed; if (Input.GetKey("d")) veloGoal.x = maxSpeed; if (Input.GetKey("a")) veloGoal.x = -maxSpeed; } float sensitivity = 0.1f; void MouseMotion() { float mouseX = Input.GetAxis("Mouse X"); float mouseY = Input.GetAxis("Mouse Y"); camEulerAngle.pitch += mouseY * sensitivity; camEulerAngle.yaw += mouseX * sensitivity; camEulerAngle.Normalize(); } public void Update() { KeyPress(maxSpeedAbs); KeyRelease(minSpeedAbs); MouseMotion(); } public void FixedUpdate() { veloCurrent.z = Maths.Approach(veloGoal.z, veloCurrent.z, Time.deltaTime * 40); veloCurrent.x = Maths.Approach(veloGoal.x, veloCurrent.x, Time.deltaTime * 40); if (veloCurrent.x > 0) { Debug.Log($"VeloCurrent.x: {veloCurrent.x}"); Debug.Log($"VeloCurrent.x * dt: {veloCurrent.x * Time.deltaTime}"); } //(set the VectorNew into a Vector3) rbVelo = new Vector3(veloCurrent.x, 0, veloCurrent.z); rbPlayer.position += rbVelo * Time.deltaTime; } private void LateUpdate() { VectorNew cEA = camEulerAngle.ToVector(); Vector3 camPos = new Vector3(cEA.x, cEA.y, cEA.z); cam.transform.position = rbPlayer.gameObject.transform.position - camPos * 5f; Vector3 dir = rbPlayer.gameObject.transform.position - cam.transform.position; Debug.DrawRay(cam.transform.position, dir, Color.red); cam.transform.rotation = Quaternion.LookRotation(dir, Vector3.up); } }

    • @TheFingledorf
      @TheFingledorf 2 месяца назад

      using System.Collections; using System.Collections.Generic; using UnityEngine; public class EulerAngle : MonoBehaviour { public float pitch, yaw, roll; public EulerAngle() { } public EulerAngle(float pitch, float yaw, float roll) { this.pitch = pitch; this.yaw = yaw; this.roll = roll; } public VectorNew ToVector() { VectorNew result; if (pitch < 0) pitch = 0; result.x = Mathf.Cos(yaw + 90 * Mathf.Deg2Rad) * Mathf.Cos(pitch); result.y = -Mathf.Sin(pitch); result.z = Mathf.Sin(yaw + 90 * Mathf.Deg2Rad) * Mathf.Cos(pitch); return result; } float eightyNineAsRads = 89 * Mathf.Deg2Rad; float oneEightyAsRads = 180 * Mathf.Deg2Rad; //TODO: figure this out / solve issues: public void Normalize() { //to keep camera from going below or above player if (pitch > eightyNineAsRads) pitch = eightyNineAsRads; //half-PI, about 1.56, so cam doesn't swoop over and back down if (pitch < 0) //-eightyNineAsRads) pitch = 0; //-eightyNineAsRads; //0 so doesn't go below player //Debug.Log($"pitch - in radians - after normalize: {pitch}"); if (yaw < -oneEightyAsRads) yaw += oneEightyAsRads * 2; if (yaw > oneEightyAsRads) yaw -= oneEightyAsRads * 2; //Debug.Log($"yaw - in radians - after normalize: {yaw}"); } public override string ToString() { return new string($"{pitch}, {yaw}, {roll}"); } }

    • @TheFingledorf
      @TheFingledorf 2 месяца назад

      using System.Collections; using System.Collections.Generic; using UnityEngine; public class VectorsAndPoints : MonoBehaviour { } public struct VectorNew { public float x, y, z; //public VectorNew() { } public VectorNew(float x, float y, float z = 0) { this.x = x; this.y = y; this.z = z; } public VectorNew Normalized() { float l = Length(); if (l == 0) throw new System.ArgumentException("WARNING: Divide by 0 error."); VectorNew v = this / Length(); return v; } //length of current instance of vector public float Length() { return GetVectorsLength(this.x, this.y); } //length squared to avoid expensive sqrt operation (for comparison) public float LengthSqr() { return this.x * this.x + this.y * this.y; } //for any vector, instead of the current instance public static float GetVectorsLength(float x, float y) { return Mathf.Sqrt(x * x + y * y); } //get the dot prod between two vectors public static float DotProduct(VectorNew v1, VectorNew v2) { float dot = v1.x * v2.x + v1.y * v2.y + v1.z * v2.z; if (dot > 1 || dot < -1) throw new System.ArgumentException("WARNING: Dot product must be between 1 and -1. Make sure parameter vectors are normalized."); return dot; } //------------- //operator overload - add two vectors together public static VectorNew operator + (VectorNew v1, VectorNew v2) { return new VectorNew(v1.x + v2.x, v1.y + v2.y); } //operator overload - subtract two vectors public static VectorNew operator -(VectorNew v1, VectorNew v2) { return new VectorNew(v1.x - v2.x, v1.y - v2.y); } //operator overload - multiply a vector by a scalar (vid 5) public static VectorNew operator * (VectorNew v, float f) { return new VectorNew(v.x * f, v.y * f); } //operator overload - divide a vector by a scalar (vid 5) public static VectorNew operator / (VectorNew v, float f) { if (f == 0) throw new System.ArgumentException("WARNING: Divide by 0 error."); return new VectorNew(v.x / f, v.y /f); } public override string ToString() { return $"({x}, {y}, {z})"; } } public struct Point { public float x, y; //public Point() { } public Point(float x, float y) { this.x = x; this.y = y; } public Point AddVector(VectorNew v) { Point p2 = new Point(); p2.x = this.x + v.x; p2.y = this.y + v.y; return p2; } //operator overloading - subtract two points and return a vector public static VectorNew operator -(Point a, Point b) { VectorNew v = new VectorNew(); v.x = a.x - b.x; v.y = a.y - b.y; return v; } }

  • @LionUnchained
    @LionUnchained 2 месяца назад

    This is my 3rd time coming back to this video, probably been somewhere north of 6 months since the first time... I just successfully calculated the reflect vector in my game. Once I inverted the vector and thought about it from the hit location it all made so much more sense.

  • @Sathpiyum_Official
    @Sathpiyum_Official 2 месяца назад

    still watching this neve die

  • @TheFingledorf
    @TheFingledorf 2 месяца назад

    5 years later on a different account and going back through olde vids, here's another Unity/C# version I came up with (still took me embarrassingly long to figure it out, but oh well :P) : public class Maths : MonoBehaviour { public static float Approach(float goal, float current, float dt) { //how far left to we have to go before we get to our goal float difference = goal - current; Debug.Log($"Goal: {goal}, Current: {current}, Diff: {difference}, DT: {dt}"); //--- interpolate up or down //if dt is not enough to take us to our goal if (difference > dt) { Debug.Log($"diff > dt. return {current + dt}"); return current + dt; //return one step further to our goal } /*edge case: if goal is lower than current (interpolating in the downward direction / value is getting lower), then difference will be negative*/ if (difference < -dt) { Debug.Log($"diff < -dt. return {current - dt}"); return current - dt; } //otherwise, if in range of goal, return goal return goal; } } public class Game : MonoBehaviour { [SerializeField] float maxSpeedAbs; float minSpeedAbs = 0; [SerializeField] Rigidbody rbPlayer; public VectorNew veloGoal;/ public VectorNew veloCurrent; Vector3 rbVelo; public void KeyRelease(float minSpeed) { if (Input.GetKeyUp("w")) veloGoal.z = minSpeed; if (Input.GetKeyUp("s")) veloGoal.z = minSpeed; if (Input.GetKeyUp("d")) veloGoal.x = minSpeed; if (Input.GetKeyUp("a")) veloGoal.x = minSpeed; } public void KeyPress(float maxSpeed) { if (Input.GetKey("w")) veloGoal.z = maxSpeed; if (Input.GetKey("s")) veloGoal.z = -maxSpeed; if (Input.GetKey("d")) veloGoal.x = maxSpeed; if (Input.GetKey("a")) veloGoal.x = -maxSpeed; } public void Update() { KeyPress(maxSpeedAbs); KeyRelease(minSpeedAbs); } public void FixedUpdate() { veloCurrent.z = Maths.Approach(veloGoal.z, veloCurrent.z, Time.deltaTime * 40); veloCurrent.x = Maths.Approach(veloGoal.x, veloCurrent.x, Time.deltaTime * 40); if (veloCurrent.x > 0) { Debug.Log($"VeloCurrent.x: {veloCurrent.x}"); Debug.Log($"VeloCurrent.x * dt: {veloCurrent.x * Time.deltaTime}"); } //(set the VectorNew into a Vector3) rbVelo = new Vector3(veloCurrent.x, 0, veloCurrent.z); rbPlayer.position += rbVelo * Time.deltaTime; } }

  • @Tea2412-ci7tw
    @Tea2412-ci7tw 2 месяца назад

    This is a tutorial that never expires Thanks 🥰

  • @presentfactory
    @presentfactory 2 месяца назад

    At 1:25 you say it's h times the vector between those positions, but pretty sure it's the vector between those two positions divided by h (what was written is that vector is equal to the velocity multiplied by h which is true, just misspoke I guess).

  • @joaoaugusto6290
    @joaoaugusto6290 2 месяца назад

    thanks buddy! it helped me a lot

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 2 месяца назад

    Ultra mega cool awesome amazing super helpful!!❤

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 2 месяца назад

    Super, amazing, literally the best!!!❤

  • @fenilli
    @fenilli 2 месяца назад

    Just started learning game dev and was strugling with the vector and matrix math, almost all content out there is too direct no explanation, or pure math.... yours is really good, and helped me a lot.

  • @ghy518
    @ghy518 3 месяца назад

    I’d love to see more analyses

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 3 месяца назад

      Me too! But I had a baby and now I can’t find time for this 😅

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    Ultra top amazing!! The author is just great😎✨

  • @robertroberto4749
    @robertroberto4749 3 месяца назад

    Another trick is when you are using integer values for x and y and then you don't have to calculate every time x*x and y*y, but you can create in the beginning field(lookup table) of all numbers that x and y can have. Let's say x can have 0-65535 values an y can have 0-65535 values. Then you can create one field that is storing 65536 values of number*number values to lookup instead of doing calculations all over the time when these values are needed.

  • @kinsukaweerasooriya2933
    @kinsukaweerasooriya2933 3 месяца назад

    I came looking for copper and i found GOLD !

  • @ericstorm4613
    @ericstorm4613 3 месяца назад

    It makes so much sense now. Thanks.

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    ultra top!! Cool!

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    ultra mega awesome!! thank you very much!

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 3 месяца назад

      no thank YOU!! You're very kind for pumping me up with all your kind comments

    • @julianaskuratovsky8701
      @julianaskuratovsky8701 3 месяца назад

      @@JorgeVinoRodriguez there are 100+ videos ahead that I intend to watch so I’ll go on pumping if you don’t mind👹

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    super ultra amazing!!!

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    amazing ultra cool!!!

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    Super great amazing!! Thank you!!

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    Ultra super amazing thank you very much !!!❤

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    Amazing ultra cool thank you!!!❤

  • @julianaskuratovsky8701
    @julianaskuratovsky8701 3 месяца назад

    Amazing super cool!!

  • @TheFingledorf
    @TheFingledorf 3 месяца назад

    I made a test version in Unity / C# using a Coroutine/IEnumerator and it worked okay but I couldn't figure out how to make the character end at the correct size, so I went ahead and reworked your version, and it seems to be working as intended! I'm using Mario sprite and I just have him start resizing when the spacebar is pressed. [SerializeField] Transform tran_Mario; // Update is called once per frame void Update() { Update_Vid102(); } bool grow = false; void Update_Vid102() { if (Input.GetButtonUp("Jump")) { grow = true; } if (grow) Grow_Vid102(); } bool gotStartTime; float startTime; Vector3 marioStartSize; void Grow_Vid102() { if (!gotStartTime) { startTime = Time.time; marioStartSize = tran_Mario.localScale; gotStartTime = true; } float lerp = Maths.RemapClamp(Time.time, startTime, startTime + 2, 0, 1); lerp = Maths.CubicInterpolation(lerp); float size = Maths.RemapClamp(lerp, 0, 1, marioStartSize.x, 5); tran_Mario.localScale = Vector3(dot)one * size; }

  • @ARandomHumanBein
    @ARandomHumanBein 3 месяца назад

    1:49 isn't the force of gravity on earth 9.8 m/s²?

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 3 месяца назад

      Yea I used to have a correction in a little popup but youtube killed that feature

  • @sciencecompliance235
    @sciencecompliance235 4 месяца назад

    The deep space monster in Kerbal Space Program is known as The Kraken and has no corporeal form. It lurks in the space between time steps and feeds on numerical instabilities.

  • @jellojayfire7
    @jellojayfire7 4 месяца назад

    Great video! Theres just one thing I dont understand. How do you obtain an elliptical orbit in the end if the acceleration stays the same? Or does the acceleration change everytime there is a new position?

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 4 месяца назад

      Acceleration due to gravity depends on the distance to the other body. If the distance remains constant then acceleration's magnitude will never change and direction will always point towards the other body. If your distance changes (as they do in all actual orbits) then the acceleration's magnitude will also change as it gets closer or farther away.

    • @jellojayfire7
      @jellojayfire7 4 месяца назад

      ​​@@JorgeVinoRodriguez But how does the Euler method end up in calculating an elliptic trajectory? Yes, I understand the acceleration depends on the distance of the satellite from its attractive star or planet, but what in the sequence of semi implicite equations you have described, makes the distance vary from its minimum (max acceleration) to its maximum. How does this combination of equations end up in a perfect cycle of cyclical variation of that distance resulting in the elliptic trajectory?

    • @JorgeVinoRodriguez
      @JorgeVinoRodriguez 4 месяца назад

      @@jellojayfire7 That's what the actual physics equations do if you're using an analytic solution rather than a numerical solution that we're doing here. it's just this numerical solution is very accurate.

  • @ComeConsoomer
    @ComeConsoomer 4 месяца назад

    Thank you so much, I'm making my first map and everyone online just said to "optimize the map" with literally no explanation how. I just assumed every block started as a func_detail.

  • @jRsqILVOY
    @jRsqILVOY 4 месяца назад

    How do you choose the tangents for the triangular mesh btw?

  • @paulhetherington3854
    @paulhetherington3854 4 месяца назад

    No tax payer - ever saw: "Anyone fire, any wep!" On our - radar net! I.e. device net -- money laundry! 50s win email - VIN #s!

  • @paulhetherington3854
    @paulhetherington3854 4 месяца назад

    /2''tx'icvk''bx by:(zX2'' : y~x''R'4'' I(s''vV'r''Tn'))/ /mch pic + djzgrm ~tmp arch < 50s wn eml IP/ /dchaal pth par~tmp pic || wn eml unif zX2'' i.e. R'4''//f(x) int=avn lim cg~tmp(txt)+ fldz lyr bx/ /fokl < auch u O + I(s''2''tx(mjz) abv) kntrl bx u fldz avn/

  • @pp-vt1pj
    @pp-vt1pj 4 месяца назад

    really like the videos so far, is it the full completed list or is it still being added to ?