Skip to content(if available)orjump to list(if available)

Show HN: Cs16.css – CSS library based on Counter Strike 1.6 UI

culi

the_sleaze_

I can smell that windows 98 theme, the gray plastic and the rubber mouse ball that used to get schmootz in it.

MortyWaves

That 95 theme is terrible. May as well use the 98 theme.

com2kid

culi

Thanks! I'll add this next time I post this list :)

fusedshadow

culi

I like it! But how would you describe this one? This collection is meant more for tight/inspired themes. But I also included https://bootstra386.com/ which is on the edge too so I'm not against including this

fusedshadow

Geocities is infamous.

duxup

I was watching my son play Half Life 2 recently and it occurred to me how much more real or immersive it seemed when the menus and such had this style and they look like actual computer system UI. Dated maybe, but they feel industrial and real.... and easy to use all in one.

Meanwhile many games have hyper stylized menus with flowery wingdings all over them and makes it unrealistic / a horrible experience / chore.

brap

Don’t even get me started on modern games’ menu UIs.

I got the latest CoD for PS5 like a year ago and I couldn’t figure out what the fuck was going on in the menu. Incoherent mess impossible to navigate. I felt like I was going insane.

I guess I’m just getting old.

Sohcahtoa82

> Dated maybe

When current UI trends are designed to be flat and hide functionality, destroying discoverability, a key component of UX, I'd argue that "dated" is a feature, not a bug.

duxup

I mentioned in another comment that I used some very old (2.0) bootstrap for fun recently and yeah I like it better than the flat / colorless stuff.

lelanthran

I liked the menu system in Crysis 2 (or 3 - not too sure).

Really made you feel like you were inside the cryosuit.

bakugo

> many games have hyper stylized menus with flowery wingdings all over them

It can work depending on the style/tone of the game.

The real problem, in my opinion, is all the games nowadays with perfectly flat, generic, colorless UIs with absolutely no style or identity. Nintendo has been doing this a lot, for example.

duxup

I'll be honest, I went back to some OLD bootstrap styling for some things and I liked it a lot. The candy looking buttons are nice ...

I'm done with flat and muted all the time.

Also (more to my example) it looks like a realistic UI. A lot of game stylized UI are UI nobody would ever make intentionally for a thing you're supposed to use often.

So yeah like you say just some depth and realistic UI feel goes a long way.

nolan_wyss

Very nice! I installed CS 1.6 last year again, after almost 15 years of not playing, and now I almost play every day 10 - 15 mins against bots to clear my mind. To make it more fun I even created my own bot team and a whole tournament where I play against all the pro teams of the ±2008ties. I also rediscovered a map I created back then on a super old hard disk - never thought that with almost 40 I would still play it - so thank you past-me.

albertgoeswoof

CS has always been a great mind clearer. A ranked 5v5 game is high pressure and intense, lasts about 30-45 mins, and has enough human contact to satisfy me. I haven’t found anything to replace it since I quit a few years ago.

Cyph0n

TF2 (another Valve game) is an excellent option if you want something more casual/low stress and also flexible when it comes to time (no penalties on leaving since it’s a casual game).

nxobject

Watch out for 1/2-hour ish capture-point campaign style maps, though... I wasted so many Fridays in my early 2010s doing that.

thot_experiment

DotA is the same thing for me, though I assume you quit for a reason that would probably hold true for DotA as well. I hate how harshly CS punishes acting rashly, it really encourages you to hold angles and play methodically/strategically and I feel like in DotA I'm afforded more leeway to gamble with flashy plays. That all being said they are both brilliant games. There's something particularly appealing about the round model in CS, buy vs save rounds and the way the game gives you an opportunity for a series of rematches where you can learn from the way your opponents played the last round to try and get a better outcome is just a really compelling gameplay loop, even if I don't love it personally. (rather be playing q3dm17)

digestives

Ah, memories flood back of LAN or dial-up sessions with friends on custom maps like de_747 [1]

1: https://gamebanana.com/mods/82979 I still contend it is one of the most atmospheric custom maps ever made - how else do you get to role play as Gary Oldman or Harrison Ford!

pea

I have great memories playing kz_ maps for hours in 2005. The amount of skill of some people was mind blowing. Something nostalgic about the feeling of being alone in a kz map at 3am and then hearing someone else hopping around.

sintezcs

I also haven’t touched CS 1.6 for 15-16 years, it will be cool to try it. Is it possible to run it on Mac M1 or I need a VM? Also, can you recommend any resources where I can read how to setup and configure bots? TY!

dewey

Back in the days on lan parties there was what we called "the russian version" that only had question marks in the installation dialog (Because of unsupported fonts most likely) which had Z-Bot included.

That's probably this one: https://archive.org/details/cs-1_6_z-bot

selectodude

Isn’t ported to ARM64. Runs really well in Whisky though.

https://getwhisky.app/

Lammy

I've been using this to play TF2 Classic on my M3 MBP and it works perfectly. I had some freezing-while-sound-skips-endlessly issues when using the voice chat hotkey, but that was resolved using WineTricks (built in to Whisky UI) to install `dsound`.

Now's a great time to start playing — The TF2C 2.2 “Double Down Update” comes out today!! https://tf2classic.com/double_down/

e: And I also had to disable macOS's default keyboard layout switching shortcuts (which I never use anyway) since I kept triggering it while crouch-jumping lol

e 2: https://news.ycombinator.com/item?id=42816545

Edd314159

Isn’t this technically the original _Steam_ UI, not just Counter Strike?

rtehfm

True, but the original Steam was created for managing updates to Counter Strike and their anti-cheap system (VAC if memory serves me right). Also back when having a low WON ID (now SteamID) was a badge of honor (like having a low Slashdot account ID).

Ringz

Sorry for the useless comment but I really like the idea of a „anti-cheap system“.

I will use it in my next presentation for shareholders. /s

nxobject

I'm sure the behavioral economics people at Activision and EA trying to get kids to buy more cosmetics would have a lot to say about that...

WorldMaker

Yeah, still feels like even today Steam could pop up something in this style somewhere when you press a less common button or cause a less common error. Kind of like how Windows would occasionally have even Windows 3.x style dialogs up until last year in Windows 11, and still has a few stragglers from Windows 9x era.

bakugo

Yes, the Steam client was originally built on top of the same VGUI library used in Valve's games, and used the same style as HL1/CS/etc back then.

Lammy

More reading about VGUI: https://developer.valvesoftware.com/wiki/Category:VGUI

Fun fact: in CS 1.6 it could actually be reverted to the old-style WON UI by with `setinfo "_vgui_menus" "0"` in config.cfg or in the console, or buried in the menus as "Options > Multiplayer > Advanced > Buy menu type > VGUI Menus".

myheartisinohio

Everyone runs faster with a knife.

pknerd

Awesome

Though I am not a gamer I have seen my son playing different games, I loved it not because it belonged to a certain game but because it is clean and different.

Are there any other unique CSS libs that could be used on pages?

graypegg

chrisweekly

awesome, thanks for the link!

dvh

Why you didn't use progress or meter for progress bar?

dylan604

why make everything need a class rather than just styling the DOM elements directly. Why wrap a checkbox into a div rather than just a <form>?

why did you skin the cat that way when there's 98 other ways to do it?

maybe there's a logical reason more than "that's just what came to mind", maybe not. that's the beauty of the whole thing. there is no one way

marcellus23

I'm not sure that argument holds here, not every solution in programming is equally good just because. A <progress> element has the advantage of semantically actually representing a progress bar, which improves accessibility and who knows what other browser behavior and heuristics. In general you should try to use semantically correct HTML tags unless you have a really good reason not to. Maybe in this case he couldn't get the appearance he wanted using <progress>, which would be an acceptable reason.

Obviously this is nitpicking and this UI was made for fun rather than being a serious library intended for production. But that's a different criticism of the GP than the one you made.

Bjartr

Not every question is a criticism that needs to be defended against. The person you're responding to could very well just like to know the reason if one exists, no more, no less.

If you know a better way to get that info than asking the question, I'm all ears.

(major digression ahead)

This is actually something I've been digging into for a while, trying to improve my own communication. My own current best answer for this sort of situation is the social expectation is that a neutral question will always be accompanied by praise and gratitude, and any question asked that lacks that accompaniment will be interpreted as antagonistic.

For example, the comment you're responding too could have started with "This looks really cool, ..." or "Wow, this takes me back..." or "I can see a lot of effort went into this..." and it would have resulted in the question coming off as neutral instead of critical to some people.

What's fascinating is when I mention this kind of thing I almost always get one of two responses

* Of course that's how it works, everyone knows that!

* That's ridiculous, no one can be expected to do that!

richardlblair

I think I'm more cynical. Almost everything stated on the internet will be perceived as antagonistic. At least by some. It's more a representation of the reader's internal state rather than an issue with the question / statement. Unless, of course, the question / statement is overtly antagonistic.

sgc

Precisely why it is perfectly fine and good to be inquisitive, and ask why people do things the way they do. It's the point of a show and tell.

fnikacevic

Just looking at this makes me feel like a noob.

I tried installing CS 1.6 20 years after launch roughly and it was pointless trying to compete.

pelagicAustral

That's because the servers that are left are filled with die-hard players that know the maps, and every little quirk about the gameplay to the pixel level... There still a lot of fun in there, some mini games, more esoteric modes, deathmatch... The other characteristic of many server is that they are modded to the gills, and in some cases the work that has been done on the game over the years ends up giving some very pleasant surprises...

I logged in about 120 hours in 2024 after not playing for 12 years, and everything was different and the same. You got a lot of 30-something's playing after office hours, keeping the servers alive, and like I said, some servers are at a completely different level, I had so much laughs and met quite a few new people...

I recommend to look a bit more and I'm sure you'll find a few servers to stick around to, even if you get headshotted by an AWP from across the map on each round.

wiseowise

90s, early 2000s were peak times for UI.

Sohcahtoa82

It was a time when tech companies were trying to make computers a common household item, so they did tons of user testing and we made great strides in UX as discoverability became king.

Then, starting about 10 years ago, they started throwing all that research out the window in favor of minimal, clean, flat, "sleek" UIs because the screenshots are easier to market.

They started appealing to the lowest common denominator. We've lost choice and customizability in favor of allowing Apple and Microsoft to decide what our desktops should look like because some people might be confused if they open up an options panel.

I hate nearly every single thing about the MacOS UX. The dock is awful, and so many insane defaults all over the place. Hiding scrollbars is a bug, not a feature. Pointer acceleration is a bug, not a feature. The scroll wheel operating in reverse is a bug, not a feature.

At least with Windows, I can make it tolerable with third party software to make my task bar and Start menu look and feel like the Win2K days. My biggest complaint about the modern UX is coalescing multiple windows from one program into a single item and not having text. If I have 3 Firefox windows open, that should be 3 items on my task bar. It makes it so I can switch to any of them in a single click. It also means that I can use a window as a widget to monitor something by having the status as the title of the window.

tanepiper

When I was playing with WebSerial, I ended up using XP.css because it reminded me of configuring with old serial modems - I think the aesthetic works quite well.

https://web-serial-app.netlify.app/

(Source: https://github.com/tanepiper/web-serial-controller)

IYasha

Can't agree more!

But, to be fair, I still use win7 in native (unthemed) UI mode and haven't played many modern games to have a proper comparison :D

phatfish

This is the Steam UI (server browser and config), rather that CS 1.6 specifically i think? I'm having a hard time remembering what it looked like before Steam integration though.

least

CS 1.6 was exclusive to Steam; I remember waiting quite a while to register because I didn't like the idea of Steam but ultimately caved (still have a 6 digit steam id, which used to sort of but not really mean something). The server browser in CS 1.5 and below was built into the menu's on the application.

This is indeed the Steam UI, not Counter-Strike. This was also back when they had games like Go built in that you could play with people on your friends list.

IYasha

Good job! But it reminds me of the dreaded VGUI.dll. (0_0) For those who wrote code for the GS engine it's probaby one of the worst experiences.

GranPC

It didn't get much better in Source either, much to my dismay.

IYasha

They also added, like, 80MB DLL (AFAIR, chromium) just to render HTML MOTD at some point.

I personally had to rewrite most of mod's VGUI code to make it less leaky and more usable, and not once have I thought of using CSS instead of those INI-style theme configs. But CSS is too complicated to parse (and no one will use that anyway). :(

GranPC

Originally it used Windows's built-in embeddable IE thing, which as you can imagine was not stellar for security. IIRC there have been some incidents with bad servers serving up MOTDs that exploited vulnerabilities in Trident to execute arbitrary code.

I believe they switched to Chromium while preparing for the OS X port. You'd think this would be good for security, but they then proceeded to update to the latest version approximately once a decade.