Grid Sage Forums

Grid Sage Forums

  • March 28, 2024, 12:03:36 PM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

LINKS: Website | Steam | Wiki

Author Topic: Client server setup  (Read 1695 times)

Senjai

  • Unaware
  • *
  • Supported Cogmind Alpha Access 2015-2017 (Prime Tier)
  • Posts: 11
    • View Profile
Client server setup
« on: February 22, 2017, 01:56:28 AM »

Crawl, nethack and even cdda benefit from the fact you can play online with a community.

It would possibly be infeasible (not terminal native), but really awesome if we had some sort of client server relationship become possible. Even if you need a cogmind client running to watch someone else play, the data can just go through an intermediary. Server high scores and the like could be really awesome here.
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4266
    • View Profile
    • Cogmind
Re: Client server setup
« Reply #1 on: February 22, 2017, 02:12:25 AM »

Yeah I'd like to improves Cogmind's global high score system such that it's automated (its feature set continue to grow, but it's not automated), but something on par with DCSS, e.g. spectating or recording plays, is not possible due to Cogmind's architecture.
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

Senjai

  • Unaware
  • *
  • Supported Cogmind Alpha Access 2015-2017 (Prime Tier)
  • Posts: 11
    • View Profile
Re: Client server setup
« Reply #2 on: February 23, 2017, 04:30:45 PM »

Ah okay, worth a shot! :D Automated high scores would be pretty awesome. If you had to do it over again, would you change the architecture to be more malleable?
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4266
    • View Profile
    • Cogmind
Re: Client server setup
« Reply #3 on: February 23, 2017, 06:39:04 PM »

Well, I'm not 100% confident I'm even capable of making it work if starting from scratch, but I could certainly try :)

That's the thing with huge projects, though--you can't be sure of everything you might want to do with it in the future, and there will always be some feature that's tough to edge in based on decisions made ages ago and baked into the system :P
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

zxc

  • Cogmind
  • *****
  • 1st place in the Best Escapes category during Alpha Challenge 2015 1st place in the High Scores category during Alpha Challenge 2015 Shared a Confirmed Combat Win Shared a Confirmed Stealth Win Kyzrati Patron Bug Hunter Achievement leader in at least one category during Alpha Challenge 2015 Participated in the Alpha Challenge 2015 Wiki Contributor Weekly Seed Participant
  • Posts: 726
    • View Profile
Re: Client server setup
« Reply #4 on: February 26, 2017, 06:31:17 AM »

Save it for Cogmind 2 :)
Logged

C45513

  • Unaware
  • *
  • Weekly Seed Participant
  • Posts: 10
    • View Profile
Re: Client server setup
« Reply #5 on: March 16, 2017, 10:52:41 AM »

About replays: would it be possible via rebuilding the world seed and playing back the same sequence of player turns? It would certainly help my own gameplay to be able to watch some of the more accomplished players' runs!
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4266
    • View Profile
    • Cogmind
Re: Client server setup
« Reply #6 on: March 16, 2017, 07:30:18 PM »

That's what I tried before with the engine (a long time ago). While it's easy to seed a game and play the same world again, as we do with our weekly seeds, when it comes to actually carrying out an entire game it requires that every source of randomness also be recreatable, but that means separating out all the logic from display and other features that don't impact outcomes, as far as random number generation is concerned (the implication being it's not so easy to do that with a large preexisting code base xD).

It's something I'd still like to experiment with, but there are many such things and time is limited :/. That and I don't think it would be a very good system, because ideally you would also want to be able to pause (not too hard) and rewind/fast forward (a nightmare and probably impossible with Cogmind the way it's coded).

If you want to watch runs there's also YouTube and Twitch. I'm back to regular streaming, and others do occasional streams as well:
https://www.twitch.tv/kyzrati/
https://www.twitch.tv/gammafunk/
https://www.twitch.tv/shobalk/
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

C45513

  • Unaware
  • *
  • Weekly Seed Participant
  • Posts: 10
    • View Profile
Re: Client server setup
« Reply #7 on: March 17, 2017, 02:03:13 AM »

Alright, I'm following everyone on twitch now. That's too bad about replays, but I understand. I was wondering about the RNG and whether hacks and hit/miss calcs were done ad hoc or based on the seed. What if the random outcome of each event was logged in addition to the player's moves? Would that present a similarly insurmountable problem?
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4266
    • View Profile
    • Cogmind
Re: Client server setup
« Reply #8 on: March 17, 2017, 04:42:55 AM »

That would actually be an even bigger problem, yes :P
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon