Page 1 of 1

Possibility of BZFlag on a console

Posted: Thu Jul 12, 2018 6:57 am
by WorldOfTanks23
Moderator Note: Split this topic from BZFlag inspired game under development

What I find exciting is that this project has the prospect of a producing a BZFlag-type game console version (PS4, XBox One). The XBox One version should be pretty easy to make actually, by way of UWP.

Re: Possibility of BZFlag on a console

Posted: Thu Jul 12, 2018 10:22 am
by blast
I don't understand why people think an open-source project can just make a console port of the game. ... x-one-game
The total cost of launching the title on Xbox One was around $5143 (just over £3k), with the amount broken down as follows
For PS4, it sounds like the dev kit alone costs $2500.

Re: Possibility of BZFlag on a console

Posted: Thu Jul 12, 2018 11:09 am
by WorldOfTanks23
Who says it has to be free? You can charge a token amount (%1) to cover the costs. Since there are bound to be thousands of players on the console version, the cost of producing could be low.

You can also collect funds using Kickstarter or some similar crowdfunding site.

If BZFlag is to survive, it should move to the consoles as a digital download. Alternatively, someone could develop a BZFlag 'clone' which looks and works the same but under a different name.

Re: Possibility of BZFlag on a console

Posted: Thu Jul 12, 2018 3:24 pm
by JeffM
Ok, so let’s say we do what is suggested and start the process of making a PS4 version of BZFlag.
We have a Kickstarter and somehow we meet our goal.

Getting a PS4 dev kit is not as simple as walking down to a GameStop, slapping down your beryllium level AmEx card and saying “I’d like one developer kit for the PlayStation four my good man, and no I did not pre-order”. PS4 dev kits are only sold (leased) to licensed PlayStation developers. To be a license PlayStation developer you must be approved by Sony. They don’t just let anyone make games for their console, there is an entire vetting process.

This process evaluates the proposed game design(s), the development company, and the publishing company on the quality of the game and what it’s going to do for the platform. It also requires the company to agree to all the proprietary Non-Disclosure Agreements and license terms (no open source, no giving out proprietary codes, no cross play, etc…). We also don’t actually own the copyright to BZFlag (Tim does) so we’d have to rename it, thus losing all “brand” recognition.

So, if we want to make a PS4 version, that’s what we have to do. We form a company, I quit my job to run it, and we hire 3-5 developers, an artist, and a marketing department. Maybe a few more people because we clearly don’t have a publisher so we have to tell Sony we are self-publishing.
We do all that, somehow convince Sony that we can do this, and they approve us. Now after all the money we’ve spent so far to get this point, we go and give them 2500$ for each dev kit, and spend 9 to 18 months completely rewriting BZFlag from the ground up.

We can’t use the existing codebase, the PS4 does not use any of the APIs or technologies that BZFlag uses. We have to write an entirely new graphics system, sound, UI that uses a controller, all new networking (Or we buy a third party engine that does most of it). Also since Sony doesn’t support cross play with PCs, we can’t use PCs for the server, so we now have to build our own server infrastructure to host all these games.

So we do all that, we have the game, Sony finishes all its quality assurance and finally tells us we now have the honor of selling it on the PS4 marketplace, and oh by the way they get 30% of our money). Our marketing team goes to work promoting it and we all hope sales will be wonderful.
So finally BZFlag is on the PS4 store. I’m now a professional game developer who’s working 12 hour days trying to find new funding, because we’ve used up the 1.2 million dollars from the Kickstarter (or I’m looking for a new job because I got bills to pay). All I’ve got to show for it is a closed source codebase that only works on the PS4, and a game that probably won’t sell because it plays like a LAN game from 1994…. And if sales slump, the company folds and BZFlag on the PS4 is dead….

All this while, the actual BZFlag project hasn’t had any new development (Because I hired everyone to work on the PS4 port)…

The switch looks to have a similar development process to the PS4, so that’s going to have the same problem, and it means another totally separate codebase, or buying a third party engine that supports both.

If we look at the Xbox it’s a little better, since they have the Universal Windows Platform that lets you have one code base that works on windows 10 and X-Box and actually has an “indie” developer platform with a much lower barrier to entry. We'd still have to totally rewrite the game in C# and that codebase would be locked into the windows platform. Microsoft does allow cross play so I could at least let the UWP version talk to OSX and Linux versions, but now we are still stuck developing and maintaining 2 codebases for that, much more work.

But I'm sure you have a solution that I haven't through of.

“But what about homebrew Mr. JeffM who seems to know everything... Surely that will save BZFlag! Hack the planet!”

Home brew systems all involve hacking up a console to make it run unauthorized software.

Firstly, your average person isn’t going to want to hack a console to play a game.

Secondly, the act of hacking that console is a violation of the software copyright and license terms that the player has with the console owner. The only reason BZFlag is free, open source, and still developed is because it relies on the validity of software copyright. We expect players to respect the open source licenses and the copyrights of BZFlag’s owner (Tim). If we actively pursue a version of the game that requires users to violate someone else’s copyright, then we can’t stand by our own protections. So that is not a route the project itself can go, ever. Being open source is the core of what keeps the project developers together.

So in the end, to do a console port means
1) No more open source.
2) For the developers BZFlag goes from stuff you do in your spare time, to a job you have to work at.
3) The formation and maintenance of a corporate entity that currently does not exist
4) A TON of money, and money management
5) A painful death for the project, the console port, and driving the developers to never want to write a game again.

All that, and no real final benefit, because the BZFlag game in its current format can’t compete with modern games. The entire gameplay system would have to be re-evaluated and redesigned before even attempting a console version, and we can do that design work on the actual open source code base.

So yeah, someone else could make a game like BZFlag on a console. I’d love to see someone do it, but they will have to spend the money and take the risk. The current project staff is not equipped to, nor wants to, do all that work for dubious benefit.

Re: Possibility of BZFlag on a console

Posted: Thu Jul 12, 2018 8:43 pm
by WorldOfTanks23
The XBox One version is a lot easier and cheaper then since you simply need to target UWP.

But I'm sure the BZFlag foundation could acquire a PS4 DevKit as an Indie Developer. Why do you need to rewrite it from scratch? No matter what graphics backend they use, if the codebase is properly archtectured you should be able to drop in a new graphics backend (be it DirectX, OpenGL or Vulkan).

And PS4 supports both keyboard and mouse (as does the XBox One) so there's no need to rewrite the UI part.

Doesn't PS4 support OpenGL?

Re: Possibility of BZFlag on a console

Posted: Thu Jul 12, 2018 9:52 pm
by JeffM
"BZFlag foundation" There is no such thing. BZFlag is owned by an individual and maintained by a group of volunteers. There is no formal organisation or company.

"PS4 DevKit as an Indie Developer." Sony does not have an indie developer program, as I stated the development cost is much higher than a dev kit...

"if the codebase is properly archtectured", it is not, it is a mess. Most of the code is the same as it was in the early 2000's.

"drop in a new graphics backend (be it DirectX, OpenGL or Vulkan)." Bzflag uses openGL 1.1 from 1996, and it is spread all over the codebase, there is no "drop in". Even the tank model is hardcoded in the game.

"And PS4 supports both keyboard and mouse (as does the XBox One) so there's no need to rewrite the UI part." All games on those platforms must support controller input to be accepted to the platforms' store. Consoles are not android, you can't just upload anything. All console games are checked by the console manufacturer.

"Doesn't PS4 support OpenGL?" No, the PS4 uses a proprietary graphics API that nobody else uses, GNM, and GNMX.

Consoles are not just computers, they are specific devices that need very low level coding.

Re: Possibility of BZFlag on a console

Posted: Mon Jul 16, 2018 3:46 pm
by WorldOfTanks23
It should be relatively easy to get it to work on the XBox One ... e-app-uwp/

PS4 is probably a lot more work.

Re: Possibility of BZFlag on a console

Posted: Mon Jul 16, 2018 8:44 pm
by JeffM
The openGL UWP wrapper only works on desktop, not xbox. (Also that's for OpenGL ES, something bzflag does not use).
It's mostly used to get legacy apps into the windows store, not crossplay on the xbox.

XBox needs all graphics to be Direct3D. Like sony MS only supports their graphics API on their hardware.

The end result would be a complete rewrite of BZFlag.

You are not the first (nor will be last) uniformed person to suggest a console port.
We've researched it, we've pondered it. Hell I've even been PART of one for another tank game, it's just not something this project is going to do, it's not practical with the resources/money/license options available.

I'm not against a complete rewrite of BZFlag, but it needs to happen for the right reasons, and on the desktop first where there are current developers.

Re: Possibility of BZFlag on a console

Posted: Thu Jul 26, 2018 5:22 am
by Sky King
And it's worth noting... Most of us remember the golden days 10-12 years ago when at any given month there were probably a couple of thousand players who played at least at some point over a given month. Fast forward to 2018... As I type this post, there are exactly 6 people playing BZ. Out of 7.5 billion people on this planet, there is less than one person per BILLION playing BZflag tonight. And there's rarely more than 20 at any given hour.

Porting a popular game with an installed base of 500,000 active desktop players is fundamentally different economics than porting a game with a devoted player base of about 100 active players.