Posts

Showing posts from August, 2012

Head in the Clouds: The reasons of OnLive's failure

Image
OnLive的最高同時上線人數大概1800位,註冊用戶2萬人。但是OnLive每個月卻有五百萬美金的的服務開銷。想想每個使用者平均要花多少錢才能回本,這是一個失敗的business model。 錯誤的策略,這些console主機仍然是被玩家使用中的。OnLive卻仍想要賣服務給這些已經有主機的玩家。 網路頻寬問題: 許多註冊用戶被發現他們並沒有去依照OnLive的需求來升級頻寬。 如果你給一個人免費服務,他們會覺得這東西的價值是比較低的,遊戲主機的business model會運作的原因是當你購買了一台主機,用戶會想證明自己的投資是對的就會購買更多的遊戲。但對於OnLive的用戶因為沒花到錢,所以也不急著要付費投資他,包含去申請符合OnLive要求的網路頻寬。 OnLive的針對用戶是core gamer和搶先玩家。但是他們不會滿意OnLive的performance,包含lag和畫面失真等不可避免由於網路頻寬造成的結果。OnLive所提供的軟體不是最熱門最新的遊戲,這些核心玩家是不會有興趣的,反而這樣的服務會吸引casual玩家(對於最新遊戲或是購買最新硬體沒這麼熱衷的玩家),但這種玩家通常頻寬不會太好。 本身的硬體更新每次費用都會非常昂貴。 它不是console平台的掌握者,它沒辦法掌握硬體的升級,說服玩家只要用低規的硬體就可以遊玩高級的遊戲。 隨著Graphics processor越來越便宜和精巧,以及效能越來越好。越來越多輕薄的手機終將會超越現今的console,然後在家裡的TV上用它們遊玩高級遊戲。 當一切策略錯誤後,沒有將目標鎖定到專一特殊的領域。例如,Gaikai專精提供game demo服務。 Reference: http://www.gamesindustry.biz/articles/2012-08-24-head-in-the-clouds?utm_source=newsletter&utm_medium=email&utm_campaign=european-daily

Android: Async-Http library

Android Asynchronous Http Client A Callback-Based Http Client Library for Android http://loopj.com/android-async-http/ Http Send: // http send AsyncHttpClient _clientPost = new AsyncHttpClient(); RequestParams params = new RequestParams(); params.put( "type", "" + type ); params.put( "text", message ); if( CookieManager.getInstance().getCookie(HttpAPI.uriAPI) != null ) { String cookieStr = CookieManager.getInstance().getCookie(HttpAPI.uriAPI); _clientPost.addHeader( "Cookie", cookieStr ); } _clientPost.post( addr, params, new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { try { } catch (JSONException e) { } } }); Http Get: // http get AsyncHttpResponseHandler _responseHandler = new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { } }; if( CookieManager.getInst

Build OGRE with dependency

Dependence file Updated 19 Aug 2012 is not work. Boost link error for OGRE 1.8 build http://blog.csdn.net/hackbuteer1/article/details/6597710

WebGL - Three.js + impactJS

Image
http://asmallgame.com/labsopen/webgl_impact/ Using three.js to render a game made with impactJS and box2D

Android chat room copy/delete text

Image
// long press click @Override public boolean onItemLongClick(AdapterView arg0, View arg1, final int pos, long id) { // AlertDialog can try to move to global variable, can avoid to multiple creating. AlertDialog.Builder dialog = new AlertDialog.Builder(ChatActivity.this); dialog.setTitle(getResources().getString(R.string.selection)); String strCopy = getResources().getString(R.string.copy); final String strDel = getResources().getString(R.string.delete); String[] options = { strCopy, strDel }; // copy and delete items DialogInterface.OnClickListener actionListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case 0: // Copy String co

為自己爭氣──群聯電子十年318億元的創業故事

Image
昨天我從圖書館裡了這本書回家閱讀,一個月內要歸還... 今天第一次翻開這本書閱讀,整本書p.238我看了p.56頁。我停了下來。因為這本書讓我熱情澎湃,如果不停下來,可能下禮拜就遞辭呈了。 有幾個觀點很值得我們記住,在此筆記下來: 這本書百分之五十的版稅捐給交大校友會,另外百分之五十捐給兒童扶助基金會...這決定太棒了,因為年輕學子一定是未來的希望,我們要多幫助他們。 當初潘健成董事長從馬來西亞來台灣交大唸書,其實也很平凡的想說畢業後回馬來西亞工廠上班,一個月領個三萬元,實在沒想說要創業。 他在研究所的時候替教授所開的公司做事,常常沒什麼時間去上課,這間公司在未上市公司潛力曾經位居第二名,不過管理階層出了問題。很多都是高層的親戚,朋友。甚至一個主管跟他說,我們不賺錢也沒關係,只要把我們募資來的好幾億元放到銀行生利息就夠了,要不然就是六塊買進DRAM再12塊賣出可以翻賺一倍。....這種不是在認真經營公司而是在玩金錢遊戲的例子,也促成了潘董對於他日後群聯電子所警惕的。 第一筆大生意是做成全球第一顆USB快閃記憶體系統控制單晶片。後來發現成品比較好賺就開始做隨身碟。 年輕很難給別人信任,但如果你言之有物且做的東西是好的,對方反而會記得你。成功的定義:今天的成功是由於昨天做了對的事情,在每天做很多對的事情,那每天都是做的很成功。 28歲時候被前公司控告侵權,公司的資金被扣押,董事長去拜託合作夥伴能夠將現金能夠提早付給他們,積極地面對媒體,最後終於和解。科技公司難逃侵權,遭到Sandisk告侵權,不像其他廠商跟著和解,因為不甘本業被收取權利金,最後也打贏了。 找保護傘,引進重要股東。找上東芝,它替他們解決了很多難關,讓外界直覺群聯很厲害,無論是資金與專利上。但在東芝的保護緩衝期,仍然要不斷地補專利。 持續為善,賺錢本來就是要花,但要花在該做的地方,幫助年輕人念書、創業,讓越來越多人能夠替社會帶來希望。 以技術發展為基礎,挑正值長期耕耘的客戶。遇到小廠以劣質品競爭,放掉大中華區,找真正有品牌的客戶。做生意就像待人處世,不佔客戶便宜,賣貴了,下張訂單要還給他。 創業夥伴,找可以長久的夥伴,創業有成後,一起打天下的夥伴也沒有分開。在學校認識的朋友是最好的,夥伴選對了麻煩也就少了。

PlayCanvas WebGL 3rd Person Multiplayer Demo

Image
       WebGL再度做出驚人的表現,PlayCanvas的人員花了 兩個禮拜製作。這個demo與以前不一樣的是做到了multiplayer,支援mouse lock, full screen,在Chrome還支援gamepad。Chrome真的是一個很適合發展HTML5的平台。對於有1.3 billion的潛在玩家,並且相較於triple-A專案的開發成本低的HTML5 platform,能不趁早涉入嗎? Source code: https://bitbucket.org/playcanvas/scifi Reference: http://playcanvas.com/a-multiplayer-3rd-person-shooter-in-html5/ http://www.html5gamedevelopment.org/html5-demos/2012-08-playcanvas-webgl-3rd-person-multiplayer-demo?utm_source=twitterfeed&utm_medium=facebook

Introduce to Chrome plugin

Image
In this diagram, it describes how was the Chrome been designed. If we want to develop some plugins on Chrome, we have several ways. First, we could use NPAPI which Firefox also follow it interface. (Out of process plugin) Second, we could choose to write NaCI which support native code( C/C++) be compiled to nexe and be executed on the Chrome sandbox, it would bring some performance benefits because we could enjoy the performance from native code. NaCI provides PPAPI which is different from NPAPI because PPAPI is in order to focus on high performance for 3D/2D rendering, and Google has recommended it to Mozilla but Mozilla not yet decided to support it. Third, Chrome has some in-Process-plugins that are internal plugins. They could enjoy the PPAPI . Flash player on Chrome Chrome provides the Flash Player Pepper in order to let chrome be convenient to maintain and keep it is secure. BTW, Chrome make it be in-process-plugin type and utilize PPAPI in rendering. Flash Player

Android: progress dialog and thread

//不顯示title ProgressDialog _progressDialog = ProgressDialog.show( FriendListViewActivity.this, "", getString( R.string.progressing ) , true, false ); //顯示title ProgressDialog _progressDialog = ProgressDialog.show( FriendListViewActivity.this, "title mssage", getString( R.string.progressing ) , true, false ); //建立執行緒 new Thread(){ @Override public void run(){ try{ //可改為欲執行的程式碼 Thread.sleep(5000); } catch (Exception e){ e.printStackTrace(); } finally{ pDialog.dismiss(); //關閉dialog } } }.start(); //開始執行緒 //如果有欲修改到UI的內容部分,加上 runOnUiThread(new Runnable() { // Correct!! public void run() { //modify View object textView.setText("test"); } }); Refer

OpenGL 4.3 spec and Adaptive Scalable Texture Compression Extension (ASTC)

Aug.6th is the 20th anniversary for OpenGL. Khronos revealed OpenGL4.3 spec and compression texture format -ASTC in Siggraph 2012. ASTC: http://www.geeks3d.com/20120806/opengl-4-3-and-opengl-es-3-0-adaptive-scalable-texture-compression-extension-astc/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+TheGeeksOf3d+%28The+Geeks+Of+3D%29 OpenGL4.3 spec has been released: http://www.geeks3d.com/20120806/opengl-4-3-specifications-released-advanced-computation-with-compute-shaders/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+TheGeeksOf3d+%28The+Geeks+Of+3D%29 http://www.opengl.org/registry/doc/glspec43.core.20120806.pdf OpenGL 4.3 compute shader: http://www.geeks3d.com/20120806/opengl-4-3-compute-shaders-details/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+TheGeeksOf3d+%28The+Geeks+Of+3D%29