Sandscape Rebirth?

Anything related to dev. & that doesn't fit in below categories.
Post Reply
ngoeminne
Posts:324
Joined:Mon Feb 29, 2016 15:34
Sandscape Rebirth?

Post by ngoeminne » Fri Aug 19, 2016 13:27

Hi folks,

I'm a little in doubt and I'd like to know your thoughts on the subject: should we reboot the sandscape sub-project.

First of all, I've always made clear that I'd like to see an actual print ready game (rules, decks, cards), before we invest resources, time and our effort into creating software. Therefore I held back on people offering to create/write something (as it has been done countless times before, each failed to a certain degree).

However, the original sandscape/vice projects envisioned a browser based platform, and it still appeals. Currently there are several options to play custom card/boardgames:
- Cocatrice (https://cockatrice.github.io/ open source, java client/server)
- OCTNG (http://octgn.net/ open source, .net client/server)
- Vassal (http://www.vassalengine.org/ open source, java client/server)
- LackyCCG (http://www.lackeyccg.com/)
- untap.in (browser client/ php bakcend)

Only untap in allows you to browse and play (no plugins/modules needed), however it is closed source, and the card management is one way (you can add cards, but not delete). Internally it uses push messages from the server, so when it dies, your game dies with it. (in the end we have no control, hence I'd rather see an open source alternative)

The others are open source, but need custom dev and they are harder to set up.

Since I'm mainly a c# dev, I needed to catch op on the latest trends in browserworld.
I've been researching a little and learned today a lot of things are possible that weren't in 2010.

I believe a true peer-to-peer browser based version of our game is possible. That means that no server is involved after a game is brokered (bringing two players together).

From a technical perspective a pure html5/js solution would look like
- Application Code : js (+ any js framework Vue, Angular, JQuery)
- User Interface : html5 + CSS3
- Communication Layer : WebRTC peer-to-peer (e.g. PeerJS)
- Game broker: whatever (backend)
- Optional Card Image Caching : HTML5 localstorage

Functionally there are three major blocks:
- the game brokering
- the virtual tabletop with its user interactions
- the game synchronisation (e.g. the communication format and api)

In my experience, a software project never fails on technical issues, yet it does so because the people involved can not get organized. Small open source projects are even harder to set up, cause everyone is involved on an equal voluntary basis. Setting out guidelines, and setting apart your own vision is very hard to do.

So, should we, or should we not.

Kind regards,
Nico
Pistos
Posts:15
Joined:Thu Jun 23, 2016 13:04

Re: Sandscape Rebirth?

Post by Pistos » Sun Aug 21, 2016 14:35

You and I have had conversations in IRC already, but I'll share my thoughts here to catalyse discussion in the community.

I think a browser-based version is the way to go, because I think that's the way computing has gone in the last 15ish years. Standalone client software rarely exists for networked software where two or more people interact. If installable client software is provided, it is usually as an alternative alongside a browser-based option. The main reason for this trend, I believe, is that browsers are ubiquitous, so the need for installation is removed, a step which some less-technical people are either afraid to do, or don't know how.

On the point of going peer-to-peer, or removing or minimizing a server-side component: As I've said, I think a server component is not something worth avoiding. In my experience maintaining, running or using software projects, the vast majority of people are content to use a server which is run by someone else. The proportion of people who are able to get server software and install and maintain it, and choose to do so is quite small. Yet, for those who wish to do so, libre software makes this possible, so that the userbase is not beholden to the whims and choices of an elite few as is the case with closed-source software.

I've used untap.in a little, and I think what we should do is write a libre version of that. I myself have the wherewithal to write such a thing entirely from scratch on my own, but I'm happy to collaborate with others, or to just come on as "extra help" on a project which already has active developers.

As for making software at all right now: I think it's very important to begin software development as soon as possible, because that will drive popularity and adoption. People are going to be far more willing to try the game if they can do a little test drive in their browser, or even see some videos of game play (perhaps even in tutorial style), rather than meet the requirements of printing out two decks to play with, and finding someone in meatspace who would be willing to play.
Last edited by Pistos on Fri Aug 26, 2016 22:54, edited 1 time in total.
User avatar
snowdrop
developer
Posts:798
Joined:Mon Feb 01, 2010 15:25
Location:Sweden
Contact:

Re: Sandscape Rebirth?

Post by snowdrop » Fri Aug 26, 2016 07:42

I think a browser based version should indeed be possible with the tech of today - untap.in pretty much proves it is already. Question is if an already existing layer or engine should be used to get away with it instead of doing it from scratch - like Unity for example.

To appeal to the masses the simplicity of running things in your browser is hard to beat. That's in part proven by trivial browser games that have had thousands and millions of players - not because they are any good (they would never have had the same following oif they were downloadable exe:s) but because they were easily available combined with where they were marketed (fb).

Look at like this: For people that are already fans of the CCG genre and that want to play a CCG, they will do so regardless of what solution there is. They will, in most cases, actually download and install whatever is required. Be it an exe coded in C# or something else.

The appeal of browser based is to reach the rest. People new to the genre, those that in most cases wouldn't install and setup software to try something out. Now... here is the issue: Such people will on most cases, despite the game being in a browser, still not play the game. Why? Because learning the game is a steep project. The curve is high in 90% of all full featured CCG:s out there. This means that players that have zero patience and don't know how to play CCG:s are in reality not the target group even for the browser version.

This leaves me to conclude that the browser version if one of convenience and also a nice way to handle cross-plattform compatibility, mainly. Those are the two pros for it, as I see it. Rest not so much. Being cross-plattform is a huge plus. Keeping simple easy to "install" and easily available is also a huge benefit.

The only worry I have though is if a browser based version can be made to be as smooth while playing it as a c# version would, using it as installed local software. If it can't, then the browser solution is really just a sub-par one that shouldn't be the primary means to play it online.
Pistos
Posts:15
Joined:Thu Jun 23, 2016 13:04

Re: Sandscape Rebirth?

Post by Pistos » Sat Aug 27, 2016 04:07

snowdrop wrote:I think a browser based version should indeed be possible with the tech of today - untap.in pretty much proves it is already. Question is if an already existing layer or engine should be used to get away with it instead of doing it from scratch - like Unity for example.
There is no browser-based solution which is FLOSS, though, is there? That factor is important to me.
snowdrop wrote:Now... here is the issue: Such people will on most cases, despite the game being in a browser, still not play the game. Why? Because learning the game is a steep project. The curve is high in 90% of all full featured CCG:s out there. This means that players that have zero patience and don't know how to play CCG:s are in reality not the target group even for the browser version.
I'm not sure about that. There have been non-CCG games, I'm sure, which were complicated, but which still gained popularity. Sure, CCGs aren't ever going to have the same mass appeal as Minecraft or Angry Birds or Call of Duty. But I don't think the numbers will be that small. There are going to be some experienced gamers out there that will be willing to try the CCG genre, even if there is some learning curve.
snowdrop wrote:The only worry I have though is if a browser based version can be made to be as smooth while playing it as a c# version would, using it as installed local software. If it can't, then the browser solution is really just a sub-par one that shouldn't be the primary means to play it online.
I wouldn't stop anyone from making a standalone client, but I'd be surprised if modern-day browsers on modern-day computers wouldn't be able to smoothly run a table, card and dice simulator. It's not like we'd have to do 60 FPS real-time ray tracing or something, right?
Post Reply