This is wild... PHP server with electron client.. I'm genuinely impressed. It's been many years since I worked with PHP. Back in the days before proper namespaces etc. This just blows my mind. What an incredible effort, I will definitely be helping with this project in my free time. We need more crazy projects like this!
Yeah, same,.. Real time game server written in PHP is really interessting. I also know PHP from the old days and now only from certain CMS systems, but not realtime projects. Im amazed! Nice! :)))
> There was also a third party extension that added threads to PHP 15 years ago, although it was buggy.
Reminds me of ReactPHP (no, not that React) that allowed you to do non-blocking I/O in PHP back in like 2012-2013 sometime. Maybe that's the library you're referring to actually?
we have a linter that bitches anytime anyone uses php's empty. In fact, php has tons of these weird behaviours mostly masaradng as trying to be helpful
What is the reason behind wrapping code inside an IIFE (Immediately Invoked Function Expression)?
JavaScript modules are scoped, so nothing can be accessed outside unless explicitly exported.
FYI, you don't even need an IIFE. ES modules are block-scoped by default.
// Instead of,
let foo
(function() {
const bar = 1
foo = bar
})()
// `bar` is out of scope here
// You can just,
let foo
{
const bar = 1
foo = bar
}
// `bar` is out of scope here too
The GitHub languages thing shows it's 82% PHP, 15% JS and some sprinkles with HTML/CSS. But what is the actual client made with? Is it in a different repository? Or is it all implemented in PHP? Impressive if so.
> This is low violence game
I love this description for a game that is all about shooting others in face, planting/defusing bombs and trying to survive while being shot at.
As a side-note, has the OP ever seen a football field? :) Seems to have a bunch of crosses and other out-of-place lines, but I guess the football isn't the focus so probably matters the least :)
I am not even opposed to violent videogames morally, I just wish there were more creativity in big budget gaming. One of the most interactive mediums available to society, and billions of dollars each year goes into another set of Shooty McMann goes Shooting, Guns Edition.
Sorry, small tangent. This project is still super impressive and I have played thousands of hours of CS so it's cool to see.
> I just wish there were more creativity in big budget gaming. One of the most interactive mediums available to society, and billions of dollars each year goes into another set of Shooty McMann goes Shooting, Guns Edition.
This is overly dismissive, and the sort of thing I'd expect on Reddit.
If you look at the most critically praised and fan praised AAA game of the last.. decade? It's Baldur's Gate 3. In the AAA-budget-quality space there's enough games out there released in the last few years without guns to keep you busy - Disco Elysium, Stardew Valley, Elden Ring, Minecraft, Persona, Witcher, Total War, Alan Wake(*) Stellaris are all in my "recently played" and there's no guns. Generally RPG, Strategy, racing, platformer style games avoid guns for the most part.
You've got AAA games that have guns in them that aren't focused on shooting - Xcom, Fallout come to mind where the guns are just a visual representation of a dice roll.
I know you mentioned "big budget gaming", but there's oodles of small budget games to play too. Balatro, Pacific Drive, Against the Storm, Dredge, Inscryption are all games I've played this year with no guns in them.
What does AAA-budget-quality mean? Minecraft was made by one person and is still a very simple game, utterly unlike the ‘genuinely AAA’ shooters parent was talking about. Same with Stardew Valley and probably several of the others you’re talking about.
Fallout might not be ‘focused on shooting’, but it still has the look of a typical FPS game. It’s as if game developers have mostly converged on a standard game design. There are exceptions, but there’s still so much untapped room to be more creative.
I think it is true that most money in the games industry goes into making games that heavily feature guns. Films are the same; even the seemingly non-violent premises apparently have to involve constant peril and frequent (gun) violence. Maybe it’s a particularly American thing.
Yup. I agree with the premise of the parent post, but they A) mistook the most critically acclaimed game, it being “The Last of Us” and B) named a whole slew of “indie” titles.
> they A) mistook the most critically acclaimed game, it being “The Last of Us”
I think there's some subjectivity in most critically acclaimed game, and decade. TLOU Part 2 [0] is "slightly" lower than BG3 [1] (to the point you're well into subjectivity), and the remaster [2] technically falls out of the decade criteria by 6 months. I think at the point you're arguing about trying to objectively clarify the best subjective option.
> named a whole slew of “indie” titles.
I named a whole slew of indie titles (in a separate category to things like BG3, Elden Ring, Withcher, Total War, but nonetheless) because the boundaries are fuzzy. Do you mean indie budget (Stardew valley definitely falls into that, but it's an incredibly polished experience, to the level of many AAA games), do you mean "a small team" like Dave the Diver [3], do you mean no publisher - Star Citizen is an indie game by that metric, with it's "indie" budget of $700 million. Or CDPR - they _are_ a publisher, funding their own games (that meet the no-guns criteria too IMO - Cyberpunk 2077 has guns but playing it like a third person shooter isn't really how the game is set up).
I deliberately used the "AAA-budget-quality" term to try and differentiate that; it's subjective (like all art and art reviews are), but for the most part, people (in my opinion) are talking about differentiating "production quality" when they talk about AAA and non-AAA games. First and second party studio games like Zelda, Mario, Crash Bandicoot, had small development teams and budgets that make many definitely-PC-indie games (e.g. Hades) look like blockbusters in comparison.
It was a shortcut around the points you made. Minecraft _was_ made by one person, and is now a team of who knows how many people for the best part of a decade. Stardew valley I think is a great example where it's an incredibly polished experience to the point that the polish level is up there with AAA games.
> and probably several of the others you’re talking about.
And you're ignoring the game of the _decade_ - a $100m follow up to one of the most loved games of all time.
> Fallout might not be ‘focused on shooting’, but it still has the look of a typical FPS game.
You mean it has a gun in it, and it's in first person? If that's your gauge for a shooter game then I don't think you're informed enough to have a discussion on this topic. A game or movie with nudity in it isn't pornographic any more than a game with a gun in it is a shooter.
> It’s as if game developers have mostly converged on a standard game design.
You're just spouting nonsense now. Here [0] is a list of the top games of this year. Only one of the top 10 is a shooter (And it's a critically acclaimed final expansion to a 7 year old game that has shown how to do a fun shooter). If you go back to 2023, you'll see the same.
> I think it is true that most money in the games industry goes into making games that heavily feature guns
"There are lies, damn lies, and statistics". Of course mnost money goes into games that heavily feature guns; because if you look at absolute spend on development and marketing costs, pretty much everything is going to be dwarfed by Call of Duty. Meanwhile you have Baldur's Gate 3 which again, is probably the best received game of the decade, Cyberpunk (one of the most expensive games made), Star Citizen (lol), Genshin Impact - all of which are _not_ based on guns (but may contain them to some extent) with mind numbing amounts of money being spent on development.
> You mean it has a gun in it, and it's in first person? If that's your gauge for a shooter game then I don't think you're informed enough to have a discussion on this topic. A game or movie with nudity in it isn't pornographic any more than a game with a gun in it is a shooter.
I am a Fallout diehard, but you and I both know combat was the worst part of those games. Imagibe how a Fallout calibre game without combat could be fun and you might start to see what I mean. All that amazing lore, story and worldbuilding and then the only activity we come up with is combat. Snooze fest.
> You mean it has a gun in it, and it's in first person?
That's not what I meant, but even if it was I think my point stands. There are too many 'first person games with guns' in general. It's hard to imagine the possibilities precisely because the market is so saturated with monotony.
> spouting nonsense
By the way, your response seems unnecessarily aggressive. Sorry if you interpreted mine as such; that wasn't the intention.
To address your list of games: it's worth observing that they all fit very neatly into categories (shooter, fighter, platformer, etc.), so I do think this shows a lack of creativity. Even within each category, there are similarities — every game seems to build on the existing idioms that have built up over the last thirty years or so, and that's without mentioning all the firearms paraphernalia and language that is standard in most big-budget games.
But the same is true of music and film and probably everything else, so it's probably just that my taste is unusual. I'm aware of that.
I actually think Minecraft was a good example of fresh game design — it didn't fit into any of those categories. Hell, it didn't even have much of an objective and it certainly didn't feel like a reskinned version of a thousand other games.
It was lighthearted, not dismissive, perhaps the same cloth. I shouldn't have specified guns I guess, combat is what I find boring, and you'll note the majority of the list of yours is violent games.
Again, not opposed just bored. I seek out non-violent games not for the lack of violence but because they have interesting mechanics. Violence/combat is the majority of top selling games, top played games. That has been true for decades.
Pacific Drive was a gem and the level of creativity I hope more studios to aim for. Another great example was Jusant. There is indeed no shortage of great indie games with what I am after. Sim games, farming/life games, factory/automation games, puzzle games are all great examples of non-combat genres with decent budgets too. But you do find there's usually just one or two big hitters, as it's a smaller market.
If you're looking for something different in AAA shooters, try Splatoon. It's basically the antithesis to classic shooter tropes and it has a whole world of art designed around it (with fictional bands, promotional art for in-game events, etc.)
this is really a short-sighted and uninformed take on what games have been successful and praised by fans over the years.
four of the most successful (perhaps iconic) games in history do not exactly meet your description in any meaningful way: baldurs gate franchise, warcraft franchise, different mmo franchises, diablo franchise.
but let's take your description and apply them to iconic fps over the years:
doom, ok shooty mc shooty goes shootin -- doomguy agrees. but theres a lot more to doom than just shooting.
cs source: nah sorry tactical strategy is not shooty mc shooty goes shootin.
quake world up to quake live/quake champions: nah sorry tactical strategy and fps-chess (duel) is not shooty mc shooty goes shootin.
halo franchise: epic sci-fi campaign story which was differentiating at the time AND tactical strategy -- while it sorta fits your description, it also sorta bucks it in the face because it was praised for its campaign as well as its online play.
overwatch: role-based tactical strategy.
battle royal genre: kinda shooty mc shootin goes shooting, but on hard mode with variance and.. tactical strategy requirement.
i mean the list goes on. reducing the surface area of FPS games historically to just some reddit meme bc it gets a lot of updoots makes me think you do not have a ton of experience playing shooters historically or otherwise (happy to be proven wrong here).
My argument is basically, if your game is so good and interesting, would it stand alone without combat? Could a different mechanic have stood in its place for a more interesting, novel game?
I have been playing FPS, guns or no guns, for 25 years. I also vehemently seek nuanced, interesting and intelligent game mechanics, and there is certainly many amazing games that fit the bill.
I am well informed, this is just my desire and not a fact or what I think should happen.
At any rate, the comments in defense so far have told me some of the most popular games are not shooters, and then that there are shooters with depth. No dispute there. I probably should have not been so pithy and stated it's combat in general, not shooters.
I also make games in my spare time, so I am at least practising what I preach. I think combat is a crutch for the gaming industry, and I would love to see more mechanics be explored with the budget a typical combat focused game gets. Gimme a AAA first person puzzle explorer ala Obduction, Pacific Drive, Viewfinder. Imagine a Fallout scale narrative exploration game that doesn't require combat to fill in the gameplay.
Cyberpunk is a fantastic story and exploration game, with interludes of stat based combat. I have spent hours just wandering the city and finding the cool hidden stories, but most 90% turn into 5 minute combat crescendos that add nothing to the story, while super obvious mechanics that would match the story go unexplored. That's more or less what annoys me, it's not a big deal I just find it a shame.
Again, I don't exactly care what other people play or do, this is just what I want.
yes, client code is JavaScript using Three.js (https://threejs.org/) library, but since server and client is decoupled, client code can be implemented using anything, there is also php cli interactive interface, but most users prefer javascript one which is currently only one with real gui
yes that is correct, all code is in this monorepo,
yeah I get little hyped with that animal destroying description :D
for that sidenote crosses - love your note - my sense of humor is kinda weird I guess or maybe because I grow up in Europe while watching America movies with football players wearing helmets idk :D
Very cool. As an aside, it (the screenshot at least) reminds me a lot of "Extreme Paintbrawl", a game released for PC in the 90s. I used to love playing it when I was a kid. Some years later I found out that it is "considered to be one of the worst video games ever made". :D
The gaming world badly needs a central repository of art, only art (graphics, music, scenery, world maps, objects, ...) sort of a highly specialized Github. It should promote using well known file formats and structures to ease importing this or that object into a game project. And possibly allow the use of the torrent protocol to avoid clogging central servers as data files usually represent the heaviest load for a server.
I guess I can, but I am not a lawyer and I don't really want to go on date with Gaben and his lawyers (date with Gabe, gooseman and Jess is ok for me), but if you have any suggestions please share
even if you were infringing on Valve's copyrights (which you probably aren't, you're just using one of their trademarks), licensing your project or not wouldn't change that at all. but more importantly, by not including a license file in your repository, you are asking everyone to assume that your project is not licensed, therefore all rights are reserved, therefore it's not actually open-source (a comment on HN is sadly not enough): https://docs.github.com/en/repositories/managing-your-reposi....
Please do. This is your code so you get to decide exactly how free you want it to be, but without a license, it's "source available" which means that people can't do more than look at it and say "that's nice". If you want to let other people actually do something with it, then it needs a license. I can't decide for you which one to choose, but MIT is popular, let's other people take your code as long as they say where it came from. For web projects that you want to remain free, AGPL is a license that says you can use this code, but any changes you make to it also have to be free. It's a tricky topic that this comment is far too short to cover, but it's worth a hour or two of your time to consider as what you think of as okay to with your source won't align with what everyone else might consider to do with your source.
I want people to contribute to it, to make it better game, with no bugs, better visuals etc., repository also contains assets that was not made me, so I guess only thing I can license is source code written in programming languages that was written only by me, idk, I should be lawyer not programmer :)
True, but googling soufron brings up a popular lawyer with that last name, whose social media and website use the same handle, and even has a wikipedia page. So I'm assuming he knows he's easy to find.
Unlike linking to Nicholson's socials from your HN account, which would totally count as proof...
We simply aren't discussing how to prove his identity, just how to contact him (or whoever he could be impersonating) when he didn't provide contact info.
That’s not a valid license. Without a file or statement in the repository, I guess it’s a proprietary piece of software that people cannot legally fork.
Actully, the act of putting it on GitHub might be considered an implied license to clone and fork the project since those are normal GitHub functions. Still, an explicit open source license that also makes sure to grant those rights outside of GitHub would be better.
those are very dissimilar licenses in the sense that wtfpl is basically a cute way of putting something into the public domain, while MIT et. al. do actually have (albeit minor and reasonable) restrictions on the conduct of people using the code.
There is no disclaimer of liability and implied warranty. You may be on the hook for damages if someone uses your code under the WTFPL and there is a bug that causes them to lose money.
So I can take it and reuse it exactly as is and claim it's my own and sell it on Steam for $60 a pop?
So I can take it and use your name that is surely somewhere in the code and fill it with swastikas and hate speech and say that this represents your views?
Or more reasonably since I don't see a license this is copy written reserving All Rights and anything said here is just a trap you're just waiting for me to do something cool with it then hit me with a lawsuit and take my money, right?
But more seriously head over to the open source initiative read up on a couple of licenses and pick one. Almost any license will prevent people from using your name but let other people use the code if that's a thing you want.
If you just want to protect your name and let people use the code for whatever even making money consider an MIT or BSD Style license.
If you want (to protect your name and for) other people to be able to use the code but need to share their changes consider a GPL style license. This will complicate other people making money but doesn't strictly prohibit it.
If you don't want (the previous stuff and for) other people to be able to prevent people from selling it you might want to use something like a Creative Commons non-commercial license, I won't be perfect but there are flowcharts you can follow to figure out which license works for you.
> So I can take it and use your name that is surely somewhere in the code and fill it with swastikas and hate speech and say that this represents your views?
That has nothing to do with the game being free. If you dedicate source code to public domain and someone slaps swastikas on it, it doesn't represent OP's views all of a sudden
If you want the code to stay free you better add a free software license, that's what these licenses are made for, to preserve the freedom of the code. Otherwise others can take your code and make it propietary and add their propietary license to it.
Still not open source many hours later after multiple people said to put a license on it. Calling something open source when its not is really not okay, and it is hurting free and open source software.
It is open source, the source is right there on the repo for anyone to read.
It can be open source without being free software, it can be open source without having any license. If the owner has opened their code to the world to read, it's open source.
I was around before that wiki page was written and know exactly what open source means. I'm not going to play the double speak game on words. open source means you can read the code. period. it doesn't matter if it's free, or if it has a commercial nature or not.
free software is software you don't have to pay money to use, it doesn't matter if you have access to the code or not.
source available means the source is available on request and with restrictions to keep it private. doesn't matter if the software is free or not.
> [common; also adj. open-source] Term coined in March 1998 following the Mozilla release to describe software distributed in source under licenses guaranteeing anybody rights to freely use, modify, and redistribute, the code. The intent was to be able to sell the hackers' ways of doing software to industry and the mainstream by avoiding the negative connotations (to suits) of the term “free software”.
There is no platonic definition for words that make it wrong to use them in a different way.
Dictionaries are descriptive, not prescriptive.
If someone uses a term like "open source" in a way that is clearly different from how you understand the word, that doesn't make them wrong. All it does it highlight a different perspective.
You can attempt to tell them that they are wrong to use the term that way. It's changing the topic and distracts from the point, so if that's your goal, go for it. Most people don't react well to it. You can think that they should be okay with it, but people don't tend to react well to that either.
I don't think it's wrong. I think it's confusing and creates unnecessary friction. Especially if the term is well-established in the profession or the community.
Does it really? I find I have a pretty common process, where I will hear something and it doesn't make sense to me, and then I pause for a moment to think, and I realize the speaker is using some word or phrase differently than I was expecting. I then understand what was trying to be said and continue the conversation.
This is a daily thing in my experience, often internalized to the point I don't notice until reflecting later. It doesn't feel like friction to me. This is the unavoidable nature of trying to connect with someone using language.
So I guess you are saying that you're aware that "open source" means a specific thing to many people in this field, but are going to use it in a confusing (to many) way rather than using the unloaded "source available"? You do you, but don't expect everyone to agree to switch from this fairly common usage. Makes it look like you're just searching for an argument.
I'm glad to see you're not bothered by these weird hn folk, I've said this before but people like to think hn is better than reddit when in reality we have our own brand of toxic here
I would personally just called it a video game. Free and Open source a issue of copy right. If there's still full copyright (and there's copy right on everything published nomatter if it is explicitly claimed or not) with no license on a piece of software, it has nothing to do with open source.
But source available would be the term to use if one wants to point out that the source is on github.
semantics, "source available" is for closed software that's willing to make source available to their customers. For instance, Microsoft windows is not open source, but if you're an important enough customer, they will make the source available to you. open means there's no restricting for you to read the code.
Terms that have an unambiguous and widely-agreed-upon definition are simply not open to interpretation. The term "open source software" is a technical term and is defined by The Open Source Definition [0], which is accepted by the overwhelming majority of experts in software engineering and software licensing.
The Open Source Initiative is a hypocritical organization that tried to trademark the term "Open Source" and was denied because they don't control the term and have no stewardship over it. Your interpretation is not accepted by the overwhelming majority of "experts in software engineering" (whatever that means), and I don't know of any way to quantify your claim either. What you are referring to is most likely FOSS, which is a more rigidly defined thing. Open Source, to most people, is a colloquial term that simply means that the source is available to be viewed.
"Hey creator, it's important for open software to be properly licensed, otherwise there can be legal issues. <Insert link to open source license references>"
You could have solved this issue. Your coding fingers turned into complaining fingers. If you really had a problem, you should have opened a PR with a license instead of demanding that OP do it on your timeline.
"Many hours later" is a great way to make it sound like a lot of time passed, but the creator said less than 24 hours ago they were open to adding a license and then several users accused him of essentially kicking puppies to death because it wasn't done yet.
He expressed anxiety and unfamiliarity with adding a license he didn't understand. Not to mention multiple users started arguing over the best license, further highlighting why he shouldn't just trust random internet comments and actually look into it. You're going to harass him for it? Do you own his time for the next week because he made a post on HN? Because that attitude is way more harmful to OSS than what you're up in arms about.
Furthermore, this is colloquially open-source to most people, and you're hung up on semantics. Anybody that needs to care about a license can look and see if one is there. If it's so simple to understand a license and add it to your project in such a short span of time, surely it's simple to check for the existence of one in the first place.
(It's kinda weird, because to make a PR, I had to make a fork, and then I added the licence to my fork, even though I'm not allowed to pick the licence, but )
They went with a more open license. Try to do better next time with your license choices. GNU is not nearly as open as the "DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE."
Just FWI, it's not illegal to add an incorrect license to a repository you don't have the rights to. It's simply a lie. The copyright notice is just a statement from the author, it doesn't per se define the terms under which the project is distributed. What defines them is the fact that it's the author who put the file there.
There are some seriously impressive open source games out there. One of my friend groups into gaming got me into BAR (Beyond All Reason) last year and it is seriously impressive in terms of depth, graphics, and optimisation. This part of the future I love.
Also discovered BAR couple of weeks ago and even though I'm not really a gamer anymore, and was never really into rts games, I've already have > 50 in game hours
I was very impressed with the level of detail and meticulous implementation. The level of control and posible automation is high, I feel that it should reasonate with most tech oriented ppl
If anyone wants to play my in game username is [ZWD]_jaan, just add me as a friend and I can intro you to the basic concepts (im still a noob tho), we can play a coop game or find a noob lobby :)
BAR is pretty awesome indeed (make sure to check it out if you like games like Total Annihilation/Supreme Commander) and makes it really easy to mod the game via Lua. Seems to have a pretty large community for being a FOSS game too.
actually game can be run using any modern web browser with websocket (without needing to use electron), I just provide electron as it have better performance (nodejs supports udp so no websocket bridge is needed) and key shortcut like Ctrl-W do not close tab instead you move forward while crouching :)
Ctrl-W is fixed in fullscreen, and WebRTC DataChannel provides UDP (both client-server and peer-to-peer). Check my port of Quake III: https://github.com/jdarpinian/ioq3, you can test UDP multiplayer and Ctrl-W live in your browser here: https://thelongestyard.link/
I am fox on fire so Ctrl-W is tab close for me :) but yeah, there are ways (hacks) to make it run in web browser "natively" but only to some extend, I mean you can for sure rebind ctrl-w and other stuff or use chromium, but for me currently real LAN party is playing on electron :) web browser version is for testing and developing (for me at least)
There should be a hosted demo at least. The web's big advantage is instant distribution with no installation on any platform. I think it's a shame to build using web tech and then throw away your biggest advantage by requiring platform-specific local installation.
there is indeed a web version like others mentions, I also provided a prebuild binaries for lots of os/arch at https://solcloud.itch.io/counter-strike-football (and anybody can open PR for more), for hosted webpage demo I can for sure hosted somewhere on public internet as can anybody else, so I will leave that as a optional exercise for a reader to host community server :)
I think most users will build from source or use provided pre-build binaries
Ditto. Today's PHP is not your what your grandfather used to use. It's a much matured and evolving language. Python only got so popular due to Google's use and AI. It's like the new Perl.
server is written in PHP listening on udp, for client you can use modern web browser with websocket-udp bridge (provided in repo), or use nodejs (electron), I also provide prebuild binaries for some systems on itch https://solcloud.itch.io/counter-strike-football#download
thank you I guess, I started with php because of rapid development and TDD, but now you can transcode php to C++ or WebAssembly pretty easily, so using vkphp or once wasm socket will be in spec than it is free easy transcode (or using Emscripten), or second option since code is quite simple it will take like barely one week to rewrite it in c++ or other languages which is my plan once the game is future complete and stable (hopefully I will not have to develop my own language :D)
I came here for the cstrike and stayed for the 'open source' toxic popcorn. Please keep me in the screenshot when this gets picked up by all the news sites.
maybe like a said I am not lawyer, I am just a peaceful person :)
for audio/visuals the game is currently pretty basic because I am not wearing all the game development hats, and 3D graphics/audio/animation is not my favorite things (but PR queue is open if anybody is interested), but it can be scaled to more complex map, I actually convert old "real" dust2 map to this game a _year_ ago and record video of playing it https://www.youtube.com/watch?v=aIBVGZanVvU
that actually sounds kinda cool, but do I have a permission to use it from you, or now anybody can trademark it so I have to be first to register in German with GmbH or smth :D
Trade mark law usually requires that a mark is not descriptive - counterstrike is a dictionary word that describes fighting back against an attacker. Seems perfectly fine to use in any fps game.
Can't see how that trade mark could stand against a challenge (in UK/EU)?
See eg Art.4, Art.7(1)(c) of EUTMR.
IANAL, these are my personal opinions and unrelated to my employment.
Yes, you wouldn't want to use "Counter-Strike" but legally they can't stop you using "counterstrike". As you intimate, the legislation probably doesn't matter if you can't afford the legal process.
If anybody is interested in in go for it, you can use server from repository and only code client side in godot than purchase bunch of cool assets and AAA game is born
reply