Servant of the Lord

Member
  • Content count

    7270
  • Joined

  • Last visited

Community Reputation

33724 Excellent

About Servant of the Lord

  • Rank
    C++ programmer

Personal Information

Social

  • Twitter
    JaminGrey
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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!
  6. 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.
  7. C++ Figuring out where we are on a curvy path

    Thank you, that definitely helped get me going in the right direction.
  8. 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.
  9. 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?
  10. 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?
  11. Infinity Battlescape

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

    That output window is incredible.
  13. 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)
  14. Node Graph UI for Accidental Noise Library

    That's very neat! What do all those arrows and buttons on the Output node do?
  15. Education I wrote a Physics Engine and Articles for Beginners

    Thank you for this. I'm not in need of one now (I'm working on 2D games atm and, coincidentally, using ^^^ that guy's ^^^ 2D collision library), but I've bookmarked it for when I move to 3D in the future. I had a glance through some of the articles you wrote, and they seemed very clear and straightforward.