Posts Tagged ‘Game’

【獨立開發】獨自開發遊戲多年來的一些感想…

Wednesday, July 4th, 2018

昨天又聽到一個年紀跟我差不多的獨立開發者,說他撐不下去已經要開始找工作了(大概一個人獨立開發了四年)。聽了真的很難過… 因為我覺得他的作品品質很不錯啊! 還得過巴哈ACG的大獎。怎麼會搞到撐不下去呢!?? (我的道具屋連一個獎都沒得過啊啊啊… Orz)

昨晚半夜跟他聊了好久,我覺得也許是遊戲內容本身的設計,比較不會吸引重度玩家持續玩下去。我不是說一定要做出一個非要課金才玩的下去的遊戲不可,我自己也很討厭這樣,而是至少要能讓玩家可以持續玩好幾個月。即使玩家不課金,只看廣告也可以幫開發者獲得還不錯的收入。

我覺得除了基本的美術要達到一定的水準、程式不能有太多bug外,遊戲內容和核心玩法真的是決定生死的關鍵了。遊戲的創意或黏著度如果不夠,就無法引起玩家的共鳴,繼而主動幫你推薦給其他朋友玩。獨立開發者做出來的遊戲,一定要達到病毒式行銷的效果(我以前也不相信),才比較有機會存活下去。因為我們沒有砸錢做行銷的本錢,所以只能靠玩家幫忙推薦和平台精選。我自己就有很深的感覺,因為我過去做了很多失敗的遊戲,所以感覺特別深… 希望大家共勉之,一起加油! 可以靠自己的作品養活自己…

PS. 我這裡指的是免費 + IAP的遊戲。如果是付費一次買斷的遊戲,那又另當別論了。有些玩家其實是不喜歡玩同一款遊戲玩很久的(會覺得農)。他們會覺得整體遊戲時數短沒有關係,但要有頭有尾、故事精彩、畫面漂亮、玩起來爽快或者玩了之後很有感覺。玩遊戲對他們而言,就像讀完一本好書一樣…
———————————————
補上一張圖,我不是要炫耀什麼(也沒什麼好炫耀的,又不是幾百萬下載)。而是教大家如何判斷自己的遊戲有沒有吸引到玩家玩… 如果有,就會像下圖一樣。Po完第一篇後,下面會有好幾篇其他玩家回文寫玩後心得。如果沒有,那就是你自己Po文完後,就沒下文了… (我以前開發好幾款遊戲App,po文完就是這樣,沒下文了…)

我絕對不敢說自己的遊戲有多好玩,因為比我厲害的大大多的是。但至少有吸引到特定族群的玩家,會持續關注玩我的遊戲。一款遊戲不可能討好每個玩家,一定會有玩家不喜歡你的遊戲。(像我就很不喜歡玩運動類和AVG遊戲,就算是Blizzard出的大作,我也會覺得很無聊不會去玩。但喜歡的人就會很喜歡。) 而開發者要做的就是,想辦法如何抓住你的目標玩家的心,滿足他們的需求,讓他們在玩你的遊戲時獲得足夠的成就感。其他嫌你的遊戲畫面很醜、玩法很無聊的玩家,就當耳邊風略過吧(像道具屋就常常被一些玩家嫌說畫面像20年前的遊戲,醜的要死,我都會自動忽略。因為他們根本就不喜歡Pixel Art的風格,不管你畫的再好再醜,他們都不會欣賞。)。因為,他們根本就不是你的目標族群啊。了解你的目標玩家是誰,有什麼習慣,這點我覺得非常重要!

【程式作品】獨立遊戲 – 哥布林的道具屋 即將上架!

Monday, September 4th, 2017

Demo影片

遊戲簡介
玩家扮演一名飽受人類霸凌的哥布林。他想要討回公道,但是他發現自己是個魯蛇,根本打不贏人類士兵。於是他突發奇想,決定開一間道具屋。賣一些武器、防具和藥水給其他怪物。然後與怪物們組成冒險隊伍對人類進行復仇。

遊戲進行時,玩家必須不斷的和他的顧客們一起去冒險,以獲取製作物品的材料。在冒險過程中,可能會遭遇人類軍團的強力反擊。所以必須要持續的打造出更好的裝備來賣給他的顧客使用,才可以通關。最終目標是殺進人類的城堡裡,獲得最後的勝利。

遊戲畫面


預計上市時間
2017年9月17號

支援平台
iOS & Android

支援語言
中文 & 英文

開發工作室
Cyclops Studio (台灣獨立遊戲工作室)

FB粉絲頁
http://www.facebook.com/goblinxshop

官網
http://fstoke.me/goblinxshop?lang=zh-TW

Android Beta App
https://play.google.com/apps/testing/me.fstoke.MonsterShop

參加iOS Beta測試
https://docs.google.com/forms/d/1Lbq0cTqzctdzL9OIR2wLUVatDKPQAur-A60HzhGWLrc

[Tutorial] build cocos2d-x as a static library in Mac Xcode

Saturday, June 27th, 2015

————————————-[English, 要看中文版請往下捲]—————————————-
[the story]
Recently, I create a new game project by using the latest cocos2d-x framework. I download the latest cocos2d-x 3.6. And I follow the tutorial to create a cocos2d-x project. I build & run the project successfully. But I notice a thing, if I clean the project or modify partial of my codes / resources. When building project, Xcode will compile whole source codes of cocos2d library again! It spends very very much time. It will compile 621 source files of cocos2d library. If I must wait so long every time when I just modify a piece of my code, how can I continue to write my fucking code!!?

So, I spent two days to search an available solution in the internet. I also ask a question in StackOverflow. There are still no answers. Finally, I find a post in a Japanese developer’s blog site. I follow his steps and build a cocos2d-x static library successfully. I import the static library into my game project, and it did works! okay, let me show you the screenshot first. it’s truely working!

Okay, let’s enter the main tutorial. The content is mainly translated from this Japanese developers’s post.

[Tutorial Begin]

Create a new cocos2d-x project

First, create a new project. Go to the root directory of the cocos2d-x library (i.e. /Users/YourName/Library/cocos2d-x-3.6).
Execute the following command in Mac command line.

cocos new HelloWorld -p com.CompanyName.HelloWorld -l cpp

open Xcode project file.

open HelloWorld/proj.ios_mac/HelloWorld.xcodeproj
Modify Build Settings

choose cocos2d_libs.xcodeproj and select the Target: libcocos2d iOS. modify its Build Settings.
The default values should be the same as the following, if not, modify them.

Architectures => Standard architectures
Build Active Architecture Only => No

In the “Valid Architectures” field, add two additional value: i386 and x86_64. This is for the Xcode simulator, to make the library runnable .

The final values should have five: arm64, armv7, armv7s, i386, x86_64. as the screenshot:
Using Rakefile to build Static Library
cd HelloWorld/cocos2d/build
vi Rakefile

input the following content:

PROJECT_PATH = "./cocos2d_libs.xcodeproj"
TARGET_NAME="'libcocos2d iOS'"
OUTPUT_DEBUG="tmp/iphonesimulator"
OUTPUT_RELEASE="tmp/iphoneos"
OUTPUT_LIB="./lib"
directory OUTPUT_LIB

desc "using lib command to build a static library"
task "lib" do
    sh "xcodebuild -project #{PROJECT_PATH} -configuration Release -sdk iphonesimulator8.3 -target #{TARGET_NAME} -arch i386 -arch x86_64 TARGET_BUILD_DIR=#{OUTPUT_DEBUG} BUILT_PRODUCTS_DIR=#{OUTPUT_DEBUG} clean build"

    sh "xcodebuild -project #{PROJECT_PATH} -configuration Release -sdk iphoneos8.3 -target #{TARGET_NAME} -arch armv7 -arch armv7s -arch arm64 TARGET_BUILD_DIR=#{OUTPUT_RELEASE} BUILT_PRODUCTS_DIR=#{OUTPUT_RELEASE} clean build"
end

desc "using lipo command to link static libraries for each device to one combined library file"
task "lipo" => OUTPUT_LIB do

    Dir.glob("#{OUTPUT_RELEASE}/*"){|path|
        p path
        file = File.basename(path)

        sh "lipo '#{OUTPUT_DEBUG}/#{file}' '#{OUTPUT_RELEASE}/#{file}' -create -output '#{OUTPUT_LIB}/#{file}'"
    }
end
begin building static library, execute the following command.

rake lib

The whole process will spend about 10 ~ 20 minutes, depends on your working machine. If the procedure stops within a minute, it might be error occurring. For me, I meet a error that process can’t find the correct iphonesimulator8.2 and iphoneos8.2 directory, so I must modify them to the correct value in my environment.

After building static library successfully, you will see two libcocos2d iOS.a files in the “tmp” directory. One is for real device, the other is for simulator. So, we must do one more step to pack these two files to one merged .a file. Execute the following command.

rake lipo

This will take couple of seconds. After done, you will see a “lib” directory which contains a libcocos2d iOS.a file, its size is about 117.9 MB. This is the static library file we want.

Import Static Library to Your Project

choose .xcodeproj file -> Build Phases -> Link Binary With Libraries. Delete all red-font libraries, and re-add them.

Add the static library which we just built to the library list.
Delete “libcocos2d Mac” and “libcocos2d iOS” target in the project setting (It’s the reason why building project so fucking slow). Keep the cocos2d source code files alive for that we can view the code in the future.
Congratulations! Enjoy the jet building speed!

Now you can clean whole project and rebuild it. You will see Xcode won’t compile cocos2d source files any more. It only compile the files in your own project. The building speed will be 50 times comparing with the original, I guess.

That’s all … good luck! :mrgreen:

————————————-[中文]—————————————-
[前言]
最近我要開一個新遊戲專案,想改用最新版的cocos2d-x來做。我去下載了最新版的cocos2d-x 3.6後,照著這個教學頁面成功開了一個新的cocos2d-x project。在Xcode也build成功跑出畫面了。但我發現只要有做過clean整個project的動作,甚至只是改了一些project裡自己寫的code。在build project時,有時候Xcode會誤以為你有去動到cocos2d library的source code,因此常常重新去compile cocos2d library的source code。總共有621個files要重build,需要蠻久的一段時間(大概3~4分鐘)。如果每次只是改個小東西,就要花這麼多時間等它重build,我還要不要寫code!!?

因此這兩天,我花了很多時間不斷上網找解法,在StackOverflow上問問題。都沒有找到我要的答案。最後,終於在今天讓我找到一個日本開發者的教學文章,成功build出cocos2d-x的static library,並import到我自己的project裡跑出結果。好,先讓你們看個畫面,代表我不是在虎爛的…

以下進入正題,內容主要是翻譯自這篇日本教學文章

[教學開始]

建立新專案

首先,要開一個cocos2d的專案。到你下載並解壓好的cocos2d-x根目錄(例: /Users/YourName/Library/cocos2d-x-3.6)執行以下指令

cocos new HelloWorld -p com.CompanyName.HelloWorld -l cpp

接著打開Xcode project檔。

open HelloWorld/proj.ios_mac/HelloWorld.xcodeproj
修改Build Settings

選擇cocos2d_libs.xcodeproj,再選擇Target: libcocos2d iOS,修改其Build Settings。
應該預設值就是下面寫的值了,如果不是,請改為下面的值。

Architectures => Standard architectures
Build Active Architecture Only => No

另外在Valid Architectures 那欄追加兩個值: i386 和 x86_64。這是為了讓build出來的Library也可以在模擬器上跑。

修改後的結果應該有五個值: arm64, armv7, armv7s, i386, x86_64
完整結果如圖片所示:
使用Rakefile來建立Static Library
cd HelloWorld/cocos2d/build
vi Rakefile

內容輸入以下程式碼:

PROJECT_PATH = "./cocos2d_libs.xcodeproj"
TARGET_NAME="'libcocos2d iOS'"
OUTPUT_DEBUG="tmp/iphonesimulator"
OUTPUT_RELEASE="tmp/iphoneos"
OUTPUT_LIB="./lib"
directory OUTPUT_LIB

desc "using lib command to build a static library"
task "lib" do
    sh "xcodebuild -project #{PROJECT_PATH} -configuration Release -sdk iphonesimulator8.3 -target #{TARGET_NAME} -arch i386 -arch x86_64 TARGET_BUILD_DIR=#{OUTPUT_DEBUG} BUILT_PRODUCTS_DIR=#{OUTPUT_DEBUG} clean build"

    sh "xcodebuild -project #{PROJECT_PATH} -configuration Release -sdk iphoneos8.3 -target #{TARGET_NAME} -arch armv7 -arch armv7s -arch arm64 TARGET_BUILD_DIR=#{OUTPUT_RELEASE} BUILT_PRODUCTS_DIR=#{OUTPUT_RELEASE} clean build"
end

desc "using lipo command to link static libraries for each device to one combined library file"
task "lipo" => OUTPUT_LIB do

    Dir.glob("#{OUTPUT_RELEASE}/*"){|path|
        p path
        file = File.basename(path)

        sh "lipo '#{OUTPUT_DEBUG}/#{file}' '#{OUTPUT_RELEASE}/#{file}' -create -output '#{OUTPUT_LIB}/#{file}'"
    }
end
開始製作static library,輸入以下command。

rake lib

整個過程大概需要10~20分鐘,要看你的機器的執行速度。如果不到一分鐘就停了,那可能是有出現錯誤。像我是遇到找不到 iphonesimulator8.2 和 iphoneos8.2 這兩個資料夾,要改成你的執行環境正確的值。

完成build static library後,你會在tmp資料裡看到兩個libcocos2d iOS.a檔,一個是給實機device跑的,另一個是給模擬器跑的。因此我們還要再做最後一步,將這兩個.a檔打包成為一個merged的.a檔。執行下面的指令。

rake lipo

這大概只需要幾秒鐘就能跑完,跑完之後你會看到一個lib資料。裡面有一個libcocos2d iOS.a檔,檔案大小約 117.9 MB。這就是最終我們要的static library檔了。

Import Static Library到你的專案

選擇.xcodeproj檔 -> Build Phases -> Link Binary With Libraries。將紅字的library全都砍掉,重新加。

將剛剛做出來的static library加進Library清單裡。
然後將你的project裡的cocos2d_libs.xcodeproj裡的 libcocos2d Mac 和 libcocos2d iOS 這兩個Target都刪除掉(就是這兩個Target才導致build project速度變慢!)。cocos2d library裡的source code則留著,以方便日後寫code時可以回頭查看。
完成了! 享受飛快的build project速度吧!

現在你可以Clean整個Project,再重build。你會發現Xcode不會再去compile cocos2d原本的source files了。只會去compile你自己project裡的files。速度大概是原本的50倍以上,我猜~

That’s all … good luck! :mrgreen: