software   964356

« earlier    

fivesigma's comments | Hacker News
Just plain ol' Websockets. But with a twist.
I use 2 WS connections mirroring some packets on both, to deal with head-of-line blocking.

I interleave information that becomes redundant (like the position of players, I can handle losing every other packet for a while, interpolating/predicting missing info) but send important data in all channels (like when a rocket is fired, it's just one event that must be seen).
Again, I'm not OP but I did similar things and explained what probably happens with this game.

What DiThi said (read his excellent post)
There's also another important detail. Due to delayed ACKs on Windows and battery-preserving TCP stacks on most mobile devices/laptops, some of your packets will be delayed. Even with TCP_NODELAY. Desktop OSX/Linux do not display this behavior.
The only solution I have found, and it's a rather crude one, is to blast the server every 50ms with a 1-byte packet. It is ugly but it works well.
architecture  tcp  software  game  realtime  websockets  design 
11 hours ago by sherbondy
MagerValp/AutoDMG: Create deployable system images from OS X installer
The award winning AutoDMG takes a macOS installer (10.10 or newer) and builds a system image suitable for deployment with Imagr, DeployStudio, LANrev, Jamf Pro, and other asr-based imaging tools.
apple  osx  software  deployment  jamf  dmg 
13 hours ago by mbraly

« earlier    

related tags

433mhz  9950f  activities  advice  agile  animation  app  appdesign  apple  application  applications  apps  architecture  ardour  art  articles  audio-software  audio  awesome  best-practices  big.bugs  blog  bookmark  browser  browsers  build  business  c++  c/c++  canon  client  cloud  cloudservices  cncf  code  coding  collaboration  collection  community.development  community  company  compatability  competitor  computergames  computers  consulting  cooperative-computing  copyright  creation  critique  crm  cryptocurrency  cryptography  culture  curl  dat  data  database  daw  db  deployment  design  desktop  dev  developer  developer_tools  development  devops  dmg  documentation  download  dualmonitor  dvr  economics  editor  education  encryption  engineering  entrepreneurs  entrepreneurship  eslint  ethics  event  eventmanagement  events  extension  felony  floating-point-numbers  font  for-adafruit  foss  fourier  framework  game  gameart  gamedesign  gamedev  gamedevelopment  gamemaker  gamemusic  games  gamesound  gaming  google  gpu  graphics  graphs  hardware  high-performance-computing  history  home_automation  home_theatre  homestudio  hosting  howto  hp  hpcc  humour  ide  image-processing  indiegames  industry  infringement  intellectual  internet  ios  jamf  japan  java  javascript  keylogger  landscape  laptops  learning  legal  library  licensing  lifesciences  linear-algebra  lingotax  linux  list  lumio  mac  macos  macosx  macroservices  maintenance  management  manager  marketplace  math  mathematics  media  mentoring  messaging  microservices  midi  mining  ml  music-software  music  mysql  next  notebook  notes  number-theory  numeric-software  numerical-analysis  numerical-computation  numerical-computing  numerical-programming  numerical-software  office.suite  open-source  open  opensores  opensource  organization  os  osx  outsourcing  p2p  peter-norvig  pgp  philosophy  plugin  politics  popsql  postgresql  postico  postman  primes  privacy  programming  programminglanguages  property  protection  pvr  raindrop  realtime  reference  remote  repl  research  rest  restful  rss  ruby.tapas  russia  scanner  scanning  screencast  security  sequel  shared  softwaredevelopment  softwareengineering  source  sports  sql  sqlite  stack  stephen  tableplus  tcp  team  teamsql  tech  technical-debt  technical  technology  tensorflow  testing  theory  tips  tool  tools  tracing  tv  uk  usa  vector  video  videogames  videos  visualisation  vm  vpn  w4  weather  web-archive  webdesign  websites  websockets  wikimedia  wikipedia  windows  withholding  work  writing  zfs 

Copy this bookmark: