A Concern Regarding Operating Systems and Technical Influences

Started by
34 comments, last by rip-off 11 years, 9 months ago
If Windows 8 is the next in line, behind Windows 7, then I don't want to develop games for Windows anymore. Each version brings a few important features, but they completely spoil it to an overall negative improvement, by absoluteness. Due to Windows 8's unbearable terror, even if Windows 7 stays dominant for quite a long time, I wouldn't be stupid to let that pass. I'm considering developing for Linux, but from my experience, it has quite unstable/unreliable drivers. The people building desktop environments for Linux have some mental problems alike Microsoft, too. Mostly, I'm concerned by the "UNIX environment" that's associated with Linux. I'm one of those people who believes that programming languages shouldn't have been carried on since the advent of NLS. I'm bothered by how many people consider long, homogenous strings of characters as the golden interface to the computer (one of those UNIX philosophies): Programming Schemes, Search Queries, User Interfaces (Even sneaked into "Graphical" User Interfaces) and the most idiotic of all: Media Encoding (i.e. XML).

I could rant a lot about very stupid GUI design decisions, but there's so many of them, and that's beside my point. To elaborate this redundancy: I'm just disappointed by everything in the software world! Where's the hacker ethic gone? Why is the industry engulfed by Java-abusing "IT guys" ? Why is UNIX the only alternative class of operating systems that anyone talks about? Why isn't UDI implemented abundantly? Why do people keep excusing their laziness for: "High capacity hard drives are getting much cheaper. Memory's hella cheap. People's processors are like super computers compared to the 90's. I don't need to worry about my approach anymore. I have a massive canvas to work with!"

Well no. You don't have a massive canvas to work with. Yes, people's computers in the 90's were much less powerful, but at least people tried to conserve their resources to some extent. Don't you realize how long people have been saying this? Yes, hardware has always been getting cheaper, but can you imagine how much more you could do if everyone utilized these resources graciously? (The answer is: No.)

My ultimate problem regards the ecosystem of a computer. Your shit affects my shit. That's why propriety software is retarded. If the big players make shit, then I have to deal with it, especially if its an operating system. Sometimes it doesn't matter how well your compiler can optimize. Two well-written assembly programs which achieve the same design goals can result with widely different performance, depending on which techniques were utilized to implement them. But the technical problems rendered to Windows are of a much worse case. This simple issue I speak of now seems far beyond their pathetic problems.

I hope you enjoyed this rant. It might need to be moved, but I tried to place it in the right forum.
Advertisement
Thread was probably better off put in the lounge. Larger audience for the rant. You might want to look into Steam who I believe are focussing on Linux accessability for games.


Edit: Link re steam/linux http://www.develop-online.net/news/41427/Valve-brings-Steam-to-Linux
Hey Reflenux.
Nice to see you taking an interest in Linux/UNIX development.
I frankly don't know why people put up with the S*** from Microsoft - windows is a terrible operating system.

I'm currently working on a project to promote linux - building an open source operating system for game consoles and media centers.
Linux is great - having the freedom to dissect the whole system is something that has become essential for me to become a better programmer.
The only issue is X windows (X11) - it's currently the windowing system standard for linux - and it...well... sucks - it's slow and takes alot ofresources , however needed if you want to develop games.
the most annoying thing is, it's in the hands of Nvidia and AMD - there the ones who deside what api to use for there drivers - they won't change to there's a better system , yet you can't build the system until they change...

anyway...

yeah. Linux - it's awesome.
Even if you’re on the right track, you’ll get run over if you just sit there.
—Will Rogers
I'll be blunt: you need to justify the existence of this thread. Tell us how you're helping fix the situation, don't just whine about the problem.

At the moment this veers perilously close to trolling and flamebait, and I'm very tempted to have it locked on those grounds alone.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Wait... you complain about 'long strings of text' while at the same time decrying the 'dont optimise every last second' mentality?

I... have no words.
@Stormynature
Thank's, I'll check it out. smile.png

@naf456
I agree about the drivers and X11... and mostly everything else you've said. Do you have a git repository for this project? If you don't have anything official on the net, then I would be pleased just to know a little more about it. Please send me a PM. I want to hear more.

I'll be blunt: you need to justify the existence of this thread.[/quote]
Apparently, Stormynature & naf456 justified it quite well. I appreciate their responses.

Tell us how you're helping fix the situation, don't just whine about the problem.[/quote]
I'm summoning mysterious hackers to do it for me, with my very high magic level. Of course I wouldn't just whine, I want to handle this problem. I would shout it out if I knew a good answer. Justification #2. We can also talk about how phantom (and probably a lot others) think I'm full of baloney. Justification #3.

Wait... you complain about 'long strings of text' while at the same time decrying the 'dont optimise every last second' mentality?[/quote]
Wait... where's the contradiction? And.. decrying? What do you mean?


Thanks everyone (including the moderators) for taking me somewhat seriously... or at least responding. If you're still not happy about this behavior of mine, you may close the topic. Stay smooth.
It sounds like you would benefit from moving to a more cross platform / abstracted approach in your programming.

I must admit I do (or did) share some of the concerns about having to put up with 'rubbish' for want of a better word in the operating system below. I'm not sure there is that much you can do about this though, short of contributing / writing your own OS.

OS concerns are more of an issue for certain types of development than others (for some you are forced to deal with the OS). For games however, in most cases there are a number of APIs you can use which will abstract this away for you. You can use things like OpenGL, SDL, OpenAL (or write directly to sound buffers), CeGUI. You can use your own abstracted file handling API, mouse / gamepad / keyboard input. The places where you actually need to interact with the OS directly are usually limited.

Once you change your coding style to using APIs or interfaces to such things, you can then see whether there are benefits to running on different OSes.

When it comes down to it, the differences add up to things like how efficiently the OS uses the hardware, how 'jittery' it is (does the OS start taking huge lumps of time away to do housekeeping). Providing you don't do crazy stuff like try dynamic allocation from the OS on the fly, you can keep its influence pretty minimal.

Also if you do some profiling you'll get a better idea of how much you are being limited by different factors, typically you can get the OS down to using a few percent of your CPU and use the rest on the game. On things like PCs, it's not worth worrying about that kind of percentage, gamers are used to needing a faster CPU anyway to compensate for this.

Perhaps you could come up with some examples of where you've been frustrated, and people could offer solutions.
Darwin (not the OS) will do his job here. Those who evolve will survive, those who don't, won't , but will, in the meantime, rant on the forums about the fact that everything suck but they're good.

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

Having written that, I kind of suspect this rant is to be taken as a user's perspective on the desktop environment, rather than 'how should a programmer deal with this environment'.

The problem is the general one of sub-standard programmers, or low standards for work.

You'll find sloppy work for a number of reasons such as:

1) developers who genuinely don't know what they are doing (or understand the implications of what they are doing)
2) developers who know what they are doing but don't care (very common in paid jobs)
3) programs that have to be produced to a time schedule / to a budget -> team / management constraints (programmers are forced to write rubbish)

Then you find this sloppiness multiplies. If e.g. microsoft make some horrific new library (due to reasons earlier) or that the marketing team have dreamt up, often developers further down the line can be forced to use it for one reason or another and you can get entire ecosystems of rubbish.

(Of course if there's one thing guaranteed it's if you ask a programmer what they think of someone else's work, in most cases they'll think it's rubbish, even sometimes just because the other programmer prefers working in another way. In fact if you ask most programmers what they think of their own work 10 years earlier they'll say it's rubbish. 'Whatever way I'm currently using, is the best and only way to work' is a mantra most of us live by lol.)

This is what you get when you have open / free for all systems like linux and windows. It's kind of the price of freedom.

The other alternative is to have more of a walled garden, and have some kind of vetting system for new programs, quality control. An example would be apple requiring to approve apps before they are available. Another example would be console development, the (usually) rigorous TCRs (technical certification requirements) required before a title can be passed.

Another alternative, which isn't currently used, but would be kind of nice to avoid some of the commercial bias, would be a peer review process, similar to that in the academic world. i.e. You finish your app, you send it off to be analysed (with details of workings) to a set of referees, who make recommendations whether to fail it, pass it, or pass it depending on some changes being made.

At the moment, the only vetting system for programs on open operating systems is the users, and they don't really have a clue. Or rather, even if some do have a clue, their opinion gets drowned out in the 'noise'. If someone's computer starts crashing or grinding to a halt because some dodgy developer decides to load their irrelevant sloppy code at startup then in 99% of cases they won't have a clue who caused it and who is to blame, they might even start blaming the wrong app.
Well, I agree it's a shame that there isn't more choice in operating systems and there's plenty of criticisms one could make of software in general.

But I think Windows and Linux are both pretty good operating systems, even if they each have things that we might not quite like about them. But I prefer Windows overall - to respond to naf456, that's why I "put up with" Windows. The main advantage I see of Linux is that it is free (as in both beer and speech), and I think it's a good thing to have that option around.

(I used to hate DOS and Windows 9x in the 90s, preferring to use AmigaOS, but the NT line, especially since Windows 2000, has been pretty damn good, and I think Windows 7 has also improved on this.)

What is it about Windows 8 that would put you off Windows game development?

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

This topic is closed to new replies.

Advertisement