This one probably would[U]n't rank very high on Erwin's to do list.. but I think tmog brought up something that the community can maybe contribute to... we can't change game mechanics.. but we probably could help come up with the displays that would be outside of the client.. and we probably only need Erwin to confirm which data from galaxies is easily extracted so we can fiddle with the things displayed.. so far I've only heard Sygor streaming the scores turn by turn to his spreadsheet and graphing that..
__________________ Reminder to self: Patience is a virtue
One thing that would be easy to change is a normalized score graph. The vertical axis on the graphs now represents the current total score. It should simply represent 100% of the points, no matter what the total is. That way it is normalized for each turn. Then you can actually see the history of the game. See whats changing with the score of one player relative to another.
So if someone has half the points throughout the game, his graph would remain steady even though is score is increasing exponentially.
The way it is now, the graph is useless, since only the last bit is readable. Anything before the last 100 turns or so is too small to understand.
Sygor did something when he was reporting stuff for GNN in the Rat Pack galaxies. not sure how it does it though.. i presume he'd have to keep his computer on every tick too.. hmm
__________________ Reminder to self: Patience is a virtue
#!/bin/bash
cat $1 | \
grep "table id='list'" | \
sed 's/<\/tr>/<\/tr>\n/g' | \
sed 's/<td[^>]*>/|/g' | \
sed 's/<\/td>//g' | \
sed 's/<a [^>]*>//g' | \
grep -v "table>" | \
sed 's/<\/a[^>]*>//g' | \
sed 's/<tr>//g' | \
sed 's/<\/tr>//g' | \
sed 's/<[^>]*\/>//g' | \
sed 's/%nbsp;//g' | \
grep -v "<b>Playername</b>" | \
cut -d"|" -f 4,6 > .csscores.tmp.$1;
declare -a ARRAY
IFS=$'\n'
while read LINE;
do
names[$i]=$(echo -e "$LINE\n" | cut -d "|" -f1);
score[$i]=$(echo -e "$LINE\n" | cut -d "|" -f2);
((i++))
done < .csscores.tmp.$1
max=$(($i-1));
# make a sign file
echo ${names[@]} > .csscores.new.$1
echo ${score[@]} >> .csscores.new.$1
# make old file if it does not exist, so md5sum will not whine
touch .csscores.old.$1;
# get md5sums
md5old=$(md5sum .csscores.old.$1 | cut -d" " -f1);
md5new=$(md5sum .csscores.new.$1 | cut -d" " -f1);
#check if config exists
i=$((0));
if [ -f .csscores.cfg.$1 ]; then
#if it does jsut read it (I could check tab size if read is needed if i do a loop in this script)
while read LINE;
do
cfg[$i]=$LINE;
((i++))
done < .csscores.cfg.$1
else
# if it doesn't make it from current names, and copy them to file name
for i in $(seq 0 $max); do
printf "%s\n" ${names[$i]} >> .csscores.cfg.$1;
cfg[$i]=${names[$i]};
done
fi
# if tab does not exist start it with names from cfg
if [ -f csscores.tab.$1 ]; then
echo "" > /dev/null
else
for i in $(seq 0 $max); do
printf "%s | " ${cfg[$i]} >> csscores.tab.$1;
done
fi
# if new name / sum file is different than the old one add an entry to the tab
if [ $md5old != $md5new ]; then
cp .csscores.new.$1 .csscores.old.$1
printf "\n" >> csscores.tab.$1;
for i in $(seq 0 $max); do
j=$((0));
#find name from cfg entry in the $names
while [ ${names[$j]} != ${cfg[$i]} ]; do
j=$(($j+1));
done
# print corresponding score to tab
printf "%d |" ${score[$j]} >> csscores.tab.$1;
done
fi
Use the Hotmail or live program skydrive then set up a spreadsheet in the New Excel and have a day person and a night person to collaborate on imputing the scores.
Nick
__________________
Spend not that, that you hope to make, spend only that, that you have on the things that you Value most.
Wow im very impressed! thanks a bunch mizzihood. i think this would be a great addition to the community here. now to persuade Erwin to include a link to this on every game's page.