|
anothergod posted:This gif turned out pretty OK. I really want to play... whatever this is. That's quite an interesting aesthetic you've got going on.
|
# ? Sep 29, 2016 03:43 |
|
|
# ? Jun 13, 2024 05:45 |
|
GlyphGryph posted:I did not get the sense that Imaginary Friend was just a designer/writer, was just sharing a technical example of "how I would do it". Also, good thing I broke both my legs longboarding so I have time to add useless stuff to my game! When entering blah-mode, different kinds of blah's are jumbled together with keywords that are tagged with [blah] in the text file. The keywords in there are food and here so I actually managed to create some weird kind of blah-language! edit with amazing car because I've been posting too much. Imaginary Friend fucked around with this message at 20:41 on Sep 29, 2016 |
# ? Sep 29, 2016 13:46 |
|
I haven't seen anything about it recently and the latest Google results are old as poo poo: whatever happened to that one game somebody in here was working on called Black Annex? The one done in QBASIC? That poo poo was awesome!
|
# ? Sep 29, 2016 13:56 |
|
D34THROW posted:I haven't seen anything about it recently and the latest Google results are old as poo poo: whatever happened to that one game somebody in here was working on called Black Annex? The one done in QBASIC? That poo poo was awesome! I would assume it's trucking along very slowly because it's written in QBASIC.
|
# ? Sep 29, 2016 13:57 |
|
This is looking pretty great. Keep it up!
|
# ? Sep 29, 2016 14:49 |
|
That would be Mug, and his most recent post that mentions the game is about a year old and it's here: https://forums.somethingawful.com/showthread.php?goto=post&postid=451406209#post451406209 But it seems like he hasn't mentioned the game on his Twitter account for the last month at least. Couldn't be bothered to scroll down further. Perhaps shoot him a PM?
|
# ? Sep 29, 2016 14:53 |
|
In preparation for the Octojam, I had a bit of a play today: http://johnearnest.github.io/Octo/index.html?gist=3cc3c1274ca165644a7d50281555e321 WASD to move, E to shoot. Got to look into saving and loading registers, or at least refactoring to use less of them, if I want to add something to shoot at.
|
# ? Sep 29, 2016 15:31 |
|
Imaginary Friend posted:Well I wouldn't call myself a programmer, but I got some of the stuff you wrote at least This is pretty much how I interact with people IRL, will definitely want this when it's done.
|
# ? Sep 29, 2016 17:11 |
|
FuzzySlippers posted:Do you guys think it is tacky to mention other games to let customers know how your game plays easily? Like I remember a game on Steam just said "like advance wars" which saved them a butt ton of words describing advance wars and I knew what they meant and if someone didn't they went on to explain a bit more. In theory that's a great way to get your point across but in practice I imagine humanity will ruin it. I enjoyed the pants off Advance Wars and if somebody made a game that was Like Advance Wars but with Minor Twist I'd be all over it. Except that it's too easy a marketing ploy to pass up. So there are going to be a ton of games that claim to be Like Advance Wars, when what they really mean is Like Advance Wars but Crappy. Which ruins the credibility of that form of pitch. This is unfortunate, because half of the games I want to see made are essentially X + Y. Like a SHMUP plus Juggler -- the enemies you shoot turn into flaming wreckage that you have to bounce in the air because if it lands on the city you're trying to protect, they get pissed at you. But feel free to lay waste to the forest intervals. Once this mechanism is finished, I think we need to proselytize. This is clearly the One True Way, and now I'm going to be retroactively angry at all the other games I play that Do It Wrong.
|
# ? Sep 29, 2016 17:45 |
|
Physics Question I want my skeletons to lob bones in parabolic arcs that will hit the player if they don't move -- standard physics engine stuff. When a skeleton is ready to throw, I know the position of the bone, the position of the player, the value of gravity, and the angle at which they intend to toss it. What I don't know is the initial velocity to give that projectile so that its trajectory intercepts the player. What's the formula to find this?
|
# ? Sep 29, 2016 17:58 |
|
Hammer Bro. posted:Physics Question Google for ballistic trajectory formula. Specifically look at the "angle required to hit coordinate" section.
|
# ? Sep 29, 2016 18:12 |
|
TooMuchAbstraction posted:Google for ballistic trajectory formula. Specifically look at the "angle required to hit coordinate" section. That gives the formula to find an unknown angle: I've got a fixed angle, so I'd need to solve that equation for v. I'm not sure my algebra is up to that standard anymore, but I'll spend some time on it.
|
# ? Sep 29, 2016 18:34 |
|
Hammer Bro. posted:That gives the formula to find an unknown angle: If you need more guidance, this is a good article: https://blog.forrestthewoods.com/solving-ballistic-trajectories-b0165523348c#.2j112v87k
|
# ? Sep 29, 2016 18:45 |
|
Honestly, for this use case, I'd just solve it using a little guess and check. If you were making a golf game or a tank game or something, then it would be worth really hitting the books. A skeleton throwing a bone?... I dunno... 1. pick a y-velocity and gravity value for the projectile that feel good 2. do a test throw with x-velocity=10 and see the distance it travels in pixels 3. (x-distance in pixels / 10) = the distance / x-velocity ratio you can use Add a slight amount of randomness to each throw and that's probably good enough that nobody will ever complain. if there are lots of circumstances where the thrower is above the player, you can figure out a similar ratio that decreases the x-velocity if the y-distance is positive. This is a better solution in some ways because it's super easy to add maximum and minimum x-velocities, so your skeleton whiffs bones in the air if the player is too far away. Polo-Rican fucked around with this message at 19:09 on Sep 29, 2016 |
# ? Sep 29, 2016 19:07 |
|
Polo-Rican posted:Honestly, for this use case, I'd just solve it using a little guess and check. If you were making a golf game or a tank game or something, then it would be worth really hitting the books. A skeleton throwing a bone?... I dunno... Yeah I agree a lot here. The work involved in making this "AI" be perfect is a lot, but the player will understand that all they have to do is move. If you compare that to Hammer Bros. in Mario or Skeleton Throwers in Castlevania, they throw things relatively close but mostly randomly, and the player's response becomes much different and is more about judging the minute differences in stimuli. GlyphGryph posted:I really want to play... whatever this is. That's quite an interesting aesthetic you've got going on. Thanks man! Have another gif An older version of the game is up on itch.io as Super Combat Jr 2. That version is multiplayer only and mostly controller based, but we're working on ideas for single player and KBM. We made quick two week game using a similar art style earlier this month, too: https://interdimensional.itch.io/guulbusters-ii. It's, uh, not exactly fully fleshed out, but we tested a lot of the ideas we wanted to get done for the Combat Jr revision.
|
# ? Sep 29, 2016 19:34 |
|
Thanks to everyone for all the feedback so far. It's given me a lot to chew on.Obsurveyor posted:If you need more guidance, this is a good article: Dang, that is quite the article. Unfortunately, there may still be a bunch of maths in my future, as it covers:
I still feel like somebody ought to have the formulas re-arranged for unknown speeds, but apparently it's not the most common of use cases. Polo-Rican posted:Honestly, for this use case, I'd just solve it using a little guess and check. If you were making a golf game or a tank game or something, then it would be worth really hitting the books. A skeleton throwing a bone?... I dunno... The skeleton throwing a bone was just the first representation. I expect to have many types of projectiles that are subject to gravity, and therefore follow parabolic arcs. They'll all be trying to hit the player, who has free mobility and therefore is unlikely to be level with them. And it doesn't make sense to me to solve for the angle. Maybe I want to have wall-mounted cannons that clearly adjust their angle slowly and fire periodically -- if I don't solve for velocity, then most of their shots are unlikely to go anywhere near the player. If I solve for the angle, then it's as if the cannons are always pointed directly at the player, which strikes me as unsavory. If I fix the travel time, then dodging them becomes a very routine and mechanical act; jump every N seconds. (Actually, now that I've thought it out, I do want a high tower of oscillating cannons that you have to jump your way to the top of safely. So I should continue hunting for the general solution.) anothergod posted:Yeah I agree a lot here. The work involved in making this "AI" be perfect is a lot, but the player will understand that all they have to do is move. If you compare that to Hammer Bros. in Mario or Skeleton Throwers in Castlevania, they throw things relatively close but mostly randomly, and the player's response becomes much different and is more about judging the minute differences in stimuli. That's what surprises me. This ought to be a solved issue. Indeed it is solved, just most of the solutions are in terms of different variables than I want to use. I feel like if my fundamentals weren't so ancient, it would be easy to derive the formula I'm looking for. And this is honestly the kind of thing I lose sleep over. Stupid micro-perfectionism.
|
# ? Sep 29, 2016 19:47 |
|
It's easy to do if you want to fake it without physics, the distance from skeleton to player is a diameter. Midpoint of that line is the center of a circle/ellipse and the path of the projectile is the circumference. Now you make a sin/cos call at each step to generate a new X,Y coordinate for the projectile. From an old script where I did that once upon a time: code:
|
# ? Sep 29, 2016 20:31 |
|
I'll try and remember to write it out later but: You can solve for time t w/ the x axis t = Dx / Vx; Assuming there's some ratio between X and Y, call it C, you can let Vx = C(Vy) and t = Dx/(C(Vy)); then substitute that into the equation: Dy = VYi * t + 0.5*a* (t^2) and solve for VYi. One you have Vy, you can mult by C for Vx
|
# ? Sep 29, 2016 21:58 |
|
Splat posted:I'll try and remember to write it out later but: I received a similar suggestion to that elsewhere, but either I'm applying it wrong or it fundamentally doesn't work. If I have an initial velocity V at angle theta, which is what I want to solve, then that can be broken down into its X and Y components: code:
code:
code:
code:
code:
code:
I'm hoping the rest of my troubles are just that I'm physics-frazzled right now, because all of those operations and substitutions feel legitimate to me, but my implementation is behaving badly.
|
# ? Sep 29, 2016 23:43 |
|
anothergod posted:This gif turned out pretty OK. That character sprite looks infinitely better with that background than any of the others you've shown so far. The shadows and movement also help I'm sure, but the floor really makes the character pop. Looking at your next gif the character doesn't look as good on the stairs or the white floor. I'm not enough of an artist to tell you why though.
|
# ? Sep 30, 2016 04:34 |
|
Hammer Bro. posted:Physics Question The "set angle" aspect is what's fuckin' ya here. Set either the horizontal speed or the vertical launch speed- preferably the latter, for ease of level design- to a constant, and your calculations will become drat near linear. Plus it'll be much easier for players to read and counterplay.
|
# ? Sep 30, 2016 05:51 |
|
Somfin posted:The "set angle" aspect is what's fuckin' ya here. Set either the horizontal speed or the vertical launch speed- preferably the latter, for ease of level design- to a constant, and your calculations will become drat near linear. Plus it'll be much easier for players to read and counterplay. it makes more sense to me for the vertical launch speed to be constant and the horizontal launch speed/angle to change. then they would all have a uniform hangtime before they drop
|
# ? Sep 30, 2016 06:25 |
|
Physics Solution https://vimeo.com/184962484 code:
I may end up switching to a fixed-travel-time solution, but it's nice to have this in my pocket for when I really want things at fixed angles. I still maintain that it can be put to interesting uses.
|
# ? Sep 30, 2016 06:42 |
|
Here's another physics question, in Unity I've found out how the Drag setting for Rigidbodies works along with gravity:code:
I'm trying to figure out how much extra force I need (when something jumps) to overcome not just gravity, but also gravity and drag together. The code for finding the proper force needed to reach a given height accounting for gravity alone is here, where Mathf.Sqrt is Square Root, and Physics.gravity.y would be 9.81m/s. code:
Mercury_Storm fucked around with this message at 13:03 on Sep 30, 2016 |
# ? Sep 30, 2016 11:59 |
|
zolthorg posted:it makes more sense to me for the vertical launch speed to be constant and the horizontal launch speed/angle to change. then they would all have a uniform hangtime before they drop Uniform drop hangtime, uniform maximum height, simple parabolic calculation for predictions. Plus they always look 'thrown.'
|
# ? Sep 30, 2016 12:56 |
|
Somfin posted:Uniform drop hangtime, uniform maximum height, simple parabolic calculation for predictions. Plus they always look 'thrown.' You might want a few backup equations in that case though - boost it up a bit if the player is up higher for example. So one equation for if the player is more than "x" units below the thrower. Another equation if they are between "-x" and "+x", and a final equation for if they are more than "x" units above the thrower. At least that's how I've seen it done before in games where you want them to pose a risk with any kind of approach, without them throwing perfectly horizontal fastballs at your guys (which don't look too good) Edit: Or do the cool thing where it inverts the throw! GlyphGryph fucked around with this message at 16:25 on Sep 30, 2016 |
# ? Sep 30, 2016 14:05 |
|
Mercury_Storm posted:PHYSICS How is the initial rigidbody.velocity determined using jumpForce? Emmideer fucked around with this message at 14:27 on Sep 30, 2016 |
# ? Sep 30, 2016 14:25 |
|
Krunge posted:How is the initial rigidbody.velocity determined using jumpForce? Ah, it's just set to a new velocity instantly (from 0), also ignoring mass using this code: rigidbody.AddForce(Vector3.up * jumpForce, ForceMode.VelocityChange); So if jumpForce is 15, the new velocity will be Vector3(0, 15, 0)
|
# ? Sep 30, 2016 14:46 |
Hammer Bro. posted:Physics Solution This doesn't seem to be working for me in specific circumstances. It looks like if the delta vector X is larger than the Y it can end up having a negative value in the sqrt.
|
|
# ? Sep 30, 2016 16:23 |
|
Polio Vax Scene posted:This doesn't seem to be working for me in specific circumstances. It looks like if the delta vector X is larger than the Y it can end up having a negative value in the sqrt. I suspect you're passing in the wrong angle -- I did it myself far too many times. Consider this reference picture: In Cartesian coordinates the y-axis increases as you go upward, but in computer coordinates it increases as you go downward. So intuitively if I want to throw at 45 degrees left of vertical (135 degrees, or 3 PI / 4 radians, clockwise from the horizontal), I've got to account for the inverted y axis by passing it an angle that's 3 PI / 4 radians counterclockwise from the horizontal. Which really just means pass in the negative of whatever angle (in radians) you intuitively want to give it. All of my failures yesterday evening were due to unwittingly telling the skeletons to throw at an angle which couldn't possibly hit the player. Like down and left when the player was up and left. Edit: I should also add that there are certain locations at which it's simply not possible to hit a target, but these make sense intuitively. If you're throwing at a 45 degree angle but the target is directly above you, of course you'll never be able to hit it. Or more generally, any time the angle from the source to the target is closer to straight up (-PI / 2 in computer coordinates) than the fixed launch angle. Mercury_Storm posted:This is proving to be pretty difficult because drag is not a constant like gravity, and instead reduces velocity by a percentage every frame. Any ideas here? My Smart Brain has not recovered, but this smells strongly of Calculus II to me. Integrals (if you're not familiar with them) allow you to add up infinite infinitely-small numbers into an exact sum. Or, graphically, determine the area under an arbitrary curve. As to what specifically to integrate in your problem, right now I've got nothin'. Hammer Bro. fucked around with this message at 18:06 on Sep 30, 2016 |
# ? Sep 30, 2016 17:58 |
|
Mercury_Storm posted:rigidbody.velocity *= Mathf.Clamp01(1f - rigidbody.drag * Time.fixedDeltaTime); I don't know anything about drag physics, but this is not going to have the same results for different fixedDeltaTime values. Literally at fDT 1, 60, and 100 you will have different results. Are you using Drag to keep things from moving too fast? Like to limit velocity vectors when you're on the ground? I was having a similar problem because I thought drag meant drag-while-moving-across-other-objects like moving something on the ground. Unity uses drag like you would for a plane or something moving through air, though. You can tell because the drag equation doesn't reference other objects or collisions. That means that dense objects want low drag and not dense objects want high drag - think throwing a baseball vs throwing a beachball. The last thing I had drag > 0 on was a smoke effect. I only ask because I was using Drag for literally that problem. For a moment I was solving this drag problem by just applying drag when the player was on the ground and changing it to 0 when the player was in the air. It worked but I was upset that the physics weren't right. Then I just started using physics materials.
|
# ? Sep 30, 2016 18:57 |
Hammer Bro. posted:Which really just means pass in the negative of whatever angle (in radians) you intuitively want to give it. That was exactly it, thanks! Works perfectly now.
|
|
# ? Sep 30, 2016 19:04 |
|
anothergod posted:I don't know anything about drag physics, but this is not going to have the same results for different fixedDeltaTime values. Literally at fDT 1, 60, and 100 you will have different results. I'm increasing drag for all enemies and objects when they're underwater, and some objects and enemies have a bit of drag too to differentiate their movement a bit. So if an enemy is underwater it needs to know what jump force it needs to reach a platform accounting from the fluid drag and such. I'm using physics materials in the same way that you're using them too.
|
# ? Sep 30, 2016 19:05 |
|
Hammer Bro. posted:My Smart Brain has not recovered, but this smells strongly of Calculus II to me. Integrals (if you're not familiar with them) allow you to add up infinite infinitely-small numbers into an exact sum. Or, graphically, determine the area under an arbitrary curve. Hey thanks for this and I think I might be on to something now, as I've got an equation that gives values that are really close. What I figured was simulating a jump without drag, and then seeing how much speed would be lost on each frame with drag, and adding it up and returning a new jump force with the force lost each frame added. code:
Mercury_Storm fucked around with this message at 20:10 on Sep 30, 2016 |
# ? Sep 30, 2016 20:04 |
|
Here it is! An actual, playable prototype! https://whispering-mountain-88337.herokuapp.com/ Features: 3 (almost) fully implemented species, each of which has 2 additional fully implemented subspecies! 1 kind of implemented species. 6 half-assed fragments 32 fully implemented moves (ones that are unimplemented will be marked as incomplete) Experience gained you fight, and creatures that evolve and change based on what they've defeated Multiplayer support! Challenge other players to fights and get your rear end kicked. Use arrow keys to walk around, enter to select options and mouse to equip or unequip moves NOTE: This poo poo is not optimized in the slightest, expect it to be slow. Everything is processed server side and I am on a free lovely server running really bad code that does way too many database calls! Gonna be updating it pretty regularly the next few days. Self imposed challenge status: COMPLETE Now I get to spend some time polishing this up and improving it, maybe another month. GlyphGryph fucked around with this message at 13:33 on Oct 1, 2016 |
# ? Oct 1, 2016 04:09 |
|
Higsian posted:That character sprite looks infinitely better with that background than any of the others you've shown so far. The shadows and movement also help I'm sure, but the floor really makes the character pop. I think it's simply a matter of keeping enough contrast between the player and the environment. Just needs darker floors/stairs/walls as an unbreakable rule if the player can overlap them.
|
# ? Oct 1, 2016 04:37 |
|
GlyphGryph posted:You might want a few backup equations in that case though - boost it up a bit if the player is up higher for example. Or, that enemy is simply not a threat if you have sufficient high ground on them. So they usually only appear if they have guaranteed high ground, but the player can gain huge advantage by securing an even higher route. In a randomised game, enemies need to be flexible and general, but if the game is designed then limits can help to guide your design.
|
# ? Oct 1, 2016 06:00 |
|
GlyphGryph posted:Self imposed challenge status: COMPLETE Nice job for finishing! I enjoyed seeing my doodledad and its abilities. I tried challenging someone but no response yet; get your butt on, Ms butts@hotbutts.com! There's a lot of stats and stuff, can I fight an ai baddie?
|
# ? Oct 1, 2016 10:58 |
|
Just walk around for wild encounters. I plan on adding a boss and stuff a little later for a bit more of an AI challenge but he's not in yet. You can also capture additional team members.
GlyphGryph fucked around with this message at 13:33 on Oct 1, 2016 |
# ? Oct 1, 2016 13:28 |
|
|
# ? Jun 13, 2024 05:45 |
|
This is neat! I'd seen your screenshots around but I didn't realize this was an online game.
|
# ? Oct 1, 2016 14:53 |