Best gaming platform in the future with marketing perspective.

Started by
27 comments, last by jpetrie 7 years, 11 months ago

Develop for Linux because that's the only platform I want to buy games for. ;-)

I have no inside knowledge of which platform is the most lucrative, but I'm guessing it's consoles since that's where most companies try to sell their big title money making games first.

Seems like the tech changes faster than I can learn it, but maybe I'm just a slow learner. Every time I get comfortable with something, the market makes me move. I learned the bulk of what I know in XNA. Microsoft abandoned it. I learned DX11. Microsoft is pushing me to Linux; so now I need to learn OGL4.5. By the time I get that figured out it will be time to learn Vulkan. All 3 of those moves have been to relearn everything from scratch which is time consuming.

As far as platform, there will always be new hardware, but so much of development today is cross platform. I mean there's an obvious difference between VR, mobile, and PC. I think the biggest difference is between mobile and non-mobile because of the controls and maybe to a lesser extent developing for full body VR.

VR is not going to take off until they start making games for it. It was maybe the mistake of the century to come to market without top of the line games before the release. (You need more than 1 or 2 and you need some real best sellers.) That may kill VR in the near future, although it's maybe still kind of in the beta stage as a technology. But as long as Elder Scrolls is not designed to run it, it's not going to sell. (I actually played Skyrim in VR for an hour or two and it was really cool, but you could tell it was not designed for it because there were significant issues). But VR actually has enormous potential. I can't imagine it failing to catch on eventually, even if it takes 1,000 years for them to get the marketing right. At some point people will figure out how cool it is and it will be so cheap there won't be any point in not doing it. But it's so expensive right now, that only the most die hard (like me) will buy it. So, at the moment I'm sure it's not a very lucrative platform to develop for.

But anyway, with cross platform development like Unity, why do you need to worry about the platform until you have made a few games and actually have a product to sell?

Advertisement

Develop for Linux because that's the only platform I want to buy games for. ;-)


Heh, I agree but preferably also provide source code so it is possible to support the many Linux distros, now and in the future with a newer libc and kernel.

But anyway, with cross platform development like Unity, why do you need to worry about the platform until you have made a few games and actually have a product to sell?


Unity provides a massive worry about cross platform support. If you want to support a platform that Unity doesnt support (older or newer Linux distros), there is very little you can do and will need to change engine.
Not to mention the Linux support provided by Unity is only really Ubuntu :/.

Also, after porting a Unity 2.x project to 4.x, I realized I would rather port to an entirely different engine!

SDL and C++ is such a better option here.

Every time I get comfortable with something, the market makes me move. I learned the bulk of what I know in XNA. Microsoft abandoned it. I learned DX11. Microsoft is pushing me to Linux; so now I need to learn OGL4.5.


After your experience, why the heck would you recommend the OP locking himself into Unity? ;)
Its not like Unity is going to be around for any great period of time (Game Engines are often short lived). I actually started working on an open-source Unity to soften the blow (in a similar fashion to MonoGame). But then realized that there were better engine designs to use haha.
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

All the answers are very helpful, now I have better insight and better plans (hopefully).

The "hip and trendy" money making platforms change a bit too fast to really simply choose one and be done with it. Ideally you should write your games in such a way that they can be ported to a new platform in a short time span. This is not actually too hard but what it means in reality is not to lock yourself down to vendor specific languages or tools.

Remember that being locked into things like Unreal Engine and Unity will mean you will miss the boat when a new platform comes out because thay do take a long time to port their chunky engines across.

What I generally recommend is what you are using. C++ and SDL (and OpenGL if you need 3D). However learn to avoid Visual Studio because it will make you more flexible to port to other platforms. Some platforms that it does already support is:

Android: Using NDK and SDL, a game can often be ported in a couple of days

iOS: SDL has been ported. iOS apps can be written in C++ (and C which SDL is written in).

HTML5: Using Emscripten, your SDL code can be compiled into Javascript (asm.js) which can run in a browser (automatically using the HTML5 canvas do display.)

Windows: Standard platform

Linux: Standard Platform

*BSD: Standard platform

Mac OS X: Standard platform

Remember that 99% of software is still written in C. This really does make C the most portable language. Unfortunately it is a bit hostile to write games in so that is why I recommend C++ because it trades in a slight loss of portability with a very nice language (if you ignore the manky bits ;).

There are also hundreds of custom C and C++ compilers available (including C++/CLR that outputs to .NET IL like C#) making it very unlikely to lock you into a specific language or platform.

As for really locked down platforms (and I predict future platforms will be like this), Emscripten will likely be able to run your SDL / C++ game at about 70% speed. You can do this by using whatever crap they force you to write in to develop a very minimal http server (~20 lines of code) and open up the platforms web browser pointing to "localhost". Its a bit hacky but it gets your game out there :)

Avoid visual studio?

I've always heard this opinion that visual studio should be avoided (since its owned by Microsoft!), and I get confused.

I currently have Visual Studio 2015 Community Edition and its great, the debugging tools are also helpful. I feel that if I develop with something like Code::Blocks, I'll miss a lot of features.

Do I have the option of developing and debugging with Visual Studio but using something like CMake (Never tried it but heard about it) for releasing it? So that I can port it to other platforms with the extra work of configuring the build system.

Or is there something still wrong in this?

BTW, what does standard platform mean?

And can I port to Mac using visual studio?

Avoid visual studio?

I've always heard this opinion that visual studio should be avoided (since its owned by Microsoft!), and I get confused.

I currently have Visual Studio 2015 Community Edition and its great, the debugging tools are also helpful. I feel that if I develop with something like Code::Blocks, I'll miss a lot of features.

I don't think you neccessarily need to avoid Visual Studio just that you need to be able to code without becoming dependant on it. I spent most of my time C++ coding in Visual Studio but then it was a massive shock when I got a job at a big game studio where it was policy not to use it (the whole company used Vim and command line). Also in my current company the C++ programming test involves debugging using valgrind from a Linux terminal.

Yeah so don't avoid using it just be prepared for when you can't use it.

Avoid visual studio?
...
something like Code::Blocks, I'll miss a lot of features.


Yes, as Buster2000 said, it is just to keep you remaining agile. And at this point, I really would suggest avoiding it completely until you have tried the other tools. Mainly because already you have developed the opinion that Code::Blocks will make you miss out on features which is completely wrong and you haven't even tried it yet! ;). Codeblocks has an integrated debugger like Visual Studio (gdb which is likely what you will be using for all other platforms anyway). But don't just rely on code::blocks either, try out Netbeans, QtCreator, Eclipse etc... Basically any IDE that works across multiple platforms.

And can I port to Mac using visual studio?

Code::Blocks also works on Mac OS X so this is just one of the many tools you should give a try instead of Visual Studio. I won't lie, the fact that Code::Blocks does support more platforms does make it about 10% more fiddly to get started with (i.e, you need to tell it which compiler to use). However it is so worth it.

using something like CMake (Never tried it but heard about it)


Yes, CMake is very good, it basically generates project files for loads of different IDE's and build systems, including make, eclipse, visual studio, code::blocks etc.

BTW, what does standard platform mean?


It basically means a platform with no special development requirements. I.e You don't need to cross compile or activate developer licenses etc... Also the platforms that SDL was originally written for.

since its owned by Microsoft!

And yeah, Microsoft *is* evil, but thats not the point haha. So is Intel, Apple, Oracle and just about any large software corporation that rules over us plebs ;)
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

I hate to rain on the anti-Microsoft parade, but all this advice to avoid Microsoft or vendor lock-in is tangential at best, and at the least seems outdated. But to start from fair ground, I'll throw out the disclaimer that I'm a writer (docs and such) on the Visual Studio team.

If you haven't been following along lately, Microsoft as a whole is really leaving the our-way-or-no-way mentality behind. To be frank, today's devs have more options that are good than was the case years ago, so there's a lot more mobility in dev tools, platforms, languages, etc -- they don't accept our-way-or-no-way anymore. Microsoft's continued success and relevance actually requires them to get with that program, and so they have. Today, Visual Studio is already a damn fine IDE for iOS, Android, Linux, and IoT development, in addition to the usual Microsoft platforms -- even just a couple years ago, Eclipse would have been basically the only "serious" IDE for those scenarios (and its still got inertia today). For example, you can do your programming using Visual Studio on Windows today, and the build/run/debug commands will talk to a Linux box where your code will be built (using your typical Linux development stack), launched, and hooked to GDB, and GDB in turn talks back to Visual Studio and looks just like a local debugging session of your Windows apps. And that's basically the same scenario for Linux-based IoT, Android, and iOS as I've described for Linux on the desktop and server; The android stuff can target a local emulator running atop Windows Virtualization, and is actually considered to be better than the stock emulators provided by other Android development environments, even if that sounds a bit unbelievable. Soon, you'll be able to run an entire Ubuntu Linux environment right inside Windows 10, so that developers will have all those familiar *nix tools right at hand.

Believe it or not, "old Microsoft" is basically dead and buried, especially in the server and developer tools division. They're pretty hellbent on making sure that Visual Studio is everyone's preferred IDE, regardless of what platform or scenario they're targeting -- and for those that like lighter-weight editors there's Visual Studio Code. Stuff is being open-sourced left-and-right, all our open-source development happens on GitHub, and a bunch of our docs and samples are already on github too.

By all means, people should find and use whatever tools and platforms they like; they should target whatever platforms they like, and as many as they like. Odds are, Microsoft and Visual Studio are relevant to where you are and where you're going, or will be soon. It's silly to dismiss them just because they're Microsoft. I use lots of tools every day in my work here that came from the *nix world -- Vim, Git, and Clang to name a few -- and they serve me well; partisanship between open/free and proprietary software isn't a very worthwhile thing IMO, unless you're talking about the very philosophy of it all.

throw table_exception("(? ???)? ? ???");

Well I have been very careful not to put across the idea of avoiding Microsoft's stuff because Microsoft is evil but I would also never suggest locking yourself in with *any* software vendor.

Soon, you'll be able to run an entire Ubuntu Linux environment right inside Windows 10


Well, you could do this with the Microsoft Interix subsystem too until Microsoft removed it. Any reason why they won't do the same with this subsystem once the Ubuntu hype has died down? I want my tools to last thus the reason why I often choose open-source software.

Believe it or not, "old Microsoft" is basically dead and buried


I think the worst thing is... Bring them back!!! I don't want 30 day developer licenses, I don't want store apps, I don't want forced windows updates, I don't want random data being sent to the internet, I don't want Visual Studio logins, I don't want locked down tablets, I don't want ... (oh god, I really could go on forever).

I like the new Windows terminal emulator though ;)

http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

I think we can say that the current Microsoft is a mixed bag really. They recovered somewhat from their biggest screw ups of the recent years *cough*windows8*cough*... but they still seem to be unwilling to accept that this episode was just 3 years thrown down the drain and roll back to windows 7, start with windows 10 from there.

Don't get me wrong, windows 10 is okay... just not the big hit again that was windows 7. My work PC at home most probably will stay on Windows 7 until I really NEED DX12, there is no other reason for me to upgrade.

Then there is the "free" upgrade to windows 10. Its free, but you don't get a full license. I happened to be sitting on a PC with an unlicensed version of windows 10 because I had to exchange my mainboard after upgrading. Lo and behold, the license is locked to the hardware. Microsoft Support told me 2 options: either get a full windows 10 key (which means buy another copy of windows 10) if I do not want to reinstall, or first reinstall my windows 7, then upgrade again to windows 10 to get another windows 10 key.

Well sh*t... that means if you have an upgraded PC and anything happens to your hardware (which most of the time means dead mainboard), and the deadline for the free upgrade is over, you will need to either go back to Windows 7, live with an unlicensed windows 10, or go and buy another copy.

What happens when your OS is acting up and needs to be reinstalled is anyones guess.

So while giving out windows for free is nice to test the waters, I will certainly buy a full copy of windows 10 for my PCs at home and not bother with the upgrade. Having to reinstall two OS' everytime a machine needs to be reset is jsut additional work, and that new layer of uncertainity is also not appreciated. If I will have to get a new copy of Windows 10 anyway somewhere down the line (unless my PC chucks along without a problem, and without upgrades to the CPU), I might as well buy it now.

Then we have the fact everything is now connected to your windows ID... no, I don't want that. Opting out is actually quite involved. I have 2 Windows 10 PCs now setup with my Windows ID... I probably could go and change the user. But given that this happened twice to me means that its non-obvious how to setup a local user not connected to the Windows ID.

On the positive side, the MS Hardware is the shizzle. I really love my M3 equipped Surface 4. While Outlook for Android is kind of broken, Office 365 works like a charm for me (altough I do not use it that often)....

I really cannot complain too much about MS lately. Windows 7 was great, Windows 10 is okay, the MS Hardware is sweet, most office products I used that were not gimped by some company customization were great to use. All the while prices for end users at least are okay-ish, compared to Apple products.

If only MS would have moved their ass with DX BEFORE AMD kinda showed the way....

I think this discussion of the pros and cons of various Microsoft products, services and strategic decisions is veering a little too far off-topic at this point.

This topic is closed to new replies.

Advertisement