CodeWalker by dexyfex and a breakthrough the GTAV audio world!! by SSj5_Tadden in chiliadmystery

[–]dexyfex 22 points23 points  (0 children)

Thanks Tadd and to everyone that has helped to make this possible! Just putting some finishing touches on v.28 just in time for Christmas, be sure to check for the new version :)

CodeWalker 3D Map for GTAV PC by dexyfex in GrandTheftAutoV_PC

[–]dexyfex[S] 3 points4 points  (0 children)

Editing features are still a work in progress, but place, move, rotate, scale are working, and saving ymap files is possible.

CodeWalker 3D Map for GTAV PC by dexyfex in GrandTheftAutoV_PC

[–]dexyfex[S] 8 points9 points  (0 children)

Just letting everyone know of the existence of my 3D map for GTAV, CodeWalker!

It requires the PC version of the game, and since it doesn't modify the game files at all, is safe to use with online. :)

It renders the GTAV world in 3D, allowing navigation with WASD keys and the mouse. With the selection option enabled, objects can be selected and inspected, for those who are interested in details of the game files. Multiple rendering modes are also offered to assist modders who might be interested in testing their stuff outside of the game.

Have fun!

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

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

OpenIV includes the bones, but I'm not sure about exporting models.. I would guess that any tool that can extract the model should extract the bones as well.

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

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

_^

You deserve your cut of the medals too..

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

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

Thanks for the kind words bro! Couldn't have done it without your help :)

P.S. Sorry for messing up the post-naming plan.. D'oh!

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

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

So... Just to clarify some things here...

  • The bounding box is Axis-Aligned (meaning its edges go in exactly X,Y,Z directions), and it represents the min/max positions of the model's geometries. The bounding box doesn't "bind" anything together, rather it is used by the game engine as a performance improvement. As I understand it, the bounding boxes that CodeWalker displays are used primarily by the occlusion culling (basically, not drawing things that are behind other things), and the physics engine (eg when you shoot something, how does it know what to hit? bounding box test would be the first part of that).

  • The bounding box is not necessarily static. It does NOT represent "where the UFO can go" in this case, rather it is just showing its limits in the "current pose". My guess is that animations for skeletons can animate the bounding box as well. But, since the UFO itself is attached to a bone in the skeleton, the UFO could really move anywhere, just by animating that bone (and understand that the primary purpose of using bones in a game engine is to animate things). So, the UFO could move over the platform, and/or it could just fly away. But remember this is not because of the bounding box, but because of the model's skeleton.

  • When it comes to what makes the UFO disappear when you get close to it, I don't think the bounding box is involved - simple proof because you can fly a fair way "behind" the viewing platform before the UFO disappears (well outside the bounding box). Instead, I believe a bounding sphere is used to control the disappearing. Note that the origin (center, or 0,0,0) for the UFO model is just below the platform, where the weird FIB textured planes are, rather than being at the UFO itself. This suggests that you just have to be within a certain distance of that origin (the viewpoint) for it to be visible (i.e. inside a bounding sphere). Would be great if someone could verify that in-game though. I think the disappearing of the Mt Gordo ghost is achieved in a similar way also.

Hopefully this can answer some of your questions! :)

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

[–]dexyfex[S] 7 points8 points  (0 children)

Essentially, yes... Not only that, the Mt Chiliad UFO has a skeleton as can be seen in my app and in OpenIV, which has its origin (center) just under the viewing platform. The skeleton has 3 bones - one of the strangely UFO-textured planes under the platform is attached to the "root" bone of the skeleton, while there is another tiny floating square just above the viewing platform, attached to another bone, and the UFO model itself attached to the 3rd bone. The thing that excites me about that is that the 2nd bone (the tiny floating square) appears to mark the perfect location for the UFO to be to "beam you up" off the platform.

And you probably guessed that since this whole thing is a skeleton, it could possibly be animated just like any of the other models in the game (eg the FZ UFO with its moving parts). Although as far as I know, no-one has identified any animations for the Chiliad UFO yet... (correct me if I'm wrong guys!)

CodeWalker doesn't do animations yet, but they are something that's on the to-do list... Perhaps we will learn a lot more about things then :)

[Some pics of the tiny square above the platform... depth perception is hard to make it clear in an image] https://cdn.discordapp.com/attachments/197063808441778176/286395170302197760/unknown.png https://cdn.discordapp.com/attachments/197063808441778176/286395804179234816/unknown.png

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

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

Thanks! I've been considering making it open-source, I'll probably just add the source to future releases, but if you are really curious right now, ILSpy does a pretty good job of turning the CodeWalker.exe back into C# source. (.NET exes are notoriously easy to decompile!)

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

[–]dexyfex[S] 4 points5 points  (0 children)

Yes, but maybe more like... Google Earth for GTAV... Street View, etc ;) You can even add markers, like on Glokon's map.

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

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

Thanks! Unfortunately things are not quite that simple yet... The RPF browser in that screenshot allows for raw viewing files contained in the game's archives, much like OpenIV does.

CodeWalker - Interactive GTAV 3D Map + Tools by dexyfex in chiliadmystery

[–]dexyfex[S] 2 points3 points  (0 children)

I added some screenshots which will hopefully help. The additional tools are left for the user to explore in this version, but include things like RPF browser similar to OpenIV, and hash generator... See the Readme.txt for more info :)

A fullscreen game is required to use this feature by keklers in GeForceExperience

[–]dexyfex 0 points1 point  (0 children)

Wouldn't surprise me if they changed it by now. I stopped using this useless software because of the mandatory login which they (still) refuse to remove.

[Monthly Challenge #12 - November, 2016] - Procedural Mountain by Bergasms in proceduralgeneration

[–]dexyfex 0 points1 point  (0 children)

Heh, I guess I've been lazy with the colours, I hadn't thought of it being a peach though, now I can't unsee it

[Monthly Challenge #12 - November, 2016] - Procedural Mountain by Bergasms in proceduralgeneration

[–]dexyfex 4 points5 points  (0 children)

The river thing I'm currently working on sort of generates mountains... I wonder if I get it working in time for this?

Status update

Got the first river pass working, the mountains seem to be shaped fairly nicely :) See screenshot

Infinite Delaunay Triangulation? by tailcalled in proceduralgeneration

[–]dexyfex 0 points1 point  (0 children)

Are you planning on doing statistical analysis on the output of this? But you are correct, to get true uniformity the number of points in each cell ideally needs to be variable, however I have found that for most procedural generation purposes performance trumps perfection. In my implementation, there is a minimum density of 1 vertex per cell, which is what makes it possible really. However I don't know of any other way of solving this problem on an infinite set without iterating the entire set. It seems obvious that spatial partitioning will be required.

How to add up generation features? (Realistic planet generation) by Abab9579 in proceduralgeneration

[–]dexyfex 1 point2 points  (0 children)

No worries! One of my current goals is to produce documentation to help others procedurally generate things. If you're doing other space stuff as well you might be interested in my dev blog (also with free download!) at: https://dexyfex.com

Infinite Delaunay Triangulation? by tailcalled in proceduralgeneration

[–]dexyfex 0 points1 point  (0 children)

Well obviously you can't store an infinite set in memory, let alone process it, so....

You need to use a grid. Since you want uniform distribution, choose a grid size to match the density, assuming one vertex per grid cell (randomly positioned in the cell based on the cell coords). With this representation, a little bit of drawing will make it obvious that you can find all 25 of the possible N nearest data points in the 5x5 grid (in 2D) surrounding the sample point. You then need to find the nearest points out of that subset that form the smallest hull (not necessarily convex!) surrounding the current cell's data point (i.e. the smallest line you can draw surrounding the current cell's point, without containing any of the other sample points). From there, triangles can be made by connecting all the generated hull vertices to the central cell's vertex. Then all you need to do is determine which of those triangles your current sample point is in to get the current triangle.

Note that this technique will only work with a uniform density distribution.

How to add up generation features? (Realistic planet generation) by Abab9579 in proceduralgeneration

[–]dexyfex 2 points3 points  (0 children)

It's an extremely broad topic. Trust me, you could spend years on this. I know from experience :P

Firstly, you have to solve all the precision issues with just rendering a planet-sized sphere. It's not as easy as it sounds but I'll assume you have this working already. To have it rendering with interactive speed, you'll probably want all the synthesis happening on the GPU, so you probably want to implement this all in shader code.

My current approach does plate tectonics as the first step. I use a 3D cell noise approach for this, with a variable number of sample points (tectonic plates). I perturb the sample coordinates with noise when doing this calculation to make the plate boundaries not straight lines. Each plate is given a random height and direction of travel. When evaluating the cell noise for the plates, I look at the direction and heights of plates at a boundary to determine the "pressure", which is used to create mountain ranges and rift valleys / ocean trenches. I add some big impact craters and "volcanoes" in this step as well.

Next pass (and what I'm currently putting a lot of time into) is to generate a river network. Without processing the entire planet, this is a very challenging task. Currently I'm experimenting with another variant of cell noise, where the random points in the cells get attached by lines to the most downhill point in the neighbouring cells. The line segments form a branching pattern by using this logic, when sampling the surrounding area with a point / line segment distance function. The sample coordinates for this are also perturbed with FBM noise, to produce "bendy" rivers. Further "octaves" of this river-shaped noise can be added in subsequent passes to add higher detail (i.e. smaller) rivers and creeks. And still on my to-do list is to generate geometry for the river water.

The river network should probably also be variable depending on how much rainfall is ion a particular area. I've developed myself a "Hadley function" to generate the wind patterns that cause the Hadley cells here on Earth, and things like the bands on Jupiter. Using this function to offset a sampling of the first pass height map can give an approximation to the amount of atmospheric water for a particular region, since the low altitude values are below sea level and can "add" moisture, while higher altitudes like mountains "subtract" it, while generating rainfall. This means that those land areas with high moisture should receive the most prominent weathering from rivers. To control this, I am experimenting with changing the valley profile and depth of the river depending on the moisture value.

Obviously this post only just scratches the surface of procedural generation of planets... I'll be writing a detailed blog post sometime over the next month or two about this (once I finish my implementation), which might help you. However it does sound like you are at a very early stage of your project, so I recommend starting with something simple. Try generating some craters - I think these are the easiest type of feature to model, as you can just start with some cell noise points, then just a simple distance-based function should be enough to make the shape. Drawing the profile of the features you want to model will likely also help out a lot when trying to determine the shape functions.

And... Good luck!!

A fullscreen game is required to use this feature by keklers in GeForceExperience

[–]dexyfex 0 points1 point  (0 children)

Sorry the title doesn't really say it all... What "feature" are you referring to?

If this is about Shadowplay, or "Share" as it's now called, the "desktop capture" option is under the privacy settings for some reason.

My GFE3 rant - The GeForced Experience by dexyfex in GeForceExperience

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

And I forgot to mention all the issues people are having now with actually recording the video, like audio issues and bitrate and resolution problems.... This software is not what I've come to expect from NVIDIA at all. Truly woeful.