Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - MagmaMcFry

Pages: 1 ... 25 26 [27] 28 29 ... 263
391
Other Games / Re: McFry's Minecraft Server: 4AboPLw_ppE
« on: November 22, 2015, 07:16:29 pm »
Okay, custom modpack it is then. I made a googly duck where you guys can enter the mods you would like to have in the modpack. Feel free to trawl through the mod lists of existing modpacks and add all the utility mods and other omnipresent mods (Iron Chests, Chisel, Inventory Tweaks, NEI, etc...), if you have time. I'll check back tomorrow evening. That's not a deadline.

392
Other Games / Re: McFry's Minecraft Server: 4AboPLw_ppE
« on: November 22, 2015, 01:35:02 pm »
What kind of server?

Minecraft, as usual. Haven't decided on the modpack yet, suggestions are welcome.

393
Other Games / Re: McFry's Minecraft Server: 4AboPLw_ppE
« on: November 22, 2015, 01:11:42 pm »
You guys ready for another round of server?

394
General Discussion / Re: Mathematics Help Thread
« on: November 16, 2015, 04:13:55 am »
Maybe it helps if I describe it: Let's say you have two sequences a(n) and b(n) of positive real numbers. We write a(n) = O(b(n)) (the equals sign is misleading) if a(n)/b(n) is (eventually) bounded from above; a(n) = o(b(n)) if a(n)/b(n) converges to zero; a(n) = theta(b(n)) if a(n)/b(n) is bounded from above and below by two positive numbers (so a(n) = O(b(n)) and b(n) = O(a(n))).

To prove that a(n) = O(b(n)), you just need to take the sequence (a(n)/b(n)) and prove that it is bounded from above by finding a number that is larger than all values in the sequence.

Note that if your sequences contain some zeros or negative numbers in the beginning, you may simply cut off the beginning of your sequences until a(n)/b(n) is well-defined.

395
* MagmaMcFry has gained 1 rank(s) in Degree (Mathematics)

Finally I finished that bachelor's thesis. It was a really horrible experience, not having loads of free time. But now I'm back. I missed you, Bay 12.

396
Other Games / Re: Team Fortress 2: SCREAAAMMM FORTRESS VII! "Souls go here"
« on: November 04, 2015, 04:15:23 am »
If you don't like the Halloween gimmicks, just play non-Halloween maps. Simple as that. It can't prevent fun if you're not playing it, right?

397
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 31, 2015, 02:46:45 pm »
Also, I assume that zeroing the vector along an axis involves vector multiplication (dot product or cross product), but I'm not sure of the exact operations I should be doing here. It would be extremely useful if I could get this working with slopes.
You can multiply it by the "swap" of the normal. This is usually what we mean when we talk about transposing a vector. You can go into the math, but in programming terms, it boils down to this: if the normal vector is {x, y}, then you want to multiply the velocity vector by {y, x}.
That really really doesn't make any sense. What you actually need to do: If your velocity vector is v and your unit normal vector is n, then zeroing v along n is done by taking v-n*(v.n).

398
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 30, 2015, 07:31:23 am »
OK yeah, I see what the issue is now. You need to do the collision detection by ray tracing the velocity vector, finding the nearest collision intersection, then zeroing the velocity along that normal and ray tracing the new velocity vector (once again checking for collisions).

Your example shouldn't happen under this scheme -- the box is already colliding with the ground on the y-axis so any ray trace would find that immediately, zero your y velocity, then try to move you along the x-axis instead.
The major problem with that method is that you can't walk uphill.

399
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 28, 2015, 02:16:48 pm »
Minor nitpick: Replace
Code: [Select]
return Data(left.low, left.high, left.sum);with
Code: [Select]
return left;

400
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 27, 2015, 03:46:40 pm »
Supose I have found the points of intersection of the lines that confine the area. How do I identify which one of those points is the point where the objective function reaches its maximum or minimum? It also can be that there is either no maximum or no minimum, or both no maximum and no minimum.
Suppose we have n constraints (n lines) and less-than-n points of their intersection with one another. That means the area is unbounded in the direction of the gradient of the objective function. How do I find it out not knowing how the polygon (which is shaped by the area) looks like?
To find a potential maximum, just evaluate the objective function f at all intersections of two lines and take the intersection P with the highest objective value f(P) such that P still fulfills all inequalities. To determine whether that point is actually maximal, take the line {Q : f(Q) = f(P) + 1} and intersect it with all the given boundary lines. If none of the resulting points is valid, then P is indeed maximal, otherwise P is not maximal.

401
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 27, 2015, 12:26:29 pm »
Hmmm... I got my own implementation of quadtrees working, and it successfully reduced the number of collision comparisons to 0.166 what it was before, using about 3.50% of my (quad-core) CPU while moving around and drawing 1000 AABBs at 60fps. But one of the code examples I looked at looks like this:

Code: [Select]
public List retrieve(List returnObjects, Rectangle pRect) {
   int index = getIndex(pRect);
   if (index != -1 && nodes[0] != null) {
     nodes[index].retrieve(returnObjects, pRect);
   }
 
   returnObjects.addAll(objects);
 
   return returnObjects;
 }

This function returns a list of objects that the given rect could potentially be intersecting. When getIndex returns -1, it means the given rect doesn't fit within one of the child nodes, so must be placed within the current one. The problem I found with this function is that it's not symmetrical. Say two collision rectangles are added to the quadtree, and one is placed into one of the child nodes as it fits entirely within one quadrant. But the other is halfway between two of the quadrants, so it gets placed in the parent node. Using the function above, the former will register as colliding with the latter, but not vice versa.

I can't even tell if that's intended behavior here.

When searching a space partitioning tree for things that collide with an object, you need to look not only at the object node's parent nodes, but also at its child nodes.

402
General Discussion / Re: Conspiracy theories and the failure of reason
« on: October 25, 2015, 08:12:42 pm »
Wait a moment, the Flat Earth Society is an actual unironic thing now? Last I stumbled upon that site I swear it turned out to be a parody, made specifically to train people in playing devil's advocate, but now I can't find any mention of that anymore. Spoooky.

403
My robotics team just won like all the thing.
Top scoring, Excellence award (AKA the top award), and of course the tournament.
Wow, congrats! Want to share some more details?

404
Other Games / Re: Minecraft - It has blocks.
« on: October 23, 2015, 06:17:44 pm »
There's aa bit in the chunk file that states whether or not you need to generate ores for it. I don't know what it's set as in that map.
This.

405
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 19, 2015, 03:27:15 pm »
Now, it reads as almost-English: "if compChoice beats userChoice print you lose" and "if userChoice beats compChoice print you win".

Clearly there is a naming problem here. You can interpret beats[userChoice] either as "what userChoice beats" or as "what beats userChoice". As good programming practice I suggest encapsulating the whole thing in a two-argument function: int winner(int choice1, int choice2), that returns 1 when choice1 wins, 2 when choice2 wins, and 0 for a tie.

Pages: 1 ... 25 26 [27] 28 29 ... 263