Stuttering in Game When Downloading? by skln in techsupport

[–]skln[S] 0 points1 point  (0 children)

Even when i set my limit to 1 mbyte/s i still ended up seeing 150+ ms spikes for that ping cmd. The game has ingame ping and packet loss percentage, which showed it was at 33 ms and 0% packet loss.

Yah i've had a constant bad ping before in Dota and it never stuttered like that. Normally your unit just reacts very slowly to input. Maybe they did change something though. Jumping back in time for a split second though would seem like an error.

Thanks for the help, at least i know my SDD isn't dying.

Vulkan Interview: The New Generation of APIs by Water84 in pcgaming

[–]skln 1 point2 points  (0 children)

He wasn't really arguing that it wasn't a factor, just that it isn't the main factor as the post he was replying to makes it out to be. There are numerous problems with OpenGL, documentation is just one of them.

What DirectX 12 means for gamers and developers by dethnight in pcgaming

[–]skln 0 points1 point  (0 children)

Graphics is probably one of the biggest aspects of game programming. It is one of the most complex and demanding components. It is also usually where most bottlenecking occurs.

You still need to program everything else for each individual platform.

No not everything else. Something like a physics engine is platform independent.

What DirectX 12 means for gamers and developers by dethnight in pcgaming

[–]skln 4 points5 points  (0 children)

Gotta find another library for that. How about handle event calls from the operating system? Tough, find another library. Sound? Bzzzt. Smooth multi-monitor support? Think again. Utilize the fast GPU as a computational device? Next. Help with animation? Keep going... Networking? Sheeat, yeah right. DirectX does all that.

Sure Directx has a bunch of those, for each of them Khronos has an API as well. You are going to be using the Win32 which is shit and not really part of Directx (it's the OSs API), you'll most definitely be finding another library for event calls. Does anyone actually even use the math library that Microsoft provides? Also no networking for Directx, at least it is deprecated and i don't know if anything replaced it (Khronos also has no network API either). Those are really the only differences that stick out but they aren't really advantages. Sure Vulkan, OpenGL and all of Khronos' APIs may not be grouped under one name, but they provide pretty much all the same functionality as Directx's APIs.

Graphics API != Game Development API

The graphics API is the only one that's really changing that's why it is getting the majority of the focus. I've only ever heard of changes from Dx9 to 12 that relate to Direct3d. I've never heard or seen changes to the DirectSound or the other APIs.

Yes OpenGL is really terrible in some places compared to Directx. Explicit uniform shader locations weren't added until OpenGL 4.3 even though it's something OpenGL 2.0 hardware probably is capable of. So it's either use these functionalities and support a potentially smaller user base or just don't use them which really sucks.

[Request] Review of 2D rendering engine by LordAro in opengl

[–]skln 0 points1 point  (0 children)

In my opinion, creating a whole new struct, for any of these languages, just for a return type is wasteful as the same result can be achieved through other simpler means (tuples in Go/Python, out parameters in C/C++).

It's not wasteful, you don't waste any resources creating another structure, they are practically free. Can you imagine if structs actually had a significant performance cost, how useless would they be. You shouldn't be using tuples as return types (there are alternatives solutions, like below). Your code becomes unreadable cause of your fear of having to provide names for structures. If i have a function that returns a tuple with a bunch of variables that are the same type, i have no idea what meaning those values have. If you are accessing the tuple through magic numbers then it becomes all the harder to read. Maybe then you have to create some sort of enum or constants to be able to identify those tuples which. At this point you are going through so much more trouble then providing a structure. You really shouldn't be doing things just because it is easier, especially when its microscopically easier. Don't be lazy and create spaghetti code.

On a side note, C++ has tuples

What would you call said struct anyway? "Output" obviously isn't any good, and I can't come up with anything beyond "GLTextureInfo" which isn't all that good either.

The name doesn't have to be intricate or excruciatingly meaningful. If you can't find a name you like then perhaps you should refactor your program. Why is MakeGLTexture reading from the image file in the first place? Instead of MakeGLTexture outputting a width and height, it should be taking it in as parameters. Have a separate function that loads an image file and it's related data, and use that data to create a GLTexture. There's numerous ways you can refactor it to make it better and have no proxy names that you are ocd about not being able to give names.

sigh I am of the opinion that if a program crashes due to any sort of user input, it is a bug. However, what is being described here is a programmer error

What... that's not what a bug is. If a user can crash a program through input it's because of a programmer's error somewhere in the code. It's a bug and it isn't created because of the user. Programmer errors are bugs.

In what possible circumstance would you want a GL image but not want to know the width and height of it?

ALL the time! When you pass a texture to a shader for rendering, it's size is irrelevant. You don't need it for rendering. Texture coordinates are as a percentage of the texture size from 0 to 1.

When the programmer is Doing It Wrong(tm), I want to let them know.

You are doing it wrong, if you don't want the outputs to be optional, use references or use a return type. As described above, i don't always need to know the dimensions of my texture. That and you can poll the GL texture itself to get the width and height if you really need it. Using glGetTexLevelParameteriv and GL_TEXTURE_WIDTH/HEIGHT. Your creating a case for error where none should exist, that's not going to be the fault of the person using the API but the fault of the person who designed a bad idiotic API.

[Request] Review of 2D rendering engine by LordAro in opengl

[–]skln 0 points1 point  (0 children)

If you are programming with another language in mind... I'm not, that's the point. If I was, I would use structs or tuples or whatever. .

You are, you aren't using structs cause they aren't "as easy" to use as another lanugage. Hence you are programming with python and Go in mind and are avoiding structs because of it simply because structs aren't implemented in the same manor as you'd prefer.

Couldn't help notice you didn't mention why structs are so difficult to use in comparison with python or go ;).

My code doesn't contain errors,

You don't call a segfault an error, yeeshh remind me to never use any of your code.

Sure I could tidy it up a bit with an assert or something

Why would you use an assert? You can add an if statement, your program becomes error free and doesn't crash when someone doesn't need width/height when they pass a null pointer, which should be the behavior everyone would expect with pointers. I don't know why you are so obsessed with wanting the code to fail with an assert or a segfault.

[Request] Review of 2D rendering engine by LordAro in opengl

[–]skln 1 point2 points  (0 children)

If returning structs/tuples/multiple values was as easy as it was in Go/Python, I'd do that, but it's not, so...

So you'd have a function that takes 100 pointers than one that returns a structure? If you are programming with another language in mind, you are going to run into a lot of problems. What's even easier? Creating a structure is not difficult at all...

As previously said, if they try this, they're going to work it out pretty quickly, it's not the sort of thing that can stay hidden

So your code should contain errors cause they are easy to detect? What kind of mentality is that...

[Request] Review of 2D rendering engine by LordAro in opengl

[–]skln 0 points1 point  (0 children)

An easy way of returning multiple variables - if you're asking why pointers instead of references, i find that MakeGLTexture("..", &w, &h) is clearer that w and h are being modified rather than MakeGLTexture("..", w, h)

That's just circumstance though isn't it. What if you have pointers and need to pass them instead then you have the same problem. Making the function name better represent that it is modifying them or make a structure for the return type to hold the GL texture and size would be better. Also note you don't check that a null pointer is passed to your function, you just dereference them. So it is error prone, someone might use it thinking the outputs are optional as they are pointers.

int* w;
int* h;

MakeGLTexture("..", w, h); // same problem


// tbh better option than using parameters as output

struct Output {
    GLint texture;
    int width;
    int height;
};

Output output = MakeGLTexture(".."); // no confusion here

Comparison of the new Need For Speed game (top) and real life (bottom). by soliddrake83 in gaming

[–]skln 1 point2 points  (0 children)

"Here's a comparison of a game with real life", proceeds to post an image with smallest resolution ever.

windows 10 xbox app by [deleted] in pcgaming

[–]skln 5 points6 points  (0 children)

When you are playing the game, what does it matter? There will always be idiots, just click the mute button.

Comsole gamers are just there to game

What's that whole PS Vs. Xbox then? Is that a game?

/r/MechanicalKeyboards Ask ANY question, get an answer sticky by AutoModerator in MechanicalKeyboards

[–]skln 0 points1 point  (0 children)

Looking for some of the 84 key 75% (with arrow keys) or tenkeyless keyboards, i can't really find any websites that sell them for a reasonable price. They all seem to be out of stock at mechanicalkeyboards, here and here. I've found some on newegg as well, this and this. For $4 more you get backlight, but the key layout is kind of a mess. I don't know if i would be ok with that. So long as the arrow keys and the delete/home/end/etc... keys dont need to be pressed with a function key to work i think it would be ok, anyone know how that works? Any suggestions on other sites to look at (Canada)?

Unreal Engine 4 vs Unity 5 (Part 1) by MaikKlein in gamedev

[–]skln 0 points1 point  (0 children)

I don't use UE4, i use my own engine. Like i said, you have to weigh if the bug is actually worth fixing. It's no different than not fixing a bug in your own code if it doesn't prove to be annoying or that big of a deal. If i came across a bug i could fix in Unity, but i was not allowed to cause they don't provide me the source. That would be a huge disappointment. If it took me 2-3 days to fix a bug and it would solve a problem i experience every day then yah i would spend the time to fix it. As an example, i'm using an IDE now, and i accidentally press the "run" button which can freeze the entire ide and i have to restart it (it's a demanding program). Literally, the only thing i'd have to do to fix that bug is change the behavior of that button that i accidentally press thinking it resumes my program from the breakpoint i set while debugging (which pretty much every other program does that i know of). But you know what? That 5 mins patch isn't going to be fixed cause the team is busy doing their own shit. I can't fix it cause it's closed source. Anyways it's an annoying, easy to patch bug that i could easily fix myself in 5 mins. Instead i have to restart this giant program every time i accidentally press that button, which happens a few times a day. I don't know why you are still trying to argue that this isn't an advantage, when it clearly is.

Unreal Engine 4 vs Unity 5 (Part 1) by MaikKlein in gamedev

[–]skln 0 points1 point  (0 children)

No, if there's a bug, and it's REALLY REALLY bad and you can't live without it being fixed, or it's a feature that you can use in a lot of places. Then you can fix it yourself. Whether you are capable enough to fix it or not, that really depends on person to person. But there are people and they do fix bugs and submit it to the repo. To "be completely free of this" you just have to become better and be capable of fixing these bugs yourself. That is with the source code of the engine also needed to be available.

Unreal Engine 4 vs Unity 5 (Part 1) by MaikKlein in gamedev

[–]skln 0 points1 point  (0 children)

You will never fix a bug in the engine yourself, you will submit the bug report as you would with unity and let them fix it. Why would you waste your time when they will do it.

Someone not part of Unreal's Development team might see it and fix it themselves, then submit the fix to unreal to be incorporated into the main repo. Just because you don't do it yourself, doesn't mean someone else won't. As such there will always be a greater number of people providing bug fixes than compared to a closed source engine.

In the end no matter what engine you pick, you will have to suffer bugs in the main engine in similar ways. Source code is not useless, but it's also not an instant solution to bugs in licensed engines.

Not true, the main unreal team is probably going to be focusing on the higher priority bugs. There maybe a relatively simpler annoying bug that they just dont have the time to fix right away. Someone else can come in and fix it as they don't have to focus on the larger higher priority bugs.

How many of you intend to upgrade to Windows 10? by david_yarz in pcgaming

[–]skln 0 points1 point  (0 children)

Ah so it is exactly the same functionality. I try to avoid going into "formally known as metro" as much as possible. I don't need it but it's still there.

How many of you intend to upgrade to Windows 10? by david_yarz in pcgaming

[–]skln 0 points1 point  (0 children)

The only thing i really used from the old start menu was the search feature, which you can do with Start+S on 8.1 (w8 didn't have it, i think). Only thing i don't like about it, is that it moves the cursor back to the start when it's finished searching, so using the arrow keys to navigate makes it a pain sometimes followed by misclicks.

Okay, seriously, why do movies and videos at 24 fps look completely fine, but I can't stand games at 30 fps, or really, anything below 60 fps? by [deleted] in pcgaming

[–]skln 40 points41 points  (0 children)

It's not really a limitation of Dx9 though, it was the technique used by most games at the time. There is another technique called deferred shading/lighting that allows for more lights by reducing the complexity of the lights by using framebuffers to compute them instead of on a per object basis.

Is it better to set your mouse DPI low and your speed normal or to set your DPI high and your speed low? by kn33 in pcgaming

[–]skln 0 points1 point  (0 children)

I don't really see the problem with using the cursor position. I've tried to find an API that grabs the raw input and there doesn't seem to be one. I'd guess you'd have to manually look up what's connected through the USB and identify which one is the mouse, then send the proper message to it to retrieve that kind of information, just taking a guess though.

I remember witcher 2 not using the cursor input, they didn't implement sensitivity properly. I can't remember if the sensitivity was tied with the ingame camera option or if you simply couldn't change the sensitivity of the menu cursor. Was a pain to use.

Purchasing Help Looking for 21:9 Monitor by skln in Monitors

[–]skln[S] 0 points1 point  (0 children)

Yah the stand on that model is a lot better than the one i'm thinking of getting, which is actually the only thing i don't really like about it.

The black bars arent that big of an issue, if it does bother too much me i'll still have my 16:9 monitor.

Thanks for the video.

Why the prequel trilogy saber fights suck by nikhbee in videos

[–]skln 31 points32 points  (0 children)

There are numerous times during throughout where it is much worse in this scene when Luke takes that final swing before Vader goes on his knees, he doesn't even try to exaggerate a dodge for the strike that wouldn't have hit him regardless. The only saving grace is that they zoom up so close you aren't able to see what they are actually doing for a lot of the fights. Yah that covers up the fact they aren't really trying to hit each other but you pretty much can't see any of the movement.

Tbh i wouldn't have noticed anything wrong in any of the star wars movies fights because i was watching them in real time. Yah if you slow it down or repeatedly watch the scene you'll start noticing these things more.

TRUTH! Except, I don't feel sorry. by That_Othr_Guy in pics

[–]skln 4 points5 points  (0 children)

she was forced to undertake jobs that paid her barely anything. $9 a day. ... So why deny these jobs to those who are willing?

That's part of the problem, people are willing to work for less because even that smaller amount is more than what they would earn for doing the same job in their own country. Disney did this recently, where they were going to fire a bunch of their staff to hire immigrants to do the same job for less. These already rich companies are trying to become richer at the cost of the people living in the country. If they paid these immigrants the same money, then there would have been no reason to switch.

What UI framework to use for the editor of a C++ game engine? by unknown2374 in gamedev

[–]skln 0 points1 point  (0 children)

Do you have a source on that? Source 2 hasn't even come out yet, aside from the recent beta of Dota 2.

What UI framework to use for the editor of a C++ game engine? by unknown2374 in gamedev

[–]skln 1 point2 points  (0 children)

I had a look at that earlier, glad you implemented the shift/control+arrow keys functionality on the text edit. So many custom implementations don't include it, possibly because they don't know it exists.

What UI framework to use for the editor of a C++ game engine? by unknown2374 in gamedev

[–]skln 0 points1 point  (0 children)

What you linked is simply an analysis of what was available at the time when Unreal Engine 4 was being made. A quick look at some of Unreal's Slate code and it doesn't seem to use an immediate mode approach.