Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Corla Plankun
May 8, 2007

improve the lives of everyone
I literally just heard of tower for the first time 3 minutes ago when I read your post but I have two guesses with regards to why nobody gives a poo poo about it...

Adbot
ADBOT LOVES YOU

Corla Plankun
May 8, 2007

improve the lives of everyone

JGTheSpy posted:

I seriously doubt that you can work anywhere near as quickly with any visual programming language as you can with code. I used to work with LabView and it would take a week or more to do simple things that, when we switched to Python, took about 20 minutes to write.

How long did you work with Labview? I used it for a project one semester in undergrad and I always had this feeling that anything I was struggling with was probably just because I didn't remember the right block. Like maybe if I used Labview for a little longer it would finally "click" and it would be smooth sailing.

Corla Plankun
May 8, 2007

improve the lives of everyone
Are inverse kinematics computationally expensive or just annoying to write?

Corla Plankun
May 8, 2007

improve the lives of everyone
Why do graphics card computation people say "compute" in sentences where it seems like the correct word would be "computation"? The Vulkan site does it a lot so I feel like it is not an accident.

Corla Plankun
May 8, 2007

improve the lives of everyone

xzzy posted:

Yeah, Python has never really taken off like I was hoping. It's super important in scientific research and system administration areas, but web or gui application development? It's kind of garbage.

Django and Flask aren't good enough for web dev?

Corla Plankun
May 8, 2007

improve the lives of everyone

Tiler Kiwi posted:

Yeah I've kind of washed my hands of it for now. It works fine, and as long as I bury the poo poo deep enough, it doesn't stink. Once I'm done with the prototype, I figure I can just take the bits that are nice and refactor them.


I need to brush up on some basic algorithms. The map is a satisfying blob, but I need to find out smart ways to curve the river around without it doing naughty things like running through black space and out again. Its exciting to actually get to have something to look at, tho.

One of my old professors wrote a Smooth Turn Mobility Model for airborne vehicle pathing that might be a nice way to make a river curve around. It's definitely an over-engineered solution but I implemented it myself in undergrad and it was fun to play with.

Corla Plankun
May 8, 2007

improve the lives of everyone
I use antimicro to convert my game controller to keyboard/mouse signals. I'd be pretty surprised if a modern controller didn't have enough nobs to suit parameter tweaking. If it isn't enough, you could also just make a couple buttons context-switches that point the inputs at different parameters.

There's also a whole bunch of machine learning algorithms that can pick the best parameters if you're capable of mathematically defining what you want the output to be like!

Corla Plankun
May 8, 2007

improve the lives of everyone

Meyers-Briggs Testicle posted:

wow, I'm glad I don't use godot for 3d

https://www.youtube.com/watch?v=lRbefcsYDi4

it's still got these issues in 2d but they're not nearly as bad

I haven't used a lot of Godot but from the tutorials I've done it seems like it is more geared towards programmers than artists, so it makes sense to me that it wouldn't be as good at the more artistic side of development. I'm guessing that if you compared the way scripting works in Godot vs Unity it would be the same video, but with Unity being the weird and bad one.

Corla Plankun
May 8, 2007

improve the lives of everyone
DOTA calls it pseudorandom number generation

Corla Plankun
May 8, 2007

improve the lives of everyone
Can y'all recommend any resource about how to design controller-based UI?

I feel like I've learned kind of an implicit hierarchy of how often I should press a given button (and therefore how common the task should be that's assigned to it) but I bet some better developers than me have written good article about this.

For context, I'm just messing around with the pseudo-retro Pyxel game engine and wanting to learn more about good and bad design choices in game development.

Corla Plankun
May 8, 2007

improve the lives of everyone
I'm working through the Roguelike Unity tutorial in an effort to learn C# in an applied manner, and I've hit a roadblock. In this chapter he sets up some controls for moving the player, but I cannot for the life of me figure out why my implementation doesn't work.

Here's the bit that seems to be broken:
code:
protected IEnumerator SmoothMovement(Vector3 end)
    {
      Debug.Log($"Variable moveTime value: {moveTime}");
      Debug.Log($"Variable inverseMoveTime value: {inverseMoveTime}");
      Debug.Log($"Variable end value: {end}");
      Debug.Log($"Initial transform.position value: {transform.position}");
      float sqrRemainingDistance = (transform.position - end).sqrMagnitude;
      // TODO remove count logic because this doesn't need to give up if it actually works
      int stepMax = 4;
      int stepCount = 0;
      // while (sqrRemainingDistance > float.Epsilon && stepCount <stepMax)
      // {
      //   Debug.Log($"Distance remaining (squared) = {sqrRemainingDistance}");
      //   Vector3 newPosition = Vector3.MoveTowards(rb2D.position, end, inverseMoveTime * Time.deltaTime);
      //   Debug.Log($"Variable newPosition value: {newPosition}");
      //   rb2D.MovePosition(newPosition);
      //   Debug.Log($"Variable rb2D.position value: {rb2D.position}");
      //   sqrRemainingDistance = (transform.position - end).sqrMagnitude;
      //   stepCount++;
      //   yield return null;
      // }
      while(sqrRemainingDistance > float.Epsilon)
       {
           Debug.Log($"Distance remaining (squared) = {sqrRemainingDistance}");
           //Find a new position proportionally closer to the end, based on the moveTime

           Vector3 newPostion = Vector3.MoveTowards(rb2D.position, end, inverseMoveTime * Time.deltaTime);
           Debug.Log($"Variable newPosition value: {newPostion}");

           //Call MovePosition on attached Rigidbody2D and move it to the calculated position.
           rb2D.MovePosition (newPostion);
           Debug.Log($"Variable rb2D.position value: {rb2D.position}");

           //Recalculate the remaining distance after moving.
           sqrRemainingDistance = (transform.position - end).sqrMagnitude;

           //Return and loop until sqrRemainingDistance is close enough to zero to end the function
           yield return null;
       }
      if (stepCount == stepMax)
        Debug.Log("Gave up on smooth movement");
    }
And according to the logs, "transform.position" and "rd2D.position" never, ever change for the player or for the enemy. I have verified that newPosition is correct, and I am at a total loss as to why rb2D.MovePosition (newPostion) seems to do nothing.

I don't have "Freeze" checked on the player prefab but I suspect that maybe I have configured it wrong, because I'm using Unity 2018 instead of Unity 5 and things look different, so I'm attaching a picture of its settings.

PS Is this the right place to ask about this? I couldn't find a Unity thread but maybe it is named something hard to search for.

Only registered members can see post attachments!

Corla Plankun
May 8, 2007

improve the lives of everyone
UGH Of course as soon as I post it occurs to me to check to see if the bug exists in the "completed" version of the game in the assets, and it doesn't. Because THEIR Player prefab has the "Simulated" checkbox checked.

Corla Plankun
May 8, 2007

improve the lives of everyone
Maybe read a little bit about State Machines and try to use that model to represent the locked-in unit? I think using finite state machine vocabulary will help keep the code from turning into spaghetti.

Adbot
ADBOT LOVES YOU

Corla Plankun
May 8, 2007

improve the lives of everyone

nickmeister posted:

Great, I'll look into that. I did some googling about python, text-based games, etc. But the only solution I could find on my first search is "...ooh.. I don't know? multithreading? but multithreading is actually bad? uh..."

Ultimately I'd like to create a MUD-like game, but idk how those sorts of games control their npc behaviors. I guess it's easier to do with a server? Again, I don't know, couldn't even figure out how to compile a MUD from the files.

The easiest way to do this would definitely be to break it into a client and a server, but it is definitely a surprisingly complicated problem to solve (with python) for how easy it is to imagine.

Corla Plankun fucked around with this message at 14:58 on Apr 8, 2020

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply