Jump to content
  • Advertisement

fastcall22

Moderator
  • Content count

    2554
  • Joined

  • Last visited

  • Days Won

    1

fastcall22 last won the day on March 28

fastcall22 had the most liked content!

Community Reputation

10893 Excellent

6 Followers

About fastcall22

  • Rank
    Web Developer

Personal Information

  • Role
    Programmer
  • Interests
    Programming

Recent Profile Visitors

31325 profile views
  1. Yes, `git config remote.origin.url` and `git push origin master` is more or less correct, except for a small caveat: The destination repository,`Joshei/MyGolfRepo.git`, already has a commit. You will need to force update in order to effectively replace the destination repository with the source repository. Remotes can also be managed with `git remote`: https://git-scm.com/docs/git-remote. On git bash vs git cmd: It doesn't matter too much. `git bash` is Bourne shell for Windows with some emulated Linux features: https://superuser.com/a/1053657. I use Git SCM under Powershell and work around Windows-specific issues (`GIT_SSH`, for example). On where to be: Git looks for the first directory containing the git object database, the `.git` folder, and operates from there. I generally manage git from the topmost project directory. On backups: If you have concerns about possibly losing data in your local repository, then make a backup of your local `.git` folder, and move it outside of the repository directory. If something goes very wrong, you can always remove your current `.git` folder and replace it with a copy of the backup. As an aside, I recommend anyone learning git to use a repository visualizer such as gitk (Git SCM), TortoiseGit, or even git log, and follow along as you execute your git commands.
  2. @sprotz VideoGameAttorney in his Ultimate guide to legal needs and prices post on Reddit sums it up quite nicely:
  3. Use the code block tool, like so: # https://docs.python.org/3/library/itertools.html#itertools.groupby groups = [] uniquekeys = [] data = sorted(data, key=keyfunc) for k, g in groupby(data, keyfunc): groups.append(list(g)) uniquekeys.append(k)
  4. fastcall22

    Brilliant game Idea of a GTA Primal.

    Alright, let’s not get bogged down with hypotheticals and stick on topic. This thread has the potential to go off the rails as OP’s other thread. To summarize thus far: Ideas in and of themselves do not have any value. It is the execution of the idea that has value, but it also is where 1x to 3x the budget, the sweat, the blood, and the tears go. Yes, someone can “steal” your idea, make a game out of it, and have varying degrees of success or failure, but hey also have to invest the resources into it as well. Why hasn’t someone made “popular game X but with Y”? Because it costs resources or research suggests it will not turn a profit or the proof of concept proves the idea to be not fun. People who don’t value their own time have warped perspectives about how games are made.
  5. Those who are interested can find the original spam-free thread here: https://www.reddit.com/r/gamedev/comments/94un0j/my_game_has_a_very_unique_combat_system_and_ive/
  6. fastcall22

    People really have no ideas on game development.

    Well, this thread went on some adventures. Pretty sure everything that needed to be said was said on the first page, so the thread is now closed.
  7. Your question then is only about the math behind finding the point of intersection of three planes? The standard form, Ax + By + Cz + D = 0, can also be written as a dot product, `(A,B,C,D) · (x,y,z,1) = 0`, and both can be written as matrix multiplication: `[[A B C D]] * [[x] [y] [z] [1]] = [[0]]`. For all planes, `(A,B,C,D) · (x,y,z,1)` must be 0, if written as a matrix, we get: [[x] [[A1 B1 C1 D1] [y] [[0] [A2 B2 C2 D2] × [z] = [0] [A3 B3 C3 D3]] [1]] [0]] Expanded: [[A1x + B1y + C1z + D1] [[0] [A2x + B2y + C2z + D2] = [0] [A3x + B3y + C3z + D3]] [0]] Afterwards, we can solve using systems of linear equations, specifically using Kramer's Rule or row reduction: [[q*A1x + 0 + 0] [[-D1] [ 0 + r*B2y + 0] = [-D2] [ 0 + 0 + s*C3z]] [-D3]] Which more or less gives us something like the following: [[x] [[-D1/(q*A1)] [y] = [-D2/(r*B2)] [z]] [-D3/(s*C3)]] Regarding how to visualize the math behind it, I recommend watching 3Blue1Brown's series on linear algebra.
  8. Use a hash-based lookup table to identify previously created vertices matching on all attributes of the vertex: Position, normal, texcoord (and its implied texture!), and optionally color. e.g.: class MeshBuilder: def __init__(self): self.index_buffer = [] self.vertex_buffer = [] self.vertex_lookup = {} def index_for_vertex(self, x, y, z, nx, ny, texid, tx, ty): vertex = x, y, z, nx, ny, texid, tx, ty ix = self.vertex_lookup.get(vertex, None) if ix is None: ix = len(self.vertex_buffer) self.vertex_buffer.append(vertex) self.vertex_lookup[vertex] = ix return ix def add_triangle(self, a, b, c): ix_a = self.index_for_vertex(*a) ix_b = self.index_for_vertex(*b) ix_c = self.index_for_vertex(*c) self.index_buffer += [ix_a, ix_b, ix_c] Afterward, use the lookup table to get or create a vertex index to use in your index buffer. In the cube example, the 6 planes will build 6 faces (polygons). Triangulating the polygons will make 12 triangles and 36 vertices. The `MeshBuilder` example will reuse indices for the 12 duplicate vertices. The end result is a vertex buffer with 24 unique vertices, and a index buffer with 36 indices.
  9. fastcall22

    Guys, I need help on new TTB interactive game

    Hello, and welcome to gamedev.net! Have you checked out our beginner’s resources? It contains quite a number of links for beginners such as yourself.
  10. Moving to "For Beginners". Please use a more descriptive title next time. No and no. A game is a complex system of software. Mods are extensions built to interact with very specific software. As such, complex pieces from vastly different systems cannot be stitched together. It is more cost effective to engineer a system that incorporates the pieces you would like to use than it is to reverse engineer and stitch together existing components. There are just too many unknowns and complications with reverse engineering not to mention it is very likely illegal. Assets and IP are protected by law. When a question such as this comes up, I generally quote from VideoGameAttorney’s guide from a year ago, https://old.reddit.com/r/gamedev/comments/5pxldd/ultimate_as_promised_guide_to_legal_needs_and/:
  11. fastcall22

    [Rev-share]3D Animator

    This is unfortunately common with rev-share and hobby projects: You get what you pay for. Work without pay or with a promise of pay is very risky for all parties involved. Teammates can only volunteer their time and will almost always prioritize everything else over the project. As such, teammates will come and go, and for most, the taste for real world experience is enough. To give a general idea, we have seen about five listings a month (for various positions) for the past two years from INTwindwolf. Can you elaborate? Or perhaps INTwindwolf can explain the profit sharing in more detail.
  12. fastcall22

    STL and use, anyone else help me?

    Yes, the this is generally true because the standard library is well featured and exhaustively tested. Something you could write in less than an hour may be as fast or faster, but it may be error-prone, which may cost dozens of hours in debugging later down the line. At the point a profiler were to determine that the container was slow, there are still many options to try before rewriting a container. Stick with what works and move on.
  13. To discount an entire library and write an entire audio library from scratch because of a few roadblocks is a bit extreme. This right here is the most important piece. At this layer you can also control the audio dynamics: Post processing effects, mastering, and loudness control.
  14. fastcall22

    AudioPath does not react on arguments

    This sounds more like a bug in the game code than a problem with the audio library. As an example, a carelessly coded collision response callback may attempt to play a sound effect whenever an actor intersects a damage collider. But, without careful limiting, it will play a new sound effect for every frame it remains in contact. With two dozen actors and an explosion that lasts more than a few frames, you will find yourself playing that sound effect more than 50 times in a fraction of a second. And with 50 audio channels playing the same sound effect, you get a "very loud sound". Therefore, the problem may not be the number of channels to use with the sound library, but rather, the lack of control over how those channels are used.
  15. fastcall22

    LUA Smooth tile movement

    A simple solution would be to move each entity as if it were affixed on a grid and check for collisions during the animation.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!