魔獸中有許多玩家自製的地圖
有一種地圖類型是dota
例如:信長、三國、OS 和其他一堆
這些地圖的作者會一直修改地圖,加入新的元素或是保持遊戲的平衡
有時候地圖也會換作者
這樣產生了許多的版本
而每個版本有自己的支持者(就是玩該版本的玩家)
最近三國多了兩個版本的地圖
原本是三國4.9
新出的地圖分別叫做三國5.0跟新三國4.9
但是新出的地圖在小熊伺服器上卻沒什麼人玩(無人支持)
根據梅特卡夫定律(Metcalf’s Law). 網路的價值與網路使用者數目的平方成正比
意思是遊戲地圖的價值與地圖支持者數目的平方成正比
如果一張地圖玩的人很少,該地圖玩家會因為遊戲人數太少,而無法順利進行遊戲,最後甚至改玩其他地圖
所以地圖支持者多的地圖,會得到更多的玩家,最後也將吸收其他版本地圖的玩家
就好像政治
想要當總統就要有很多的支持者
而在政治上,宣傳的手法很多
但在地圖上,宣傳的手法實在很少
如果我是地圖製造者,我會希望我的地圖有許多玩家
那麼我就會找一群忠實擁護者來宣傳推廣這張地圖
例如到小熊建立遊戲之類的
而不是地圖作好提供載點而已。
2008/8/19
windows API
關於c++使用unicode:
標頭檔:
#include
必要程式:
setlocale(LC_ALL,"");
寬字串變數宣告範例:
WCHAR *str = L"測試";
寬字串變數印出範例:
wprintf(L"%s\n", L"測試");
char * 轉 WCHAR範例:
char *a = "test";
WCHAR b[1000];
swprintf(b , L"%S" , a);
重點筆記:
"%s" 和 "%S" 有極大的差距。
標頭檔:
#include
必要程式:
setlocale(LC_ALL,"");
寬字串變數宣告範例:
WCHAR *str = L"測試";
寬字串變數印出範例:
wprintf(L"%s\n", L"測試");
char * 轉 WCHAR範例:
char *a = "test";
WCHAR b[1000];
swprintf(b , L"%S" , a);
重點筆記:
"%s" 和 "%S" 有極大的差距。
2008/8/10
依希歐之夢
這遊戲實在是太妙了
竟然可以在遊戲裡面遇到Di Gi Charat 的 Dejiko

他說他害羞了

他還開了一間店




接下來是海盜泰迪熊的小故事
他們的海盜船炮火十分猛烈,接近就要爆炸

不要靠近

海盜船的秘密


海盜泰迪的基地守衛

進入前要發誓效忠海盜

不想發誓


不發誓就不給過...好吧
發誓一下好了


泰迪真任性
竟然可以在遊戲裡面遇到Di Gi Charat 的 Dejiko

他說他害羞了

他還開了一間店




接下來是海盜泰迪熊的小故事
他們的海盜船炮火十分猛烈,接近就要爆炸

不要靠近

海盜船的秘密


海盜泰迪的基地守衛

進入前要發誓效忠海盜

不想發誓


不發誓就不給過...好吧
發誓一下好了


泰迪真任性
2008/7/29
新行業聯想
先講講格子趣
大家應該都知道他是租格子給別人寄賣東西的店
我第一次看到這種店的時候
我聯想到的是網路遊戲中拍賣所的實體化
再來想到的是拍賣網站的實體化
這告訴我們什麼?
虛擬世界的實體化,可以成為新行業
今天的重點是跑腿幫
我之前看到這個幫人排隊的工作時,沒有聯想到什麼東西
但是今天有聯想了
我聯想到的是網路遊戲中玩家向NPC接任務
任務需要跑很多地點
跟各種不同NPC講話
最後完成任務取得任務獎賞
再來想到的是許多奇幻小說中都會提到的傭兵團和冒險者工會
雇主可以在冒險者工會發包任務,提供任務獎賞
傭兵可以在冒險者工會接受任務,完成任務後取得任務獎賞
事實上,跑腿幫就是一個傭兵團...
目前社會還缺少一個冒險者工會
誰要來創一下新行業?
大家應該都知道他是租格子給別人寄賣東西的店
我第一次看到這種店的時候
我聯想到的是網路遊戲中拍賣所的實體化
再來想到的是拍賣網站的實體化
這告訴我們什麼?
虛擬世界的實體化,可以成為新行業
今天的重點是跑腿幫
我之前看到這個幫人排隊的工作時,沒有聯想到什麼東西
但是今天有聯想了
我聯想到的是網路遊戲中玩家向NPC接任務
任務需要跑很多地點
跟各種不同NPC講話
最後完成任務取得任務獎賞
再來想到的是許多奇幻小說中都會提到的傭兵團和冒險者工會
雇主可以在冒險者工會發包任務,提供任務獎賞
傭兵可以在冒險者工會接受任務,完成任務後取得任務獎賞
事實上,跑腿幫就是一個傭兵團...
目前社會還缺少一個冒險者工會
誰要來創一下新行業?
2008/7/27
c++ header 建立
現在有兩個class 互相使用對方的指標
我把全部的code 放在同一個檔案是可以編譯的
== 程式碼 ==
class B;
class A
{
B* b;
A方法的宣告
};
class B
{
A* a;
B方法的宣告
};
A方法的實作
B方法的實作
== 換成.h 後 ==
A.h:
#pragma once
#include "B.h"
class A
{
B* b;
A方法的宣告
};
B.h:
#pragma once
class A;
class B
{
A* b;
B方法的宣告
};
A.cpp:
#include "A.h"
A方法的實作
B.cpp:
#include "B.h"
B方法的實作
====
標頭檔編譯不能的錯誤訊息是:使用未定義的型別 A
請問該如何修改才能使標頭檔順利編譯?
PS:A方法會呼叫B方法或屬性
B方法會呼叫A方法或屬性
====
解決方法1 by LPH66:
在.cpp中兩個.h都#include進來
解決方法2 by adrianshum (Alien):
a.h:
#pragma once
class B; //forward declaration
#include "b.h"
class A {
private:
B* b;
};
b.h:
#pragma once
class A; //forward declaration
#include "a.h"
class B {
private:
A* a;
};
我把全部的code 放在同一個檔案是可以編譯的
== 程式碼 ==
class B;
class A
{
B* b;
A方法的宣告
};
class B
{
A* a;
B方法的宣告
};
A方法的實作
B方法的實作
== 換成.h 後 ==
A.h:
#pragma once
#include "B.h"
class A
{
B* b;
A方法的宣告
};
B.h:
#pragma once
class A;
class B
{
A* b;
B方法的宣告
};
A.cpp:
#include "A.h"
A方法的實作
B.cpp:
#include "B.h"
B方法的實作
====
標頭檔編譯不能的錯誤訊息是:使用未定義的型別 A
請問該如何修改才能使標頭檔順利編譯?
PS:A方法會呼叫B方法或屬性
B方法會呼叫A方法或屬性
====
解決方法1 by LPH66:
在.cpp中兩個.h都#include進來
解決方法2 by adrianshum (Alien):
a.h:
#pragma once
class B; //forward declaration
#include "b.h"
class A {
private:
B* b;
};
b.h:
#pragma once
class A; //forward declaration
#include "a.h"
class B {
private:
A* a;
};
訂閱:
文章 (Atom)