Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Screeps  (Read 2685 times)

ductape

  • Bay Watcher
  • MAD BOMBER
    • View Profile
    • Alchemy WebDev
Screeps
« on: November 18, 2016, 02:42:16 am »

just released on Steam, it's basically an RTS MMO where you spawn "creeps" and use them to harvest resources, control areas and battle other players. The twist is that you can only control the game through JavaScript.

www.screeps.com

Tutorial is cool. I'm not really a programmer but this seems pretty fun and a cool way to learn how to program AI. I just wish the tutorial snippets were available outside the pop up windows so I could type them myself and not copy paste them in.
Logged
I got nothing

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: Screeps
« Reply #1 on: November 18, 2016, 04:51:52 am »

I tried to thrum up some interest but the last thread, Bay12 seemed to strongly disagree with the payment options and the game concept as a whole.  I personally really enjoy it though...

Hanzoku

  • Bay Watcher
    • View Profile
Re: Screeps
« Reply #2 on: November 18, 2016, 08:19:18 am »

Oh yeah, mostly because it's pay to win. Can't pay out for more CPU time, then no matter how efficiently you code your creeps, you'll be zerged under by someone who's willing to shell out to win.

It is a cool idea, no arguing there.
Logged

ductape

  • Bay Watcher
  • MAD BOMBER
    • View Profile
    • Alchemy WebDev
Re: Screeps
« Reply #3 on: November 18, 2016, 12:13:40 pm »

There are private servers t solve that issue, the game is open source I do believe.
Logged
I got nothing

Finndibaenn

  • Bay Watcher
    • View Profile
Re: Screeps
« Reply #4 on: November 18, 2016, 02:57:12 pm »

I enjoy it a lot.
and I wouldn't say it's pay to win, it's rather a free demo that doesn't have a time/content limit.

But it's clear from the beginning that the "free" content is limiting you in the potential you can reach.
which doesn't prevent you from trying/enjoying all the game content
Logged

Uristides

  • Bay Watcher
    • View Profile
Re: Screeps
« Reply #5 on: November 18, 2016, 06:51:07 pm »

Oh yeah, mostly because it's pay to win. Can't pay out for more CPU time, then no matter how efficiently you code your creeps, you'll be zerged under by someone who's willing to shell out to win.
So, why would anyone play it then instead of programming their own real time stock trading bot and losing real money like a real man?
Logged

Finndibaenn

  • Bay Watcher
    • View Profile
Re: Screeps
« Reply #6 on: November 18, 2016, 07:34:37 pm »

Oh yeah, mostly because it's pay to win. Can't pay out for more CPU time, then no matter how efficiently you code your creeps, you'll be zerged under by someone who's willing to shell out to win.

It is a cool idea, no arguing there.

i didn't read this with enough attention previously ...
If that ever existed (i don't know i started playing on June) it's not like this anymore.

Current economic model is 2 fold
1/ if you buy the game on steam, you have accces _for life_ to a limited quantity of cpu (10 cpu).
2/ if you decide to pay the per-month fee , you then have full access (cpu based on level).

As far as I know there's no way to get more cpu than that
Logged

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: Screeps
« Reply #7 on: November 18, 2016, 07:49:11 pm »

It used to be 'buy 3,000 CPU, and as the game progresses you spend it per-turn' so if you spent more you could support more, simply by having a higher/no limit.  This encourages you to code smart, but people just took it as 'if I pay I win'.

Aklyon

  • Bay Watcher
  • Fate~
    • View Profile
Re: Screeps
« Reply #8 on: November 18, 2016, 08:00:31 pm »

Current economic model is 2 fold
1/ if you buy the game on steam, you have accces _for life_ to a limited quantity of cpu (10 cpu).
2/ if you decide to pay the per-month fee , you then have full access (cpu based on level).

As far as I know there's no way to get more cpu than that
This sounds like they really want to make a sub-based mmo but know it'd fail or end up going f2p if they did.
Logged
Crystalline (SG)
Sigtext
Quote from: RedKing
It's known as the Oppai-Kaiju effect. The islands of Japan generate a sort anti-gravity field, which allows breasts to behave as if in microgravity. It's also what allows Godzilla and friends to become 50 stories tall, and lets ninjas run up the side of a skyscraper.

Finndibaenn

  • Bay Watcher
    • View Profile
Re: Screeps
« Reply #9 on: November 19, 2016, 12:41:19 pm »

like with most MMOs (didn't buy any since a while though) you have a free month with your initial purchase.
then you can either continue with the 10cpu or buy the sub
Logged

alway

  • Bay Watcher
  • 🏳️‍⚧️
    • View Profile
Re: Screeps
« Reply #10 on: November 20, 2016, 01:46:36 am »

Picked this up, and some thoughts regarding the "CPU Limit" thing. First of all, units are important. 10 unitless numbers is meaningless, so let's get that straight right off the bat.
http://support.screeps.com/hc/en-us/articles/204332302-How-does-CPU-limit-work
So, 10 "Units" per tick means 10ms runtime per tick. Which is... generally more than a fully fledged game AI for any strategy game gets. Regardless of CPU, anything modern should get a heck of a lot done in 10ms. So the next important bit is: where does that time go, and how can it be optimized. Aside from fancy high-level management, the main answer there seems to be pathfinding. The default scripts from the tutorial all go through the built-in moveTo function, which the API documentation explains is a combination of several accessible sub-calls that:
1. gets the position of the target object
2. gets the position of the current object
3. does A* pathfinding from the current object to the target object
4. takes a move on the first step of the path

Anybody who's followed Dwarf Fortress's development knows *that's really bad.* For one, naive A* is notoriously expensive; this algorithm or similar could give you vastly more for example: http://www.gdcvault.com/play/1022094/JPS-Over-100x-Faster-than
On top of that, recomputing the path every step is very wasteful. You have access to big gobs of memory: 2 *megabytes.* You can cache off tons of path data for individual creeps. You can cache off tons of precomputed room pathfinding helper data.

So pathfinding optimization should easily give you tons of time there. Optimize your pathfinding and you will suddenly have tons of time. The only reason these limits exist is to cut down on server costs, not limit players; it's an incredibly large amount of resources you have to work with. You don't get to see your while(true) loops run to completion, but that's just because we live in the real world.


Edit: Oh, it's even less limiting than I thought: Screeps has a web api you can use, so you can probably bypass time limits entirely if you send out the data you need to your own personal server setup then write your heavy duty processing backend there in whatever language you want limited only by your server computer's specs. I started experimenting with this sort of thing for minecraft's computer craft mod turtles way back, to get around some limitations they have.
« Last Edit: November 20, 2016, 03:38:53 am by alway »
Logged

miauw62

  • Bay Watcher
  • Every time you get ahead / it's just another hit
    • View Profile
Re: Screeps
« Reply #11 on: November 20, 2016, 08:46:49 am »

You make some good points, but:
Picked this up, and some thoughts regarding the "CPU Limit" thing. First of all, units are important. 10 unitless numbers is meaningless, so let's get that straight right off the bat.
http://support.screeps.com/hc/en-us/articles/204332302-How-does-CPU-limit-work
So, 10 "Units" per tick means 10ms runtime per tick. Which is... generally more than a fully fledged game AI for any strategy game gets.
Those AIs are usually not written in javascript.

Quote
Edit: Oh, it's even less limiting than I thought: Screeps has a web api you can use, so you can probably bypass time limits entirely if you send out the data you need to your own personal server setup then write your heavy duty processing backend there in whatever language you want limited only by your server computer's specs. I started experimenting with this sort of thing for minecraft's computer craft mod turtles way back, to get around some limitations they have.
You'd also need less than 10ms ping, though :v
Logged

Quote from: NW_Kohaku
they wouldn't be able to tell the difference between the raving confessions of a mass murdering cannibal from a recipe to bake a pie.
Knowing Belgium, everyone will vote for themselves out of mistrust for anyone else, and some kind of weird direct democracy coalition will need to be formed from 11 million or so individuals.

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: Screeps
« Reply #12 on: November 20, 2016, 03:50:12 pm »

I assumed if you called to an external source, it'd send the command, and then get a ping-back from the external, and THEN it would execute that command.  Like you could have your creep send data to your home PC, the home PC could run data for 15 minutes, and then when the home PC sends back data, the creep would then execute commands based on what data it received.