Skip to main content
GameDev.net gamedev.net
🔒 Locked

GameSparks >> Port away?

Started by i42-Xblade Jul 20, 2019 at 9:30 AM 3 replies 5.7k views
Original Post
i42-Xblade
i42-Xblade

I currently have GameSparks. Welp, if anyone has been reading the news, they may not be here in a few years:

Is anyone porting away? If so, what have you found, even if it's a custom solution or based on open source? I'm so spoiled with NoSQL that I'm never going back -- and I want my next BaaS to be portable, even if it means rolling my own.

hplus0603
hplus0603

NoSQL is great as long as you know all the query patterns and data validity constraints up front. Schema migration, foreign keys, and data validation generally turn out to be a lot harder in NoSQL solutions than traditional SQL, so it entirely depends on your use case.

The platform that will stay the most constant is "separate services using software frameworks that are popular and/or you control" talking to "back-end services that uses popular technologies."

Spring + Hibernate + MySQL isn't going to go away anytime soon. Redis, Postgres, and Mongodb also seem to be around for a long time (although Mongodb has serious operational challenges! You can't even take a consistent backup easily.) Host on AWS if you want stability. Azure and Google Cloud have less of the market, and Google has been known to just give up on products and shut them down at times, but they seem really tenacious about their Cloud server / hosted-kubernetes type options, so that's probably safe.

Google has BigTable, Spanner, or Firestore and Amazon has DynamoDB or Neptune if you want a hosted, NoSQL database that scales very large.

An alternative is to use something like Google Firebase, or Amazon AppSync, which is more of a "ready back-end" -- as long as you don't need millisecond-latency simulation.

enum Bool { True, False, FileNotFound };
i42-Xblade
i42-Xblade

Although I can definitely see the argument against it, in my case, I'd require it:

It'd have to be nosql due to porting an existing, live game -- everything is nosql based, so changing it would pretty much be like making a new game. I also have a ton of back-end snippets setup that utilize nosql, so even a new game I'd like to keep my old stuff. Plus, I know it pretty well now :) I'm also a solo dev, so porting minimally is preferred.

NoSQL is pretty rockin once you get the gist of it~

hplus0603
hplus0603


NoSQL is pretty rockin once you get the gist of it


... until you run into the cliff wall, and realize that the hyper optimized SQL databases are that way for a reason ?

(Been there, ran into that wall, have the marks on my forehead to show for it!)

Anyway, if you want some kind of NoSQL, Firestore or DynamoDB should work fine.

Or just


CREATE TABLE nosql(
  expiry TIMESTAMP,
  key VARCHAR(255) PRIMARY KEY,
  value JSONB
);
CREATE INDEX toexpire ON nosql(expiry);


enum Bool { True, False, FileNotFound };

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.