What do you think about the last Jim Sterling video?

Beer is not my preferred relaxant however that does hit home pretty squarely. After 10 hours on the farm at my actual job I am lucky to get anything accomplished when I make it home.

1 Like

How in the world does “designing systems users want to interact with” mean soulless titles? I have no idea what you’re even saying, it’s not related in any way at all. Please define the logic behind “designing a compelling system = soulless.”

And “looks great,” no one said anything about a game looking nice. This isn’t about art, though art is nice. It’s about design. This is about a game that plays “great” because the design is compelling, though the backend, aka the programming no one playing the game cares about, is not top-tier stuff.

You’re proving my point: this has nothing to do with knowing how to program, and everything to do with design.

It’s possible that when you and others say “programmer,” you’re not talking about someone writing code. Because you’re not describing someone who writes code (with statements like playability and “plays great.”). You’re describing…a designer.

2 Likes

With great designs comes great responsibility, to implement said design…

3 Likes

You need to make a quote of the day desk calendar with that phrase on a monday.

2 Likes

I’m sorry, but it is you that fails to understand that you just can’t translate some things from design. I already told you that you can design all you like. You can do it on paper, you can design every single aspect, but not many programmers can deliver. This isn’t an area of “it works or it doesn’t”, it’s an area where you need to do a ton of research that isn’t on google, and isn’t about design at all but implementing that design.

Seriously, a vast of bulk of programmers settle for the best they can get away with. You can actually fail to reach behaviours you design for, while other programmers can reach that.

Do you understand?

In easier terms: can you program a path tracer on GPU? no? Thought not. It’s the same for gameplay. Most people can’t do things at a sufficiently high quality in code.

The reason that bad game you’re playing, plays like shit, is because the developer is bad. He or she doesn’t have the ability or the decades of experience to pull it off. Even if it’s just inertia on a car. OK you’ll tear apart marco monster. You’ll look at various assets. You’ll scour google from top to bottom.

And fail to replicate the exact feel of mariokart 8.

I find utterly astonishing I have to explain it.

3 Likes

In VR the design on paper is easy “Laser sight should work like real life laser sight”, next couple of weeks spent at fiddling with colliders, Z index, plane angels etc, etc to get a perfect laser dot, that actually works and not halting the render thread to a complete halt with more than one laser sight in the scene

First off, all programmers settle for the best they can get away with. There have been bugs in massively used API that have gone unnoticed for decades.

Almost every aspect of game programming is some degree of hack. Starting with the fact that you’re trying to fake 3d representation on a 2d plane (screen) using 2d geometry (geometry with no actual volume) mapped to 3 dimensions. Every aspect of game programming is settling for what you can get away with.

If you’re talking about stuff like “the character feels unresponsive after I attack” then often yes, that’s programming. When the game plays like shit because the difficulty curve has too many spikes that is not a programming problem.

When the game’s UI is too confusing and has too many buttons, labels, and knobs and numbers… is that a programming problem?

Maybe you are hyper focused on the problem set where design and code have the most overlap, but that does not mean that all good coders must also be good designers or vice versa. It also doesn’t mean that all design problems are code problems.

This discussion has gone to some weird ass places.

3 Likes

Sounds more like an idea. Design would imply you mapped out how things work in your environment and put thought toward the process involved. Like a real life one is descriptive but you dont start designing it untill you start talking about how it actually works. Example, “I will have to cast a ray from here to there and draw a sprite if…” Then you get to implementation or using a programming environment to write the code that does what you just designed. Thats my take on it anyway but whats in a name the act is the same.

Just curious - how would you do this properly? The solution can’t be simple because a collider you’d use on animated character can’t have enough detail - you need to do this by using camera depth buffer, by analyzing the mesh itself or through use of a specialized shader that interpolates the contact point to add a decal.

How’d you end up doing it?

Laser sight should work like real life laser sight is a gameplay oriented design goal.

That’s technical design. The design done before (and quite often during) implementation.

There used to be many discussions here regarding how ideas were worthless on their own. People were so wrapped up in the implementation aspect they saw it very simply as ideas are worthless. Of course, they meant without implementation but that doesn’t make the ideas worthless.

The ideas are the design. Implementation cannot happen without it. And implementing a bad design (bad ideas) flawlessly is no better and sometimes not even as good as implementing a great design (great ideas) poorly.

But overall I definitely agree with @hippocoder . When you play a game you can feel the programming in it or at least the programming skill that was brought to the project. You feel it in the responsiveness of the controls, the general feeling of fun from simply moving around and so forth. And you can also feel very poor programming.

2 Likes

Fair point about “implementing design.” That definitely requires “translational” skill. But I would still argue that what makes a game unique and actually worth playing is the design which the programmer then has to implement, not the fact that a programmer is good at implementing design.

You can deliberately design things that are straightforward to program, and yet are very compelling experiences. But even if you’re great at implementing complex design in code, that doesn’t mean you actually have good design to implement. It all is predicated upon the design - programming comes after. That was my main point.

1 Like

I w

Than you just go copy it! :wink: we first tried with query the actual mesh to be rendered, it worked on our target platform which is PC but with a way to high impact to use practical. So we instead use standard raycasts then, check the camera plane to get an optimal plane angel for the dot. Lastly a shader with some Z buffer hacks to ensure it renders the dot even when the skinned mesh is inside the crude primitive collider setup (basicly a bunch of capsule colliders on the bones).

1 Like

You have a screenshot of the effect? Can you see the beam as well or only the dot?

To see the beam that would require smoke, but we will add that later so that when you throw a smoke grenade or even environmental smoke will make the beam visible. I dont have a recent clip of the dot effect on skinned mesh, I know my brother did some changes after this clip was made (he is the shader guru of us two) but its just a little better on skinned meshes since that vid was taken

You can watch from this timecode, pretty cool when my brother adds the attachments and its netwrorked to my machine, watch my laser sight on him later in the clip

https://www.youtube.com/watch?v=yS88FuOp_EE

sorry for the OT :stuck_out_tongue:
The laser is offcourse not that advanced, it was just a pretty lame example on a few lines of design requirement taking days or weeks to implement.

1 Like

Maybe I don’t play enough action games.

Most recent programming problems I’ve noticed were in XCOM 2’s MVC implementation mostly when firing off special effects and animations. The fact is that the game as a whole is so slick in terms of design, that the straight up bugs, glitches and other problems are fairly minor annoyances that you roll through as you play.

I can’t imagine anyone calling XCOM 2 a triumph of good code (it’s still immensely buggy) but god damn is it a good game, and it feels amazing to play.

This may simply be a difference in genre, since TB games don’t have the same feedback response levels as action games.

This is how to know when someone is really doing work. These kinds of little details that turn into major pain in the butt are totally real. :smile:

As a side note - to use hippo’s example - perhaps other developers could find a solution faster or know of solutions that would work immediately. That does not make them a better developer - it makes them more of an expert on domain.

I think many programmers underestimate how much domain expertise matters, and instead roll it into a “good programmer” umbrella.

We all get better at what we do with practice, study and experience. We all have strengths and weaknesses, and those strengths and weaknesses can change over time. This is just life and reality.

3 Likes

Well ok, I like the name but the act was the same. We seem to completely agree although I think we have different perspectives. I am not a game designer, dev, implementor, or anything more than learning as I go yet. I dont have the experience and perspective of someone who has actually worked doing this. I made a few lame games in the early 90s using first basic then turbo pascal but it was all school projects. I never went anywhere with it. At 16 my life was not at a point I could. I had quit school and was working full time to buy groceries, living on my own. Long story. Even with just that most basic level of programming knowledge I can tell when a game was programmed well. When I first started at this venture a few months ago I told myself that the controls physics motion and feel of moving the player was first and foremost. I am not great with blender so I know I will be using dreaded art assets from the asset store and thats ok. I think I can make a game with minimal art thats still alot of fun to play. Currently I have a flat plane with a few basic models of ramps and cube walls to stack around and I’ve been at it for several months. I have been studying c# nonstop and focusing on the parts that get my game moving like I want. I have been working with the baked lighting, mixed lighting, global illumination getting things running smooth with a great deal more geometry on screen than I will end up with but I am only doing that so I can keep framerate up not because I’m looking for stellar graphics. I have abandoned the standard assets scripting in favor of my own brand of player movement. I have always felt that physics and controls were on top of the list for good game. Not necessarily realistic physics but responsive not glitchy and fun. From a players perspective sloppy programming means laggy controls or twitchy inconsistent behaviors. As far as I’m concerned any of that is unacceptable.

I don’t know that things would be any different elsewhere. I’m a complete novice at coding, so maybe that’s why I haven’t noticed anything, but I’ve played things DMC4 and Metal Gear Rising, action games heralded as the pinnacle (inb4 DMC3 & Bayonetta fans) of their genre, and there’s nothing about their gameplay that strikes me as a result of “good” or “bad” coding. Animation cancelling and stringing together combos aren’t the product of a mean for loop, they’re the product of a guy who said, “what this gameplay needs is enemy attacks with tells and a parry system.”

It’s not a genre thing I don’t think. I think this is just you gave an example of the other side of the coin. A game where the ideas (design) were so good that it turned out great even with poor programming.

You know what I mean I am sure. There are many different aspects to a game. Any of them can be a strength or a weakness. A lot of focus on these forums has typically been on the visuals for example. Because they are the first thing seen and because some people would play horribly designed & horribly programmed games if they had awesome graphics.

For others it is a game’s music. They will return to certain games just for the music and find themselves humming it when they aren’t playing. It is this kind of thing. I believe you don’t need to excel on every aspect but if you excel on one of them you have a much better chance of making a game that stands out (in a good way). Excel on 2 and you’re doing really good… possibly as good as the top Indies. Excel on 3 or more and you are narrowing the gap toward AAA.

From what you describe your XCOM 2 has a great design and probably has solid audio and visuals and that overcomes the poor programming.

2 Likes

I have seen games that understood responsive controls though. Maybe I will show my age here but:

Street Fighter vs Mortal Combat

No contest: the controls in SF were Nintendo quality, Mortal Combat felt cludgy and unresponsive.

When I play Gears of War, sliding into cover felt amazing. No other cover based shooter felt anywhere near as good for years and years.

Was that programming or design? I honestly donno how those responsibilities break down in AAA studios, but I remember hearing that Gears had like 14 layers of particle effects that went into the cover slide.

tell me about it, and we are way too much focused on the details. Like we have a complete IK setup for the trigger finger coming in the next update :stuck_out_tongue: The other VR games dont even animate trigger most often… :stuck_out_tongue:

1 Like