• Advertisement

Servant of the Lord

Member
  • Content count

    7272
  • Joined

  • Last visited

Community Reputation

33725 Excellent

About Servant of the Lord

  • Rank
    C++ programmer

Personal Information

Social

  • Twitter
    JaminGrey
  1. Gameplay Grappling in Open-World PvP

    Nothing prevents a team of very skilled programmers from implementing such a feature, if that's what you're asking. No such pre-built system exists that can just be plugged into a game, and the animation requirements and programming effort would be such that it'd be a very difficult task (and certainly beyond my meager capabilities, so the rest of my post is just me thinking). The "open world" part is irrelevant (the layout of the world doesn't affect the combat), but expanding it to online PvP (rather than just online PvE or even easier, single-player PvE) makes it harder, definitely. I'd imagine such a system would ultimately behave similarly to the Uncharted series of games: basically, a bunch of context-sensitive pre-scripted animations that can play out based on your position relative to the enemy and the enemy's current state (orientation, and combat state - e.g. throwing a punch at you), as well as the immediately-surrounding shape of the environment. If you haven't played the game (I've only played Uncharted 1 and 2 myself), none of that video is a cutscene - it's all gameplay. BUT you lose control for short blips of time during certain moves - i.e. once a more complicated move begins, and the player' and enemy's animations need to be synced together (for example, pulling the enemy off a roof, or grabbing onto them in any way), you lose temporary control until the synced animation plays to completion. Basic attacks like punches and kicks, and so on, don't have you lose control. But for the duration of e.g. grabbing an enemy's head and smacking him with your head, you lose momentary control. With longer moves this is more apparent and noticeable to the player (the reason why I said you "don't lose control" during basic kicks and punches is really because they are so fast you don't notice you lost control - most action games are like this while a quick animation plays out (for example, a sword-swing in 3D zelda games)). In Uncharted specifically, you only have two or three buttons that help decide what type of move to do, and the final move chosen is based on context, not explicit player choice. So it's very interactive, but sacrifices more interactivity than most games do specifically to enable the cinematic movie feel that you seem to also be interested in that requires the animations of more than one entity to sync up together.
  2. What to do in a pirate game?

    Not pirates, per-se, but have you watched the Russell Crowe movie Master and Commander? Good inspiration there. Shooting albatrosses while standing on a bucking ship deck. Becoming a naturalist and discovering different kinds of new animal species. Trying to scavenge supplies off of islands - need to discover what herbs are edible Oregon Trial-style. Trading at ports - piracy always involves merchantile-ness as well. Gotta unload that cargo somehow, and gotta procure more supplies. Upgrading your ship, getting caught in storms and having to repair your ship while at sea or via resources scavenged from uninhabited islands. Hunting a specific enemy vessel - whether it be a more powerful military vessel or an elusive merchant vessel. e.g. you could be aware that the Spanish Silver Fleet is in a specific ocean, but you'd have to scour the ocean to find it. Maybe you have the barest idea of their sea course, and can try to find them along it somewhere. Can also be flipped - once you have become famous enough of a pirate, powerful government vessels can start hunting *you*, and you better know the sea very well, and all the islands, because the more powerful of their ships outgun you substantially.
  3. Playing Older Games in Windows 10 - Res Fixes Crashing

    I've encountered a few weird crashes like that. Deus Ex 1 crashes due to multithreading issues, so I had to force it to run on a single processor core. Deus Ex: IW ran too fast, so I had to artificially slow down the processor it ran on (following directions for specific games by googling problems with that particular game online). Many games I've had to try many different 'Compatibility modes', some working, others not. Sometimes the game had to run in Administrator mode to not crash, but gave no indicator of this - only with me accidentally finding out by trial-and-error.
  4. C++ Unique identifier for functions? (c++)

    The reason why you should use a hash instead of a string comparison, is because in some situations in an IMGUI, you might want to use integer IDs also. For example, with dear-ImGui, (which uses stacks of run-time hashes to support 'scopes' for the IDs), here's some actual code for a list widget: for(size_t i = 0; i < gameStruct.packetLogger.Size(); ++i) { const PacketLogMsg &packet = gameStruct.packetLogger.Get(i); ImGui::PushID(i); //<<<<<< Adds a new ID to the stack. //===================================================== std::string sender = String::Format("%1:%2", {packet.address.address.toString(), IntToString(packet.address.port)}); if(ImGui::SmallButton(sender)) { if(filterAddress == NetworkAddress()) filterAddress = packet.address; else filterAddress = NetworkAddress(); } ImGui::NextColumn(); //===================================================== //...tons more stuff... //======================================================= ImGui::NextColumn(); ImGui::PopID(); //<<<<< Pop the ID stack } Basically, using PushID(i) to give each loop of the for() it's own unique ID scope, so there's no conflict with, say, a Button that appears in the loop multiple times accidentally having clashing IDs.
  5. How much empty UI space should be around the screen edges?

    Thank you, that helps alot. I'll assume 720p or greater (and certainly test well for 4k and 1080p, which I'd guess most people use) and can just scale down the entire screen for resolutions that likely nobody will use.
  6. How much empty UI space should be around the screen edges?

    Thanks guys. I'm not hardcoding it per-se. My game supports split-screen coop, which means I'm trying to figure out what my minimum supported resolution would be, and halfing that, and thinking about padding, trying to figure out how much horizontal space I'd have for menus. i.e. if the Minimum I support is 1280x720 (720p widescreen monitors/TVs), then half-that in split-screen is 640. So I was mentally subtracting 20 pixels on each side, and thinking about making the menu panels have 600 pixels of usable space. Doing 5% gives me about 560 pixels wide for split-screen menus worst-case, which is doable, but gets rather cramped. What is the minimum resolution console games must support on modern consoles? What about non-widescreen TVs? Can I *assume* a minimum of 1280 width? Or, I guess I should ask, what assumptions can I make about resolution? That'd help me design the basic design, with the understanding that I'll also need to support different ratios and so on by cropping, scaling, or letting the hardware scale it. I want to avoid only scaling for different resolutions, or text will get all blurry.
  7. When releasing games on consoles, I vaguely recall that console manufacturers have a requirement that important UI elements need to be away from the edges of the screen, because different TV's can accidentally cut off some of the image. A) Is this still true with modern TVs? Do console manufacturers still require it? B) How much space should I give my GUI elements, if I wanted the game to be released on consoles? C) What constitutes 'important' UI elements? If I have a UI window in my game, and a little of the purely decorative frame of the window gets clipped, is that a problem? Right now I have a 20px UI padding around the edges of the screen - is that sufficient? (the game's background fills the screen, just not the UI elements) Thanks in advance!
  8. Check out this new JRPG

    Your marketing pitch needs a huge deal more work, in my opinion. Your main Kickstarter video should be captivating or at least intriguing, but instead it's just three or four people talking. And even if you have people talking, they should be good at talking, but the video comes off as very flat as if most the speakers aren't very good at speaking (hey, I'm a pretty awkward introvert, and I'd absolutely suck at narrating a video. Which is why I wouldn't narrate the most important video needed for the success of my game). So then I look for a gameplay video, and all I see is a fly-through of an area without any sound or music. Kickstarter isn't really a place where people support the games they want to see succeed, it's actually a place where people pre-order games they want to exist - at least, that's how most backers behave. As such, you really need to to make your Kickstarter videos and page as polished as you would any other marketing video. Even your post here: "Dude we are making the best turn-based JRPG since FF7. if you don't believe me... check for yourself." comes across as either a marketing lie, or delusion. I wouldn't want to give money to people who aren't realistic about the state of their own game. Passion blinds a little, but this extreme exaggeration is utterly unjustified. I would be alot more careful about how I present myself and my project. And the titles you give yourself (CEO, CFO, and COO) are utterly unwarranted for small studios. It comes across as an attempt to pretend your studio is bigger than it really is, whether you intend that or not. Chief Financial Officer? Really? How many Financial Officers do you have that you need a Chief over the other Financial Officers? It also doesn't help that your ""chief financial officer" can't even say his title without looking up into the corner of his eyes and stating it in a monotonic voice. "Hello. I am. Wayne. the. chief. financ-ial. off-ice-er.". None of this lends likability or encourages trust in a moonshot of a project. And finally, you linked to your Facebook page. It took me clicking on three different links to get to your KickStarter. Why are you trying to promote traffic to Facebook? If it was your own website, I'd understand, but if right now your objective is your KickStarter goal, why drive traffic to Facebook? Each additional click you may lose viewers along the way. This is my opinion and critique; I wish you success on your project.
  9. C++ Figuring out where we are on a curvy path

    Thank you, that definitely helped get me going in the right direction.
  10. Octagon-Square tiling for world map

    But not if you rotate the tiles... ("Tiles can be rotated 8 ways"). If you have a square, unrotated, then the top needs to tile with the bottom, and the left needs to tile with the right. If you permit rotating of the square, then the top needs to tile with the bottom rotated 0, and the right rotated 90, and the top rotated 180, and the left rotated 270. For seamlessly tiling *rotated* octagons in eight rotations, you'd have to get every side to line up with every other side, which A) might make tiling more noticeable, and B) would be hard to make the diagonals line up with the axial lines. Octagons are cool in other ways, if you can do it (8 movement directions is much better than square's 4 directions, hexagon's wonky movement), but I think you'd simplify your graphical work alot if you just limited octagons to rotating in 90 degree increments, rather than 45. Maybe I'm thinking of it wrong, though.
  11. So, I'm kinda confused about how I should create, store (in structs at runtime), and interpolate along potentially curvy paths. Suppose I have a path of, say, ten points. And I want to move an entity 200 units along that path. Those ten points aren't an equal distance from each other, even linearly. How do I know where 200 units into the path is? If I have a vector of ten points, how do I know 200 units of movement along that path lies between point 6 and 7? I could store the distances between each point *also*, and do: float segmentDistance = totalDistanceThrough; size_t i = 0; while(segmentDistance > pathSegmentLength[i]) { segmentDistance -= pathSegmentLength[i]; ++i; } We are between: pathPoint[i] and pathPoint[i+1], ...but the iterating over every path segment length subtracting from the distance seems dumb. I'm pretty bad at math, but there has to be a more elegant way. What's a better more-common way to store paths and move along them? For example, what information do you store alongside your path control points?
  12. Octagon-Square tiling for world map

    Oh jeesh, wouldn't it be a huge pain to draw tile textures that tile seamlessly in 8 directions?
  13. Infinity Battlescape

    I didn't know you - and Infinity:Quest for Earth - were still alive! Glad to see this still exists.
  14. Node Graph UI for Accidental Noise Library

    That output window is incredible.
  15. Node Graph UI for Accidental Noise Library

    It seems like for some formulas, the number of nodes might explode dramatically. Have you considered a node where you can execute a single line of math, similar to Excel's cell formulas? If you already have scripting in your engine, you could leverage the same scripting backend. (Note: the math in the box is dumb and meaningless)
  • Advertisement