Not logged inOpenClonk Forum
Up Topic General / Feedback and Ideas / Team online Game for a few weeks
- - By Anonymous [de] Date 2009-06-19 00:01
Its a bit hard to explain, but im not a native english speaker.
My idee is that 2 or more teams play against each other over a few days or maybe weeks. Befor it start player register for a team with nick and PW. When the game starts every Team has ther own server and on every serve is the same map running (realy big map).
The Teams have to reach a Gole on the map (maybe something like clean all the acid form the map). The gole has to be hard and the team members have to work together. So one Team has to be faster the the others.
Im not shure if this idee will work, but if ther are about 40 registert people per team and the can log in whenever they want.

well i got this idee since clonk 4, and thoght it would be great to have something like this. You have to work in a team and work for something big.
Reply
Parent - - By Carli [de] Date 2009-06-19 09:42
yes i had this idea, too.
But it needs an other networkcode.

I have a dream... that one day, runtime join will last a few seconds.
how to do? the clients do not simulate the same world, they just render a screen (zoomed to not have so many objects to render) and send their controls. The server needs to send changes in the area around the players sight (i.e. changes of a flight courve, the client can simulate a simple flight), the player just has to load the right graphics in the right packs.
Parent - By Atomclonk [de] Date 2009-06-19 11:49
Yeah... sounds great... and because it's OC I hope it will get realized.
Reply
Parent - - By Anonymous [de] Date 2009-06-19 15:07
new netcode shutn´t be so hard. Maybe players can only join every 5min (when the server creats the actual state of the map).
Reply
Parent - - By Zapper [de] Date 2009-06-19 15:43

>(when the server creats the actual state of the map).


So every five minutes the game is delayed for one minute to save the map? Doesn't sound like a good idea :)
Parent - - By Caesar [de] Date 2009-06-19 19:39
Hm. I wonder... Why couldn't we do runtimejoin savegames by fork()ing?
Parent - - By Zapper [de] Date 2009-06-19 19:42
The server should save the landscape while the landscape changes? Doesn't sound like a good idea either :)
Parent - By Günther [de] Date 2009-06-19 20:03
No, it's actually a sound method: fork creates a copy (actually, marks the memory pages as copy-on-write) of the whole process. Doesn't work on inferior operating systems without cheap fork(), but that shouldn't be a barrier :-)
Reply
Parent - By Caesar [de] Date 2009-06-20 10:45 Edited 2009-06-20 13:04
Well, you wouldn't have 'the landscape' anymore, you'd have two.
Parent - - By Carli [de] Date 2009-06-20 12:26
when we have a more simple memory management, OC could save faster and could also save the game state into a mem-buffer from where it could be sent to the client in an extra-thread.
Parent - By Günther [de] Date 2009-06-20 13:01
No, you're wrong.
Reply
Parent - - By Anonymous [de] Date 2009-06-20 19:32
im not shure how landscape is saved now, but you just need to save every corner point of every field of the same terrain, that wold be up to a few hundred points per terrain field. so maybe on a realy big map 300 fields, well lets say about 300 points per field. So 300 * 300 * 2 (2 dimensions) = 180000 short int numbers + 300 byts (to define type of terrain) + maybe 6000 * 2 short ints for objects (stones etc) + about 50 byts for defining the type.
that would be 192000 short ints and about 350 byts. That would be 375.34kb for saving a map. And i thing the server can do this quit fast, maybe 0,5 sec lag. If you only allow players to join every 5 min this wouldnt be a probelem would it?
Reply
Parent - By Caesar [de] Date 2009-06-20 21:59
The landscape is stored as bitmap, or perhaps PNG. But I doubt that you can devide random shapes to triangles/quads so fast...
Parent - - By B_E [de] Date 2009-06-21 08:29
I presume that the joining in running games works similary, as saving a game, you do need all the playerfiles and the round on your computer. An interesting approch would to only save changes to the beginning, but this wouldn't work forever and probably only bring a minor gain in speed.
Parent - - By Atomclonk [de] Date 2009-06-21 09:46
Would only work for static maps. (Anyways, you need to get the changes by turbulence of the materials.) But if the changes would come while the game is running... everything outside the field of sight would need to be synchronized after the player sees this area. Like this system used mostly in 3D games... video-[...], so the computer doesn't need to render/animate the graphics. Just some coordinates and other informations about an object.
Reply
Parent - - By Caesar [de] Date 2009-06-21 10:52

>Would only work for static maps


Why sould it? You can generate the same map zillions of times from the scenario data and the random seed. (Actually the way it is done at every startup.)
Parent - - By Atomclonk [de] Date 2009-06-21 15:27
But thats the problem, when it's dynamic you need every information about the status of the map, like actually.
Reply
Parent - - By Caesar [de] Date 2009-06-21 17:34
I just don't get the point of what you complain, but I figured, that the host had to regen the startup map to make a diff. -> Lag. Anyway... *lastpost*
Parent - - By Atomclonk [de] Date 2009-06-21 18:38
Yeah, thats what I mean. *verylastpost*
Reply
Parent - By Luchs [de] Date 2009-06-21 18:49
:P!
Parent - By MrBeast [de] Date 2009-06-21 10:41
The problem is more the performance you need to calculate the changes...
Reply
Parent - By Newton [es] Date 2009-06-21 11:49
It's already like this. Only the changes to the landscape are transmitted.
Parent - - By Atomclonk [de] Date 2009-06-21 09:39
But... for indestructable maps (like Hazard or some magic melees) you wouldn't need to save the landscape... just the objects and positions of players, etc.
Maybe a Scenario.txt entry like... (But if there would be a possibility to change the landscape and this option is activated: Syncerror?(Not if asynchrone network is activated.... but this would be strange, I think.))
[Head]
NoLandscapeSync=1
Reply
Parent - - By MrBeast [de] Date 2009-06-21 10:45
Then there would be the Objects.txt-Generation as the other point which consumes much time. Maybe create a Objects.txt at the beginning which is Framely updated?
Reply
Parent - By Caesar [de] Date 2009-06-21 10:54
Uuh. Every var change is written there...
Parent - - By Carli [de] Date 2009-06-21 12:24
Objects.txt format is weird, slow and needs to much memory.
I think we should use a binary format for faster access

For realtime transmission there should only transmitted the changes in a small circle (zoom decreases the ammount of visible objects)
Parent - - By MrBeast [de] Date 2009-06-21 12:32

>For realtime transmission there should only transmitted the changes in a small circle (zoom decreases the ammount of visible objects)


There are no realtime transmissions... the only things which are realtime-transmitted are the player controls and some hashes for sync-check.
Reply
Parent - - By Carli [de] Date 2009-06-21 13:10
but in case we _would_ do object transmissions (for the new networkcode http://forum.openclonk.org/topic_show.pl?pid=2184#pid2184)
'y know what we're talking about?
Parent - - By MrBeast [de] Date 2009-06-21 13:17
That would rise the neccesary internetspeed to a multiple of the current.
Reply
Parent - - By Carli [de] Date 2009-06-21 13:29
an other possibility would be to make a savegame at the start of the game. The client has to recalculate a whole game (a few minutes) to join but the game is stored on the server separatly (no lag during the game).
When the runtime client has calculated it, he would upload his savegame to the server.
Parent - - By Caesar [de] Date 2009-06-21 13:47
And again, all you need to get the same game flow are all objects, the scenario, the random seed and the controls.
Parent - - By Carli [de] Date 2009-06-21 13:58
all objects and the scenario is saved externally (that's what the clients download), the controls were sent by the role-play-server (not that much data, use an extra thread)
Parent - By Caesar [de] Date 2009-06-21 14:24
Didn't you get the point? You don't need that savegame. Ohwhatever. This discussion is pointless anyway until anyone really implements something of it.
Parent - By Caesar [de] Date 2009-06-21 13:51

>For realtime transmission there should only transmitted the changes in a small circle (zoom decreases the ammount of visible objects)


Scrips don't only interact with objects which are visible for you.

>Objects.txt format is weird, slow and needs to much memory.
>I think we should use a binary format for faster access


memcpy(mem,objects), write(sock_newclient,mem) `o´. Generally right, perhaps also for masterserver.
Parent - By Atomclonk [de] Date 2009-06-21 15:34
Yeah... like the components of an object. They never change during game, don't they?
Reply
Parent - - By Atomclonk [de] Date 2009-06-21 15:32
But aren't the changes in the landscape the biggest problem? :)
Reply
Parent - - By Carli [de] Date 2009-06-22 09:11 Edited 2009-06-22 13:47
but the problems were that the landscape was not calculated synchronous
they arent sent over net.
Parent - By Clonkonaut [de] Date 2009-06-22 10:39

> synchron....(dunno the word exactly)


So how about looking it up?
Reply
Parent - - By K-Pone [de] Date 2009-06-22 17:12 Edited 2009-06-22 17:14
Your idea sounds great. Would be nice if the developers realize that.

>Its a bit hard to explain, but im not a native english speaker.


You speak german, right?
Parent - - By Anonymous [de] Date 2009-06-23 02:02
yes^^ how did u know?

by the way i realy shut get a account here^^
Reply
Parent - By K-Pone [de] Date 2009-06-23 13:33

>yes^^ how did u know?


I know because I am german and I know from other people how "bad-english" or "denglisch" sounds
Parent - - By Asmageddon [pl] Date 2009-06-23 14:19
In fact that wont be much trouble. The server would need to store map in memory anyway. So when player wants to join he first waits few seconds until he receives whole map and objects positions from server, then area around him and all objects get updated and synchronized with server, so scripts would work properly, then rest of map is updated, and voila - player can start game. After that players just receive data about landscape changes around them (or all changes, I don`t know with one would be better) and object positions, rotations, etc.
This would require a server with fast connection speed, but I think it would be possible. Or mazbe... I don`t know, in fact I`m n00b programmer as I don`t have enough patience to learn everything.

PS.:Sorry for replying to this post, but if I would reply to another post it could not get noticed.
Reply
Parent - - By Zapper [de] Date 2009-06-23 14:30

>but if I would reply to another post it could not get noticed.


You normally see new or unread posts quite well :)
I don't think that anyone will not see your posts because of the tree-structure - they will propably even fit more there!
Parent - By Asmageddon [pl] Date 2009-06-23 15:28
Maybe.
Reply
Parent - By K-Pone [de] Date 2009-06-23 21:03
Every user in this forum will automatically see the first new/unread post when he/she enters the topic
Up Topic General / Feedback and Ideas / Team online Game for a few weeks

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill