2014年11月13日 星期四

第六屆全國孕龍盃遊戲與遊戲機創意設計比賽開跑了



活動報名

    線上報名、作品構想書及切結書資料線上上傳

    報名截止日期:103年12月15日週一

比賽日期

    現場展示評審

    地點:國立勤益科技大學 青永館

    日期:104年04月18日週六

2014年10月26日 星期日

Arduino S4A Sensor Board基礎實驗

S4A Sensor Board for Arduino是專為Arduino設計的子板,包括了以下元件,方便進行基礎IO實驗:

  • 四個RJ11接頭,可外接其他裝置 (D2/D3, A3, A4, A5) 
  • 一個一公分大小的按鍵開關 (D2)
  • 一個蜂鳴器 (D9)
  • 一個麥克風 ( A2)
  • 兩顆 LED 顯示,一顆為紅色(D10),一顆為綠色 (D11)
  • 一個滑桿可變電阻(10K),有效行程65mm (A0)
  • 一個光感測元件 (A1)
  • 預留一個藍芽孔位 (UART)


教學投影片
http://www.slideshare.net/sshiouwu/s4-a-sensor-board

使用123D circuits學Arduino

123D Circuits是Autodesk公司的一款免費線上CAD工具,可設計電路圖、接線圖、PCB佈線圖,並支援電路模擬功能。
網址: http://123d.circuits.io/
教學投影片
http://www.slideshare.net/sshiouwu/123d-39657796

2014年7月7日 星期一

Code.org自學課程

程式設計可以好玩、輕鬆學習,不要再從Hello World學習程式設計了
20小時的免費自學課程,http://learn.code.org/


以玩遊戲方式,直覺地訓練邏輯思考及程式設計

2014年6月17日 星期二

Scirra發布Construct 2 r173版本

Scirra於2014年6月16日發行Construct 2 R173版本,新功能包括:

支援谷歌遊戲服務
支援Twitter整合 
即實陰影投射效果 

視頻撥放插件
滑桿控件

進度條控件

支援新一代W3C標準化的Web應用程序manifest
改進在編輯器中的高DPI顯示功能

2014年6月1日 星期日

使用CocoonJS封裝Construct 2專案APK

1. 確認專案已設定Full screen in browser
  a.File/Export project…
  b.選取Mobile/CocoonJS
  c.專案會被壓縮為zip檔
2. 調用CocoonJS Cloud Compilation Service
  a.上傳Construct 2匯出的壓縮檔
  b.等待CocoonJS通知郵件
3. 下載CocoonJS轉換完成的壓縮檔

CocoonJS建構的壓縮檔中包括debug及unsigned release二種版本APK,前者以_debug_signed.apk結尾,後者以_release_unsigned.apk結尾。
unsigned release版本APK檔需要再使用keystore簽章後才可以發佈到Google Play
jarsigner -verbose -keystore your.keystore your_release.apk alias_name


教學投影片


2014年5月27日 星期二

使用XDK發佈Construct 2專案到Android手機


1. 安裝Intel XDK
下載:http://xdk-software.intel.com/
2. 註冊XDK用戶帳號
3. 匯出Construct 2專案
a. 確認專案已設定Full screen in browser
b. Construct2功能表File/Export project…,選取Mobile/Android
4. 使用XDK封裝步驟3匯出的Construct 2專案
a. Start with a Blank Project,指定專案名稱及儲存目錄
b. 將Construct 2匯出的資料夾複製到XDK專案www資料夾
c. 按下Build App Now按鈕,將Construct 2專案封裝成APK檔

教學投影片

2014年4月28日 星期一

Construct 2多人連線遊戲開發

Construct 2日前推出r168版本,支援多人連線遊戲開發,並新增3個範例及線上教學文件
多人連線遊戲原理教學
https://www.scirra.com/tutorials/892/multiplayer-tutorial-1-concepts

多人連線遊戲範例程式:
1. Multiplayer chat      線上交談程式
教學文件網址
https://www.scirra.com/tutorials/906/multiplayer-tutorial-2-chat-room

2. Multiplayer game    線上射擊遊戲
教學文件網址
https://www.scirra.com/tutorials/915/multiplayer-tutorial-3-real-time-game

3. Multiplayer pong    線上雙人回力球遊戲


2014年4月18日 星期五

雲端543

雲端(clouding)是近年來最熱門的話題,一時之間「人雲亦雲,所有活動、研討會、產品都與雲端有關。似乎只要冠上雲端就是高科技、高品質、高深莫測,該人覺得雲深不知處。
為促使台灣成為雲端運算科技創新基地,我國也在經濟部技術處的指導下,由工研院、資策會、中華電信、台灣區電機電子公會與中華民國資訊軟體協會等機構,於2010年11月聯合成立「台灣雲端運算產業協會」(Cloud Computing Association inTaiwan),以期集結我國最具實力的資通訊軟硬體業者及服務營運業者締約結盟,共同發展高度軟硬體整合的雲端系統平台,並推動三大類雲端應用服務。


台灣雲端運算產業協會使用台灣雲豹標誌(圖片來源http://www.twcloud.org.tw/Cloud/upload/activity/a12d93c8c96400000af62.jpg)

資訊科技走向雲端是絶對必然,但它絕不是新瓶裝舊酒,而是從硬體到軟體,從頭到腳調整體質,改頭換面。使用Google搜尋,您會找到一籮筐對雲端的各自表述,有時還會聽到雲端就是「將資料的儲存及運算等工作交由遠端的伺服器去做,並透過網路來傳輸這些資料」,如果只是這樣,那這跟Web based、Web Service、Web computing又有什麼不同?想要認識雲端,最直接就是從美國國家標準與技術研究院(National Institute of Standards and Technology, NIST)對雲端運算(Cloud Computing)的定義一窺雲端奧義:

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

意思是說雲端運算是一種能在最少管理作業或與服務供應商互動下,從可動態配置的共用運算資源池(如網路,伺服器,儲存空間,應用程序和服務),快速配置和發布符合用戶需求的網路存取服務模式。

光是這樣說感覺還是有聽沒有懂,更準確地說,雲端運算應該具備5個基本特性(characteristics)、應用3種服務模型(service models),及使用4種部署模型(deployment models)其中一種:

This cloud model promotes availability and is composed of five essential characteristics (On-demand self-service, Broad network access, Resource pooling, Rapid elasticity, Measured Service); three service models (Cloud Software as a Service (SaaS), Cloud Platform as a Service (PaaS), Cloud Infrastructure as a Service (IaaS); and four deployment models (Private cloud, Community cloud, Public cloud, Hybrid cloud). Key enabling technologies include: (1) fast wide-area networks, (2) powerful, inexpensive server computers, and (3) high-performance virtualization for commodity hardware.

首先說明雲端運算5個基本特性。

On-demand self-service:客戶可以依其實際需要來索取計算資源(例如伺服器服務或儲存空間),且整個過程是單方面自動化的,無須服務供應商介入處理。

Broad network access:透過廣泛網路提供服務,且有標準機制能讓不同的客戶端平台(如桌機、筆電、平板、智慧型手機等)都可以使用。

Resource pooling:服務供應商所提供的運算資源,如儲存空間、網路頻寬、計算能力、虛擬機器數量等,可類比為一個大水池,能隨時依需要(重新)分配給不同平台的多個使用者。

Rapid elasticity:運算資源可以快速且有彈性地配置或回收,且對客戶而言,資源是取之不盡且可以客製化。

Measured service:運算資源可依其所提供的服務特性被自動控管及最佳化。服務供應商與使用者雙方都可透明地檢視這些運算資源使用情形。

其次是雲端運算的三種服務模型

IaaS
IaaS的概念是用戶依據組織所需的IT基礎設施和資源,向IaaS服務供應商付費租用。IaaS的商業模式為使用才付費,用戶僅需支付他們使用的服務。而IaaS服務供應商是透過虛擬化提供私合客戶端需求的客制化服務,使承載的硬體資源整體使用效益更高。

相較於自行購買伺服器、軟體及網路設備來建構IT基礎設施和資源,愈來愈多中小企業選擇使用IaaS,不僅馬上就能使用企業級 IT基礎設施和資源,管理及維護成本也較符合組織效益。

SaaS
是一種以提供軟體服務為觀念的服務框架,軟體服務供應商以租賃的概念提供客戶軟體使用權,用戶不用個別購買軟體。比較常見的作業模式是提供授權使用帳號密碼,此服務軟體是安裝於集中式的網路伺服器並確保用戶可在網際網路或者區網內執行其功能。由於具備高靈活性、卓越的服務、強大的可擴展性和較低的維護成本,是目前最流行的雲端運算類型。像是Google Apps、Saleforce.com、MS Office 365。

PaaS
平台即服務提供用戶開發雲端應用服務所需的開發環境部署,藉由平台服務供應商提供的程式模組、程式庫與服務,來開發所需的應用程式。使用者不需要管理與控制雲端基礎設施,包含網路、伺服器、作業系統或儲存,但需要控制上層的應用程式部署與應用代管的環境。
PaaS將軟體研發的平台做為一種服務,以軟體即服務(SaaS)的模式交付給使用者。因此,PaaS 也是 SaaS 模式的一種應用。PaaS可以加速SaaS的發展,尤其是加快SaaS應用的開發速度。

圖片來源http://upload.wikimedia.org/wikipedia/commons/3/3c/Cloud_computing_layers.png

最後說明雲端系統的4種部署模式。

Private cloud:私有雲,是將雲端基礎設施與軟硬體資源建立在企業防火牆內,以供機構或企業內各部門共享數據中心內的資源。私有雲完全是為特定組織而運作的雲端服務,管理者可能是組織本身,也可能是第三方;位置可能在組織內部,也可能是在公用雲供應商。

Public cloud:公用雲,由第三方供應商提供一般公眾或大型產業集體使用的雲端基礎設施,雲端服務供應商藉由租借方式出售雲端服務,提供客戶有能力部署及使用雲端服務 。像是Amazon EC2、Amazon S3 Cloud 服務、中華電信Hi Cloud 服務。

Community cloud:社群雲,由數個組織因共同利益考量共同的私有雲,提供參與建置的組織使用。

Hybrid cloud:混合雲,由兩個或更多雲端系統組成雲端基礎設施,這些雲端系統包含了私有雲、社群雲、公用雲等。這些系統保有獨立性,但是藉由標準化或封閉式專屬技術相互結合,確保資料與應用程式的可攜性。

下次看到雲端系統時,除了看熱鬧,不妨思考它是不是具備雲端的基本特性,屬於那一種服務模型,採用何種部署模型。


參考資料
http://csrc.nist.gov/groups/SNS/cloud-computing/

2014年4月8日 星期二

Construct 2教學:解析Webcam - face shape範例

本範例展示Construct 2在Webcam影像上加上遮罩功能

Construct 2教學:解析Move to mouse範例

本範例展示透過bullet行為該玩家向目標點移動,到達目標點後自動停止。
講義下載

2014年4月3日 星期四

Construct 2教學:解析Webcam範例

本範例展示Construct 2擷取Webcam影像功能

2014年3月31日 星期一

Construct 2教學:解析sine behavior - type範例

本範例展示sine行為之Movement屬性效果


Construct 2教學:解析sine behavior - grass範例

本範例展示利用sine行為來模擬草地隨風搖擺的效果


講義下載

2014年3月10日 星期一

Construct 2教學:解析rotating platformer範例

本範例展示Construct 2player為旋轉軸移動功能,當player在平台上跳躍移動時,場景會旋轉讓player維持在畫面中間。


2014年2月28日 星期五

Construct 2教學:解析Positioned audio範例

本範例展示Construct 2方位性音效功能。player物件在場景中移動時會感受不同音源的方向性與距離感。

2014年2月16日 星期日

Construct 2教學:解析Persist layouts範例

本範例展示場景切換及如何透過Persist行為來保留場景物件狀態。另外,也示範如何讓玩家物件跨場景移動。
主場景:
子場景:




2014年2月12日 星期三

Construct 2教學:解析pick nearest範例

本範例展示如何自動標示場景中距離滑鼠游標最近的物件。

講義下載

Construct 2教學:解析Pathfinding - path cost範例

本範例展示如何透過Pathfinding行為,讓物件自動在不地形區域及有障礙物的空間中尋找短路徑,並向目標點移動。
點擊場景任一位置,player物件會自動計算短路徑,顯示路徑節點,並向終點移動;如果找不到可通行路徑,player物件會閃爍一秒。
按下M鍵,會顯示場景中的障礙區 (不可通行)
下載講義

Construct 2教學:解析Pathfinding範例

本範例展示如何透過Pathfinding行為,讓物件自動在一個有障礙物的空間中尋找路徑,並向目標點移動。
點擊場景任一位置,player物件會自動計算短路徑,顯示路徑節點,並向終點移動;如果找不到可通行路徑,player物件會閃爍一秒。
按下M鍵,會顯示場景中的障礙區 (不可通行)
講義下載

2014年2月11日 星期二

Construct 2教學:解析Particle thruster範例

本範例展示如何應用Construct 2粒子物件製造火箭推進器噴煙效果。
火箭推進器在無動力空間,按向上箭頭會噴射加速,按向下箭頭減速,按向左或向右箭頭可調整火箭推進器方向。
講義下載

2014年2月10日 星期一

Construct 2教學:解析Particle double fountain範例

本範例展示如何使用Construct 2粒子物件在場景左右兩側營造噴泉效果。

Construct 2教學:解析Particles single fountain範例

本範例展示如何使用Construct 2粒子物件來製造噴泉效果。
講義下載

2014年2月9日 星期日

Construct 2教學:解析Particle effect demo範例

本範例展示Construct 2粒子物件效果,執行時會顯示目前畫面更新率、CPU使用率、及粒子總數,也允許使用者拖曳調整粒子物件位置。
講義下載

Construct 2教學:解析Particles explosions範例

本範例展示如何使用Construct 2粒子物件One-shot模式來製造爆破效果,以粒子物件每次爆破效果並不會一樣,這是使用連續動畫無法做到。

Construct 2教學:解析Particles fire範例

本範例展示如何使用Construct 2粒子物件來製造火焰效果。
講義下載

2014年2月8日 星期六

Construct 2教學:解析Microphone input範例

本範例展示如何在Construct 2讀取麥克風音訊資料進行FFT處理,並顯示FFT分析結果。

2014年2月7日 星期五

Construct 2教學:解析Geolocation範例

本範例展示Construct2之Geolocation物件擷取座標定位資訊功能,並使用Browser物件查詢Google map網頁地理座標。
講義下載

Construct 2教學:解析Lighting範例

本範例展示Construct2之材質圖層混色功能來達到探照燈效果。



講義下載

2014年2月4日 星期二

Construct 2教學:解析Instance variables範例

本範例展示Construct2之Instance variables功能。
Instance variable可讓物件個體儲存屬於自己的資料值。



2014年1月29日 星期三

Construct 2教學:解析Families範例

本範例展示Construct2之Families及事件表群組功能。
Families功能可讓家族成員擁有相同的物件變數,並共用事件處理,簡化事件處理作業。
而透過事件表群組,可以啟用或關閉整個群組的事件。



2014年1月22日 星期三

Construct 2教學:解析Platform 9 – jump thru範例

本範例展示在平台遊戲中加入可穿越的跳板

建立新專案
a.      New empty project
b.      Saveàplatform 9 – jump thru.capx

決定場景及遊戲畫面尺寸
a.      Layout1Layout Size屬性:1280, 1024
b.      Project屬性:
Window Size
à640, 480
Fullscreen in browser
àoff
Nameàplatform 9 – jump thru

在場景中加入跳板物件
a.      Insert new Objectà General/Sprite
Load an image from a fileà選取block.png
b.      Nameàboard
c.       Sizeà240, 35
d.      Behaviors
Add newàAttributes/Solid

Ctrl-drag複製5board
適當調整6board物件位置

加入玩家物件
a.      Insert new Objectà General/Sprite
Load an image from a fileà選取gear.png
b.      Nameàplayer
c.       Sizeà48, 48
d.      Behaviors
Add newàMovements/Platform

玩家掉落平台後自動重生
a.      切換到Event sheet
b.      Add event
playeràSize & Position/Is outside layout
c.       Add action
Playerà Size & Position/Set positionà130, 180

讓場景跟隨玩家捲動
a.      切換到Layout
b.      點選player
c.       Behaviors
Add newàGeneral/Scroll To

在場景上新增一個訊息圖層
a.      Layers面板/Add layer at top
b.      NameàUI layer
c.       TransparentàYes
d.      Parallaxà0, 0   (同步移動圖層,前後圖層沒有視差)
e.      點選Layer 0
f.        NameàPlayer layer

加入訊息物件
a.      Insert new Objectà General/Text
b.      Nameàscore
c.       LayeràUI layer
d.      Horizontal alignmentàLeft
e.      Vertical alignmentàTop
f.        Sizeà200, 22

取消預設使用方向鍵控制玩家物件
a.      點選player
b.      Behaviors/Platform/Default controlsàNo

加入鍵盤物件
a.      Insert new Objectà Input/Keyboard

設定按W鍵時使玩家跳躍
a.      切換到Event sheet
b.      Add event
KeyboardàKey is downàW
c.       Add action
playerà Platform/Simulation controlàJump

設定按D鍵時使玩家右移
a.      Add event
KeyboardàKey is downàD
b.      Add action
playerà Platform/Simulation controlàRight

設定按A鍵時使玩家右移
a.      Add event
KeyboardàKey is downàA
b.      Add action
playerà Platform/Simulation controlàLeft

設定專案為全螢幕執行
a.      專案屬性
Fullscreen in browseràCrop
b.      Layout1屬性
Unbounded scrollingàYes

切換到Layout
適當調整2board物件之大小、位置、角度,使其傾斜

在場景中加入移動跳板物件
a.      Insert new Objectà General/Sprite
b.      Load an image from a fileà選取block2.png
c.       Nameàmovingboard
d.      Sizeà150, 35
e.      LayeràLayer 0
f.        Behaviors
Add newàAttributes/Solid
g.      Behaviors
Add newàMovements/Sine
屬性:
Period
à5
Magnitude
à150

在場景上新增一個背景圖層
a.      Layers窗格/Add layer at top
b.      Move layer down調到最下層
c.       NameàBackground layer
d.      Background colorà204, 255, 255
e.      Parallaxà30, 30 (背景圖層與前面圖層移動視差30%)
f.        點選Player layer
g.      TransparentàYes

加入背景雲物件
a.      Insert new Objectà General/Sprite
b.      Nameàcloud
c.       LayeràBackground layer

Ctrl-drag複製4cloud
適當調整5cloud物件位置

設定按Space鍵時使畫面震動
a.      切換到Event sheet
b.      Add event
KeyboardàKey is downàSpace
c.       Add action
playerà ScrollTo/ShakeàMagnitude: 20, Duration: 0.4, Mode: Reducing magnitude

在場景中加入可穿越跳板物件
a.      Insert new Objectà General/Sprite
b.      Load an image from a fileà選取block2.png
Nameàjumpthru_board
Sizeà150, 35
LayeràPlayer layer
Opacity
à50
c.       Behaviors
Add newàAttributes/Jump-thru

Ctrl-drag複製2jumpthru_board

適當調整3jumpthru_board物件位置