Author Topic: New efforts!  (Read 7282682 times)

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: New efforts!
« Reply #17360 on: May 28, 2015, 04:04:41 AM »
Avamar is a decent, if ludicrously expensive product.

QFT. Except for some data domain integration issues, the main Avamar grid and software has worked great for us. But it's stupidly expensive to license, and their dumb licensing model (frontend bytes) actively discourages use of its most compelling feature -- back up everything and let global dedup avoid sending the crap like OS files over the network.

Azrael

  • Elite Boss
  • *****
  • Posts: 666
« Last Edit: May 28, 2015, 02:18:12 PM by Azrael »

Azrael

  • Elite Boss
  • *****
  • Posts: 666
Re: New efforts!
« Reply #17362 on: May 28, 2015, 02:31:42 PM »
http://games.mxdwn.com/news/ncsoft-to-open-classic-lineage-ii-server/

The last bit...about it possibly leading to the opening of other 'classic' servers...

Azrael.

Sihada

  • Minion
  • **
  • Posts: 39
Re: New efforts!
« Reply #17363 on: May 28, 2015, 03:16:17 PM »
The plot thickens.  Surely the ideal game for western expansion is City of Heroes..?  Ironic seeing I thought they they were consolidating with Coh's closure.

I think this is wishful thinking, at best.  It's been 8 months since the original "mask comes off" reveal and there's been no substantive news since.

I loved COH, but it's gone and it's not coming back.

Thunder Glove

  • Elite Boss
  • *****
  • Posts: 992
Re: New efforts!
« Reply #17364 on: May 28, 2015, 03:30:06 PM »
I'm sure it'll be back someday.  Aside from the (hopefully) still-ongoing negotiations and the successor projects, there are too darn many smart and creative people who want the game back too much for it not to come back in some form or another.

Meanwhile, I'll be playing Rocket Raccoon on Marvel Heroes, dreaming of the day I can once again make my own Beam Rifle/Devices/Munitions Mastery Blaster on CoH.

Angel Phoenix77

  • Elite Boss
  • *****
  • Posts: 1,136
  • I am Phoenix !!
Re: New efforts!
« Reply #17365 on: May 28, 2015, 04:24:12 PM »
I'm sure it'll be back someday.  Aside from the (hopefully) still-ongoing negotiations and the successor projects, there are too darn many smart and creative people who want the game back too much for it not to come back in some form or another.

Meanwhile, I'll be playing Rocket Raccoon on Marvel Heroes, dreaming of the day I can once again make my own Beam Rifle/Devices/Munitions Mastery Blaster on CoH.
I agree, this is why I will never think City of is gone, because once I think that then it will be gone forever. (This is just my reasoning for myself.)
One day the Phoenix will rise again.

Tubbius

  • Fun Title
  • Elite Boss
  • *****
  • Posts: 605
Re: New efforts!
« Reply #17366 on: May 28, 2015, 04:38:18 PM »
I'm trying to figure out what wave cycle the ups and downs of people's emotions use in this thread.  Sin, Cos, Tan?

That does it.  When the game goes back online, someone better make a Mind Control Empath named SOHCAHTOA.

LaughingAlex

  • Giggling like an
  • Elite Boss
  • *****
  • Posts: 2,019
Re: New efforts!
« Reply #17367 on: May 28, 2015, 04:41:58 PM »
Hehe, I wasn't going to make a mind/empath but I did have an empathy/dark defender in mind.  Though mind/empathy could work to.
Currently; Not doing any streaming, found myself with less time available recently.  Still playing starbound periodically, though I am thinking of trying other games.  Don't tell me to play mmohtg's though please :).  Getting back into participating in VO and the successors again to.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #17368 on: May 28, 2015, 06:23:48 PM »
http://games.mxdwn.com/news/ncsoft-to-open-classic-lineage-ii-server/

The last bit...about it possibly leading to the opening of other 'classic' servers...

... is almost certainly irrelevant to City of Heroes.  They aren't talking about reopening closed games.  They are talking about opening nostalgic servers for games that are still running.  Lineage II still exists and has more players than City of Heroes ever did.  Opening a "classic" Lineage II server is a form of marketing and brand enhancement for a currently operating title.  In a sense, its a form of expansion for Lineage II, albeit a highly unconventional one.  That unfortunately makes it extremely unlikely that in and of itself it alters the probability of NCSoft reopening City of Heroes in any direction.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #17369 on: May 28, 2015, 06:25:12 PM »
I'm trying to figure out what wave cycle the ups and downs of people's emotions use in this thread.  Sin, Cos, Tan?

Hyperbolic cosine.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #17370 on: May 28, 2015, 08:48:07 PM »
So, today's MMO topic is time.  Specifically, how do you make sure everything happens when you want it to happen.

My guess is that most programmers at some point write a game of some kind, and I suspect most of those are one of a few specifics - a variation of light cycles, the two cannons that shoot ballistic rounds at each other (aka Scorched Earth).  For me it was lunar lander, a riff on that game Radio Shack used to run on their TRS-80s, back when there was a TRS-80 and a Radio Shack.

Lunar lander is a pretty simple game.  Three controls: left, right, and engine (usually "A", "S" and the space bar).  Left and right rotated the lander clockwise or counter clockwise, and engine fired the engines in the direction the engine was facing at that time.  Its basically a physics problem: gravity is accelerating you downward, your inertia is moving you in whatever direction your current motion vector is pointing, and your engine is accelerating you away from the direction of thrust.  In pseudo-code, Lunar Lander looks like this:

While (LanderY > 0)
LanderX = LanderX + Xspeed
LanderY = LanderY + Yspeed
Yspeed = Yspeed - gravity
LanderDirection = LanderDirection + Rotation
If EngineOn Then Xspeed = Xspeed + sin(LanderDirection) * Thrust, Yspeed = Yspeed + cos(LanderDirection) * Thrust
Draw(Lander)

Once you figure out how to read the keyboard and draw on the screen, the rest is simple math.  I remember writing that program and running it for the very first time.  Guess what happened.  Yep: I crashed into the moon.  So fast that my finger hadn't lifted off the Return key after typing "Run".

The problem is that computers are kind of fast.  Even TRS-80s running BASIC are kinda fast.  My physics was fine, my math was fine, my basic algorithmic process was fine, but the problem was that the TRS-80 was capable of executing that loop over 500 times per second.  In about a quarter of a second it was all over.  I hadn't accounted for time.

Unless you're a C programmer under the age of 35, the way most of us first learned to deal with this problem is with the idle loop.  Basically, to slow down the computer, we give it a lot of nothing to do:

While (LanderY > 0)
LanderX = LanderX + Xspeed
LanderY = LanderY + Yspeed
Yspeed = Yspeed - gravity
LanderDirection = LanderDirection + Rotation
If EngineOn Then Xspeed = Xspeed + sin(LanderDirection) * Thrust, Yspeed = Yspeed + cos(LanderDirection) * Thrust
Draw(Lander)
do(1000 times): not much: repeat

We start sticking in loops in our code that just do nothing, but lots of times, and we adjust the amount of nothing until our program runs at the speed we want.  This works, but its problematic.  It causes the computer to spend a lot of time doing that nothing specifically to slow it down.  On an old computer that could only run one program at a time, this was no big deal but on modern computers that can multitask, you've just written a CPU hog that will slow things down unnecessarily.  Its also computer-specific: if you run this on a different computer, it will run at a different speed.  And sometimes, it doesn't work at all.  If you are under about 35 as I said and a C programmer, chances are that the only programs you ever wrote when you first learned to program were compiled with optimizing compilers.  Optimizing compilers can sometimes tell that you've written code that does nothing, and it will replace that code with nothing thinking it just helped you out by making your program run more efficiently.  Instead, it removes your attempt to deliberately slow your program down.

A better way is to exploit language functions that can deliberately slow down a program without forcing the computer to chase its tail.  Most languages have a sleep command.  You say "sleep(5)" and the program goes to sleep for five seconds, ceding control to other things that might use the processor power.  And it *always* sleeps for five seconds, no matter how fast your computer gets.  Of course, sleep itself has some issues, most notably sleep will do what you ask: it will sleep for a certain amount of time.  But that might not be what you want.  If you want your program to do something 10 times per second, you might think that adding a "sleep(0.1)" would do that: your program would sleep for one tenth of a second, then wake up.  Rinse, repeat, and that happens ten times per second.  But that assumes your actual program takes no time at all.  Suppose your actual program takes about 0.05 seconds to do its thing.  Then because it also sleeps for 0.1 seconds, it takes 0.15 seconds per loop.  That's only about 6 times per second, not ten.  And on different computers, and even at different times, those times could change.

Here's where we can start to get clever.  Suppose we want to run a loop once per minute.  We could do that by noting what time it is right now, and then waiting until the time was a whole minute time.  So lets say right now its 10:33:42 - 10:33 and 42 seconds.  If we then wait for 18 seconds, 18 seconds later it will be exactly 10:34.  We then run.  Then we check the time again.  Suppose its 10:34:12.  We wait 48 seconds, and then it will be 10:35.  Then we run again.  This means no matter how fast or slow we run, we always wait the right amount of time so that we only run once per minute.  With a little more math, we could run once per second, or ten times per second, or thirty times per second.

In python, I did something like this:

def clockAlign():
    miltick = (time.clock() * 1000 % 1000)
    nexttick = (int(miltick / 33.33) + 1.01) * 33.33 + 1
    print "sleep:",miltick,nexttick,nexttick-miltick
    time.sleep((nexttick - miltick)/1000)

And it works.  Before I put the wait function in, the game client was running at an incredible 270 thousand times per second (keep in mind its not doing much except processing keyboard events).  Now, it was running at about 30 times per second, with about a millisecond or so variability.

However, I'm still not happy.  That's a lot of math, and it doesn't account for certain things, like what happens if the game client takes *more* than a thirtieth of a second to process a loop.  Then it will skip a beat.  Now, in a sense that's what I want it to do: I don't want the game client to fall behind.  But the game client doesn't *detect* that it fell behind.  It just figures out when the next clock tick should be, based on what time it is now.  Plus, its a little inflexible about how it handles time.  I don't think its wrong, I think it needs help.  In particular, I think it needs to be connected to something that recognizes that different things happen on different schedules.

A game client needs to draw the screen, and quickly.  30 frames per second minimum, usually.  60 fps would be better.  But separate from that, there's other things that the game client might not need to do quite so often.  Ditto the game server, which has to be running the same kind of clock system so it can stay in sync with the client.  You might want certain things to happen 30 times per second, other things to happen 10 times per second, and other things maybe only once per second.  And that requires timers.  So that's what I'm going to be thinking about next: how to extend the clock to handle timers of different frequencies, and what to do when the clock strikes a particular time.  This is probably where threading comes in, a separate complicated topic of how to have a single program run two different tasks basically simultaneously.

In the meantime, its also kind of boring to have a client that reads a keyboard and a server that knows what the client is doing but does nothing itself.  I think I'm going to have to put some sort of placeholder something just to keep me from getting bored watching console debug screens.  Maybe a triangle on a sphere.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #17371 on: May 28, 2015, 08:54:35 PM »
Speaking of which, was there a reason why caves on hero side was purple/bluish inside? I always wondered about that.

It just occurred to me that the blue glow could be due to the fact that the rocks are permeated from below with a magical field that slows the propagation speed of light, and from above by radiation from all the technological disasters in Paragon City.  This would cause them to glow with Cherenkov radiation.

GamingGlen

  • Boss
  • ****
  • Posts: 223
Re: New efforts!
« Reply #17372 on: May 28, 2015, 09:48:01 PM »


My guess is that most programmers at some point write a game of some kind...

Mine was Battleship, in Fortran.  Back in 1975, I took the first computer class of my high school in a small Iowa town.  We had to pencil fill the spots on cards that got sent to the University of Iowa, so to compensate for the long wait times I programmed the game to accept 5 shots from me and then take 5 shots for each "turn".  That class decided my career choice as before that I had no idea what career I wanted to pursue.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #17373 on: May 28, 2015, 09:55:33 PM »
Mine was Battleship, in Fortran.  Back in 1975, I took the first computer class of my high school in a small Iowa town.  We had to pencil fill the spots on cards that got sent to the University of Iowa, so to compensate for the long wait times I programmed the game to accept 5 shots from me and then take 5 shots for each "turn".

Are you winning?

Zubenelgenubi

  • Minion
  • **
  • Posts: 23
Re: New efforts!
« Reply #17374 on: May 28, 2015, 10:39:50 PM »
It just occurred to me that the blue glow could be due to the fact that the rocks are permeated from below with a magical field that slows the propagation speed of light, and from above by radiation from all the technological disasters in Paragon City.  This would cause them to glow with Cherenkov radiation.

That would explain all the mutants...   :roll:
--
PROFESSIONAL Astro-Nerd, thankyouverymuchforasking. Livin' in the Wild, Wild West!

"Ewww... Smells like Science in here!" - My Daughter (age 9)

LaughingAlex

  • Giggling like an
  • Elite Boss
  • *****
  • Posts: 2,019
Re: New efforts!
« Reply #17375 on: May 28, 2015, 11:03:53 PM »
Could explain some of the really bad PTSD some characters had to, even if it was unrealistic in a lot of cases.
Currently; Not doing any streaming, found myself with less time available recently.  Still playing starbound periodically, though I am thinking of trying other games.  Don't tell me to play mmohtg's though please :).  Getting back into participating in VO and the successors again to.

Eskreema

  • Lieutenant
  • ***
  • Posts: 85
Re: New efforts!
« Reply #17376 on: May 29, 2015, 12:08:14 AM »
It just occurred to me that the blue glow could be due to the fact that the rocks are permeated from below with a magical field that slows the propagation speed of light, and from above by radiation from all the technological disasters in Paragon City.  This would cause them to glow with Cherenkov radiation.
BLUE!? My /sr thought it was a balmy purple (well, when accelerated toward an emitting object anyway).   Unruh radiation FTW!
« Last Edit: May 29, 2015, 12:25:07 AM by Eskreema »
Global: Iron Smoke.  Boards: Kractis Sky. Server:  Champion.  Main:  Eskreema

I don't always get sucked into a jet engine and live to talk about it, but when I do I use the new ICD-10 V97.33XD code.  Because things like that need to be trended by your insurance company and your money!

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #17377 on: May 29, 2015, 01:22:05 AM »
BLUE!? My /sr thought it was a balmy purple

It might have been white and gold.

LaughingAlex

  • Giggling like an
  • Elite Boss
  • *****
  • Posts: 2,019
Re: New efforts!
« Reply #17378 on: May 29, 2015, 03:55:47 AM »
Had to add two trolls to the ignore on CO today.  Oh it'll be a sad day when that game shuts down cause of assholes who cannot accept that the games unpopularity exists for a reason.  Oh well, CoH has a chance of coming back.  I can't wait for that game to come back, just, to the people in negotiations and all that, I do hope your able to do so before CO finally collapses on itself.
Currently; Not doing any streaming, found myself with less time available recently.  Still playing starbound periodically, though I am thinking of trying other games.  Don't tell me to play mmohtg's though please :).  Getting back into participating in VO and the successors again to.

Wyrm

  • Stop Dragon My Heart Around
  • Boss
  • ****
  • Posts: 138
Re: New efforts!
« Reply #17379 on: May 29, 2015, 04:24:39 AM »
Had to add two trolls to the ignore on CO today.  Oh it'll be a sad day when that game shuts down cause of assholes who cannot accept that the games unpopularity exists for a reason.  Oh well, CoH has a chance of coming back.  I can't wait for that game to come back, just, to the people in negotiations and all that, I do hope your able to do so before CO finally collapses on itself.
I dunno.  I've only played CO a little, and ignored chat, but if it's as bad as you're saying... it seems like if CoH came back, then CO died, some of the element you dislike might naturally head for CoH? 

I don't care when it happens (within reason).  I just want CoH back.  I had my first shutdown/re-opening dream in a while last night.  It wasn't even a full re-opening.  The devs were turning the servers on for a limited time.

In a theme park, so some of the zones were live-action.

With Eliza Dushku.

And maybe Summer Glau.

...

Yup.  I dream in Geek.