68813b No.16782076
I'm at the point where you have the mutant sharks and jumping across the pistons, and I've come to the conclusion that Half-Life isn't that good of a shooter. In fact, when you get right down to it, the actual first-person shooter aspect of the game is perhaps one of the weakest elements of Half-Life. And, where the game really has it's strength is leading the player through the maze of the complex and trying to solve a variety of puzzles mainly having to deal with the game's physics system and actually avoiding combat. In fact, jumping off of that, I'm almost wondering if the actual combat was tacked on near the end of development. The combat is serviceable, but there's nothing fun about it. And, to have the devs wasting time on features such as "smell AI" seems to be pretty useless work for a game designed to be shooter.
Then there's also the fact that the actual navigation in the game very much reminded me of what I've played of the Metroid Prime series and Mirror's Edge, where both are FPS games, but the actually design of the games isn't geared towards really working as a shooter. You can play them as one, but then you're mostly "playing it wrong". And, that's what Half-Life feels like, where the game should be treated as a first-person puzzle and adventure game rather than a shooter.
____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
68813b No.16782077
>>16782076
And, given how all accounts I've heard of Half-Life 2 are that it's mostly a tech demo for Source 2, how likely is it that Portal is the game that Valve had been wanting to make all along but couldn't because "who would buy a first-person puzzle game with little action?" And, the reason Valve never actually made Half-Life 3 is because they never even wanted to make a shooter in the first place.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
fac73b No.16782084
A good majority of it can be played fairly stealthy. I remember coming off Thief and trying to play a lot of games in the same sneak fashion. I think the combat route is just fine though. The "MP5" is though though for the most part and is just a grenade delivery device to me.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
fac73b No.16782086
>is though though
is trash though
>>16782077
Portal came from Narbacular Drop which came out a few years after HL2, but there could be something to them really wanting to make a first person puzzler and trying to find a profitable way of making back on what they invested in tech.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
2b80be No.16782088
>>16782076
This may sound silly to you now, but back during release the AI for the military you fight against was considered pretty good. The FPS parts were definitely a big part of the game.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
859c89 No.16782135
>>16782088
I remember; someone set up a custom arena that could show off the AI. They made strong use of covering fire, formed attack teams, flanked, etc.
The environments in HL2 weren't remotely capable of showing off how good the AI was
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
68813b No.16782227
>>16782088
>This may sound silly to you now, but back during release the AI for the military you fight against was considered pretty good.
I wouldn't doubt it, but that brings up the question of why didn't they just make a straight-up shooter then? With the way Half-Life is designed, the enemies are more of an obstacle and annoyance rather than a threat.
>>16782135
How did the AI for HL2 compare to the AI in F.E.A.R.?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
2e7526 No.16782267
Invidious embed. Click thumbnail to play.
>>16782227
HL2's ai was a step down from HL1 Ai, let alone being anywhere near F.E.A.R's league . Although, there has been various attempts to improve HL2 a.i. throughout the years.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
b461ca No.16782286
>>16782227
>How did the AI for HL2 compare to the AI in F.E.A.R.?
The combines in HL2 might as well be stationary turrets.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
68813b No.16782292
>>16782267
Jesus Christ, and people go after Halo for "baby's first shooter".
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
db3e4c No.16782300
>>16782292
Halo was supposed to be a fucking 3rd person shooter as well. The enemy designs just aren't very threatening by design, I just find it insulting to play even compared to awful shit like Half-Life 2.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
f6d93c No.16782312
>>16782076
I think you have a very warped idea of how game development works. I can think of exactly two puzzles in HL1 that took more than an hour or two to implement (the airstrike machine and the conveyor belt maze), whereas the combat mechanics were being continuously refined for most of the game's development cycle. The same goes for
>muh six million man-hours wasted on smell AI
, that's the sort of thing that a bored programmer can write up in a single afternoon.
Also
<The combat is serviceable, but there's nothing fun about it.
you can fuck right off with that shit taste
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
f6d93c No.16782326
>>16782267
There's a really good comment on that video that explains exactly what went wrong.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
7453ce No.16782478
>>16782326
very insightful post,do you know any other material about how ai works in certain games?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
cf7d5c No.16782504
>exploration
You are literally shoved down a tube and have 0 backtracking. I agree though the combat is shit.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
cf7d5c No.16782511
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
d9d84e No.16782514
>>16782478
AI isn't really black magic, it's just if statements.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
cf7d5c No.16782519
>>16782514
The human brain is just if statements.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
7453ce No.16782535
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
97c0dd No.16782670
>>16782519
>>16782514
>using if
>not switch
watta bunch o' slack jawed figgits
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
21a604 No.16782717
Invidious embed. Click thumbnail to play.
>>16782267
>>16782135
>>16782227
This was HL2's ""AI"" on release.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
000000 No.16782739
>>16782717
>on release
that one CP is still as stupid today as he was day one
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
0ddb9e No.16782757
>>16782670
>that pic
While I can see that this way of coding is very inefficient, what would be the better way to write this code? I don't know much about coding, but I'm curious.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
97c0dd No.16782760
>>16782757
Instead of 10 million if statements that each must be checked, a switch is a faster way to do that where you point at what variable you're checking and make your list of items
sort of like
switch(this.ThingToCheck)
[ThingIsCool]
//Place statements here
[ThingIsCool2]
//Place stuff here
….
[Etcetera]
//Place stuff here
No need to force your computer to check literally twenty things. Your program will just check it once and go to the correct option.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
e806b2 No.16782768
>>16782076
The defining quality of Half-Life is that the enviroment is as much of a threat, as the enemies. You are tasked with crossing a dangerous world, not just gunning down things.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
e806b2 No.16782770
>>16782077
>given how all accounts I've heard of Half-Life 2 are that it's mostly a tech demo for Source 2
Further proof millennials play more social media than actual games.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
5834c4 No.16782793
>>16782077
>And, given how all accounts I've heard of Half-Life 2 are that it's mostly a tech demo for Source 2
>Valve were demoing Source 2 in 2004
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
157859 No.16782840
>>16782760
>Instead of 10 million if statements that each must be checked
That's only true if you use a bunch of if statements like so:
if (A) {
X;
}
if (B) {
Y;
}
if (C) {
Z;
}
That way every condition for every if statement is evaluated.
Cuckdev is using else if statements which in C# are just else with an if block nested inside. If the condition of an if-else statement is true, the else block is ignored and so is everything nested inside.
In other words, this:
if (var == A) {
X;
} else if (var == B) {
Y;
} else if (var == C) {
Z;
}
And this:
switch (var) {
case A:
X;
break;
case B:
Y;
break;
case C:
Z;
break;
}
Should compile to the same CIL, assuming var isn't a string, and so the execution speed will be the same. CIL can be easily checked using a decompiler like ILSpy/dnSpy.
That Cuckdev code pic is bumfuck retarded for two reasons. Firstly, he has a bunch of repeating blocks with identical content. Instead of having FOUR Insanity blocks, he could use just one with a better defined condition. Same for two Weapon blocks.
Secondly, he's using string comparisons as conditions. String comparisons are by their nature slow so they should only be used when there's absolutely no other way. Yet he's using strings when he could've just used an enum.
WHAT THE FUCK
And people wonder why his shitty never ever runs worse than triple ayys.
Switch statements can actually work around his brain damage because if var is a string and so case labels are string constants, the compiler will hash the labels, build a lookup table out of the results, and so when var is evaluated, it will also get hashed first and its hash will get compared to label hashes in LUT. That's faster than direct string comparison. But Cuckdev would need to actually learn how to program to know that.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
ceca62 No.16782857
I feel like Half Life would have been a much better game if they stuck with the Survival Horror feel at the beginning where you are constantly low on ammo, it really gave me first person Resident Evil vibes which they unfortunately abandoned pretty early on. Emphasising and expanding on Stealth would have also improved it, having the monsters and military be a real threat with shootouts as a last resort.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
f3b868 No.16782863
>>16782840
Which is faster, enum or integer comparisons?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
db3e4c No.16782866
>>16782770
Retards can't be bothered to play video games, they have to watch other people play them so they can be "In the know" with their favorite jewtube/twitch eceleb personalities.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
f9a966 No.16782867
Of course Half-Life is a puzzle and exploration game. It was published by Sierra. At it's core, it's basically King's Quest with guns.
I legitimately heard arguments along these lines back on the old Sierra forums when people were complaining about their focus shifting away from Adventure games to more action-oriented fare and Mask of Eternity was trying to re-invent itself as Tomb Raider
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
0b43bb No.16782887
>>16782863
An enum is just a bunch of, by default, int constants, so the compiler breaks it down into those. Ergo, you end up with int comparisons in both cases, and so the performance is the same. Or should be, if the compiler doesn't fuck up. There used to be a time when ternary operator statements like
var = (condition) ? A : B;
were measurably slower in C# than
if (condition) {
var = A;
} else {
var = B;
}
because ternaries were being broken down a bit differently, even though the code snippets above should amount to the same thing.
If you're worried about performance, look at IL.
Or do some benchmarking using the Stopwatch class.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
68813b No.16782903
>>16782866
You do realize that playing through a game actually takes time, right? I don't want to be one of those idiots who only plays the first few hours, and then prances about declaring how great/terrible a game is when they couldn't even be asked to complete it.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109921 No.16782925
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
51cf8a No.16782968
>>16782840
>If the condition of an if-else statement is true, the else block is ignored and so is everything nested inside.
Yes but it has to do every check until it gets to the end so if the comparison is not true it could run through multiple checks. My understanding is that in a switch statement it can just jump to the proper location.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
d9d84e No.16782981
>>16782968
How would you check if an enemy has an hp less than 50 and 5m less away from you under a switch statement?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
db3e4c No.16782982
>>16782903
If a game isn't fun within the first few hours it's failed as an entertainment product, anyone can feel free to trash garbage.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
9b27d1 No.16782989
>>16782982
You mean like how the first 40 minutes of Half-Life is absolutely boring because it's all nothing but setup?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
0a6e5e No.16782992
>>16782925
Are you an autistic?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
d6ea53 No.16782993
>>16782076
Why didn't you watch any gameplay or read literally anything about the game before playing it?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
f3b868 No.16782995
>>16782989
The shitty intro buildup isn't exclusive to half-life though. It should be a major point against a game, but a game could have a shitty intro buildup and still be good.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
765bc3 No.16782996
>>16782968
>Yes but it has to do every check until it gets to the end
In an if - else if - else chain, it sequentially rummages through conditions until it finds one that evaluates to true, executes the code in the corresponding block, and ignores the rest of the chain.
>in a switch statement it can just jump to the proper location.
No, it too just compares var to cases sequentially until it finds a match, so if the very last case is the one that's actually true, it will have to go through comparing all the cases. It can't immediately jump to the proper location because it doesn't know beforehand where that location is; otherwise, there would be no need for any evaluations at all. That's why it's recommended to put the cases that are the likeliest to be true to the top of the list. Same for if blocks in a chain.
A switch statement at its core is just a more elegant way to write a long if - else if - else chain. It might have some cool things like that hash trick, but those are language/implementation dependent. Every program you write is eventually compiled into machine code, which is just a stream of instructions for the CPU so it can actually execute it. The CPU has a limited instruction set, and all the logic boils down to "equal to", "greater than", "less or equal than" and other simple shit like that. C# doesn't compile directly into machine code, but CIL, the intermediate language it compiles to, is low-level enough to showcase what I'm on about. That's why I mentioned compiler output and looking at it with relevant tools. You'll see that a properly written if - else if - else chain and a switch look similar, if not outright the same: basic logic and lots of jumps. The problem with Cuckdev is that he can't write properly.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
9b27d1 No.16782997
>>16782993
Wouldn't watching anything more than just the trailer to a game taint one's perception as to the actual quality and experience of a game?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
9b27d1 No.16783000
>>16782995
That's the thing, how would you know how good a game is if you don't stick to the end? I can understand things getting to a point where you just "Nope" out of it, but that would require the game to be of a legendary level of terrible (And, there's only a handful of games that reach that point). Everything else would just require a "palette cleanser" that you'd be playing alongside it (Or, take a break altogether, play something else, and return later on).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
d9d84e No.16783001
>>16782996
switch statements are the equivalent of ==, they don't check <=, <,>, or >=.
You could associate it with integers beforehand, but why not use an if statement to begin with?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
765bc3 No.16783007
>>16783001
>switch statements are the equivalent of ==, they don't check <=, <,>, or >=
I didn't imply otherwise. I used ==, >, and <= as examples of hardware logic simplicity. What I stated was that a good chain and a switch will look similar after compilation.
>why not use an if statement to begin with?
Not disputing that. Anon above just suggested that switches are superior to chains, which isn't true.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
765bc3 No.16783012
>>16783001
>>16783007
Unless you mean what I said about switches being more elegant chains. Yeah, I should've worded that more clearly that I still had Cuckdev's code in mind when I wrote that.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
cf7d5c No.16783110
>>16782757
All those lines are the same exact thing give or take one thing. He could've just had an enum/bit flag which kept track of what was witnessed, and then substituted in the highest priority one. He could've done that all in 8 lines of code max and it'd be way easier to read.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.