HL's engine GoldDrc was originally a mod for Quake. Team Fortress Classic was based on a quake mod. Counterstrike was a HL mod they bought out. Portal was a student game they bought. Dota 2 was based on a WC3 map. Left 4 Dead was a mod made by Turtle Rock while working on CS:CZ (so, yet again a mod, although a mod based on their own engine this time and build in house). Underlords was based on a Dota 2 mod.
Deadlock is original, but based on characters and lore from the game they made from the WC3 map.
Deadlock and L4D are arguably the only true original creations.
Valve knows their bread is buttered by outside creation using tools and platforms they can provide and then fold in if it catches their attention.
> HL's engine GoldDrc was originally a mod for Quake.
GoldSrc is based on Quake 1 code with valves own modifications and a little Quake 2 added in, if I remember correctly. I wouldn’t call that a “mod”, they bought a commercial license for the engine and made a game with it.
You’re trying to use this to say that valve are unoriginal? I really don’t think that’s a criticism you can lob at the half life series.
GoldSrc is a continuation of Q1 engine but it's development is of separate lineage even from Q2 and it was a fully licensed agreement. Setting and ideas are all original for HL.
TFC is a re-imaging of TF from Q1 but it's codebase is separate from Q1 TF.
TF2 is a sequel developed in-house.
HL2 is a series of sequels developed in-house.
EDIT: Portal has the same core developers and the same game mechanics, but both the setting and script are Valve original.
Sure, Steam pivoted their path of a game developer studio to a game publishing house but that's doesn't mean they never did anything themselves.
I feel like every large public corporation inevitably turns into a rent seeking parasite. How do we build a system that has more calves and fewer blizzards? How do we incentivize that?
You gotta give capitalist first principles and ideals and policies the boot. When you can use money to buy anything and earn money without practical limits, gaining access to more and more capital at any and all costs, even at the cost of everybody else's life and freedom and rights, is the natural result.
Valve is very much a capitalist company though. Gabe Newell is a billionaire, he owns six yachts, and Valve practically invented the concept of the loot box. So if the question is "how do we get more Valves and fewer Blizzards," it doesn't seem clear to me how giving capitalism the boot helps.
It can be done if the culture is deeply deeply rooted in long tenured employees. I think of Apple, while an imperfect example, I feel like Steve jobs would be happy with where they are right now culturally. Obviously, he doesn’t deserve all the credit having had a large team of people but he largely drove a strong intentional culture as a leader and he carefully selected and fostered other leaders who would carry it forward.
Honestly I'm not sure, but I suspect it's because for Gabe, Valve is his iterated prisoners dilemma
He's got to take care of it or no more yachts
Though part of it just might be helpful knows and respects hit market, at least well enough to understand them, I vaguely recall he left Microsoft to start a game company after seeing how much people fell head over heels with games and thinking there was value there
And don't forget open source games. Before going for the indies, I'd suggest downloading and winning all the available major open source roguelikes. And after that, start creating mods/patches for those. Once you're done with that - and not too old of age - maybe think about spending some money on games again.
I am ok with billionaires that provide some multiple of billions of dollars worth of value to society. I use steam all the time, it's pretty consumer friendly, and it gives me a lot of relaxation. I'm good with him having a lot of money.
DOTA is an interesting reference here because it also was originally a modification of a Blizzard game. Maybe Valve should hire the TurtleWoW people to make a new MMO for them (maybe called TurtleWhoa"?)
The issue is 95% of users dont use the features that adobe is so much better at. I've moved from PS to Pixelmator and there are even more moving from PS to Canva. Doesnt matter to most users that PS generative fill is better.
I did exactly the same, for creating graphics / posters. Love Pixelmator... is PS better at some stuff? For sure, but it's not stuff I need. Thats adobes issue.
I'm more a fan of just a sql template string handler... in C#/.Net I rely on Dapper... for node, I like being able to do things like...
const results = await query`
SELECT...
FROM...
WHERE x = ${varname}
`;
Note: This is not sql injection, the query is a string template handler that creates a parameterized query and returns the results asynchronously. There's adapters for most DBs, or it's easy enough to write one in a couple dozen lines of code or less.
ORMs not only help with the result of the query but but also when writing queries. When I wrote SQL I was constantly checking table names, columns, and enums. With a good ORM like EF Core not only you get autocomplete, type checking, etc but dealing with relationships is much less tedious than with SQL. You can read or insert deeply nested entities very easily.
Obviously ORMs and query builders won't solve 100% of your queries but they will solve probably +90% with much better DX.
For years I used to be in the SQL-only camp but my productivity has increased substantially since I tried EF for C# and Drizzle for TS.
VS Code plugs into my DB just fine for writing SQL queries...
With an ORM, you can also over-query deeply nested related entities very easy... worse, you can then shove a 100mb+ json payload to the web client to use a fraction of.
No, but it does put you closer to the actual database and makes you think about what you're actually writing. You also aren't adding unnecessary latency and overhead to every query.
Also the overhead of good ORMs is pretty minimal and won't make a difference in the vast majority of cases. If you find a bottleneck you can always use SQL.
Bit of a plug but I just started working on a drizzle-esque ORM[1] for Python a few days ago and it seems somewhat appropriate for this thread. Curious whether anyone thinks this is a worthwhile effort and/or a good starting point syntax-wise.
reply