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
aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

i like manipulating bits because it makes me feel like a real programmer. i'm not some java monkey playing with interfaces! i'm a real dev!

Adbot
ADBOT LOVES YOU

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

It's probably in a scriptable object. I believe uTinyRipper can read them: https://github.com/mafaca/UtinyRipper

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

What's the game?

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Any chance of just running the game in a debugger, hooking a point in the code that uses the database, and using the methods you've seen to query the data from it? I think dnSpy can do this.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

You can also use something like MelonLoader to inject a DLL you've written: https://github.com/LavaGang/MelonLoader Then you can use reflection to look up the classes you want to inspect.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Then I'd go the mod loader route. Use MelonLoader, BepInEx or something else of the sort and just build a DLL that prints out the relevant data when loaded. Or even just calls System.Diagnostics.Debugger.Launch() which will prompt you to attach a VS debugger.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Raenir Salazar posted:

I don't want the lines crossing (which they by necessity do in the screenshot)

Just swap the positions of the Hand on Something and Uninit nodes and they won't cross. No special features needed.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Raenir Salazar posted:

The first thing to consider is that aesthetics and making the resulting "look" of the graph pleasing by being neat and orderly matters to me; but the more substantive answer is that a messy Blueprint is hard to understand, debug, maintain, and fix any resulting issues.

The second thing just to be clear the screenshot is just a simple example that I quickly made to demonstrate the problem. A real world scenario is going to be more complicated and it won't be as trivial to rearrange it, or perhaps even impossible to make it so that the lines don't cross. This isn't the actual blueprint I'm working on.

First, swapping the places as I suggested is much more visually appealing than the way you have it. Second, it's blueprints. It's going to look like poo poo and be hard to debug. If your task is so complicated that you can't make it look aesthetically pleasing and that's important to you, I'd suggest that's a sign you should be doing your work in C++. Blueprints are for glue code, not main systems (despite how often they're used for main systems...)

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

If Unreal had even a fraction of the documentation Unity does, hell even a fraction of the documentation Unity had a decade ago, I think Unity would be toast. It pretty much expects that you're working somewhere where there's people more experienced than you who can show you the right way to do things.

My previous job was a Unity shop that transitioned over to Unreal (a bad business move but I did not complain about free training). I feel bad for the former Epic employee on our team who had to look at reviews and tell me over and over that I really shouldn't be using the C++ STL classes instead of TUniquePtr, TFunction, TArray, etc.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Raenir Salazar posted:

I'm not quite sure what you mean, do you mean in the follow up image with the Create Events? Or the original image presenting the problem? If the original image, its just an example and there's going inevitably to be situations where swapping as I explained isn't practical without infringing on some other organizing principle or ultimately having some wire cross somewhere as BPs get more complex. In the follow up image its just a quick example to show the follow up, and isn't reflective of how I'd organizing it with that solution in mind, but even so perhaps there's a difference in subjective opinion regarding aesthetic tastes, in any case in either as-is situations the latter is preferable to me than the former, maybe you disagree but this is subjective and I don't think very productive to argue.

And of course obviously I'd prefer to be doing my work in C++, but specifically right now I cannot; I would I assure you if I could. But in any case I'm sure it is at least a learning experience to see what the pitfalls are in case it ever shows up again during my career.

Generally in my professional experience BP's show up very often for mockups or prototypes, not just merely for glue code; ideally these systems get converted to C++ where and when it is feasible but in practical situations this isn't always feasible due to various constraints. In this context it isn't unreasonable to want to make the BP's as readable and adhering to best practices as possible to better facilitate conversion to C++ (because the intentions remain clear) and facilitate their ongoing maintenance while pending that circumstance.

Respectfully, I think your whole mindset here is holding back your project.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

I just don't think it's a good frame of mind to make structural decisions about your project based on fairly minor aesthetic concerns.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Specifically, I don't think wires crossing wires is blueprint code smell, as long as you can still trace the connections. Adding nodes to your wires helps a lot with this.

One important thing to learn is that a beautiful blueprint isn't necessarily more maintainable than an ugly one. Getting caught up in keeping everything aligned, making all the wires straight, is a fun bit of yak shaving but not necessarily productive. The important thing is that, like code, it's readable. A beautiful blueprint that takes me twenty minutes to decipher is not better than a straightforward ugly one.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Chillmatic posted:

Completely agree, except to say that all of this applies to typed code as well. Like man I have known some engineers who will kill themselves to create beautifully indented code with comment sections that border on ASCII art, and inevitably their poo poo is still really difficult to reason about. When I say "messy", I mean less about aesthetics and more about programming smells in general.

Absolutely. I think for code the war is slowly being won on that front - I've never worked at a place where that's been allowed by the style guide. But even though I hate it in code, when I look over at a blueprint some obsessive part of my brain takes over and wants it to look neat and tidy.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

amyotrophic lateral sclerosis-4?

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

I went to game dev college cause i'm an idiot and one professor would always give the advice that if you want a comfortable life as a game developer - marry well.

Adbot
ADBOT LOVES YOU

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

there's probably a correlation between being the type of guy who calls himself Lord British and having the game to pull someone wealthier than you. might be worth a try

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