木匣子

Web/Game/Programming/Life etc.

我的游戏开发之路

其实我很早就想步入游戏开发的领域了,因为这是我小时候的梦想——记得我第一次邂逅计算机这个玩意的时候,我跟它玩了一局纸牌游戏。那时候我才7岁,对于从农村到城里的小孩来说,这体验实在是太神奇了!后来知道这东西叫电脑游戏后,冥冥之中有了想要自己开发游戏的念头。

我的 Mac 生活

很久没有更新Blog了,这学期发生了很多事情。可惜没有时间记下来,以后会遗憾吧…

上学期小舅舅慷慨解囊资助我买了一台 Macbook AIR,不敢奢求太多,所以选择了最低配置的水货11寸 Macbook AIR 64G

处理器  1.6 GHz Intel Core i5 内存  2 GB 1333 MHz DDR3 图形卡  Intel HD Graphics 3000 288 MB

想必用来做 iOS 开发机是够用了。

后来花了一个星期适应 Lion OS ,感觉真是非常棒!

经过了一学期的使用和摸索,现在已经很熟悉这个系统和开发工具了。但是由于上学期的课程比较繁忙,所以一直没有开始 iOS 的开发,只是稍稍学习了 Obj-C 和 Xcode,新的版本跟图书馆能借到的书籍真是差太多了!不过官方的资料真是非常丰富,用 Mac 自带的 Text to Speech 读文档很有意思哈~

另外还有一个比较头疼的问题就是自己没有一个 iOS 设备,学习起来会很枯燥吧。不过这个问题马上就可以解决了。这个暑假做了一个项目,赚的钱刚好够买一个牛排以及一年期的IOS开发者证书了 :) 真的好期待呀~

HTML5 为何这么强大

Google Chrome 支持 HTML5 不久之后,Angry Birds 还有 植物大战僵尸 分分制作了 WEB GAME 放在 Chrome WEB Store 上面。游戏效果毫不逊色于手机版,甚至PC版。这实在令人惊叹!未来几年借 GPU 之力,WEB APP / WEB GAME 绝对是一个广阔的舞台。Flash 的时代确实是可以告一段落了,以至于新版的 Adobe Flash 都提供了导出 HTML5 的功能。Google 也在此之前提供了 Flash 转 Html5 插件:Google Swiffy。而这其中最令我好奇的就是 HTML5 为何这么强大! 为初步探索 HTML5,在 Google 找了一些网站:

HTML5 中文社区里面的分类教程挺不错,我看了几篇翻译国外的质量比较好的文章,介绍了 Canvas 基本用途,并把里面的例子试验了一下:

Canvas 就好像是 Flash 的工作区、Java 的 JFrame,支持动态绘制图像——这意味着网页视觉效果一项质的飞越!要做出炫丽的网页已经不是问题,交互程序也是小菜一叠,要学会开发游戏什么的也是迟早的事。 除此之外,HTML5 标准还提供了 离线存储、WebSocket、视频播放 等特性,HTML5 如此强大,Web 3.0 时代指日可待!

Python 绕过网站登陆

学校的教学文件系统是半封闭的,学生登陆后选择指定的教师目录才可以查看里面的文件,对于某些加密的文件列表还需要输入密码才可以登陆。学生可以通过链接下载那些公开课件等教学资源。但是系统并没有提供一个检索引擎供学生搜索教学文件系统里的所有资源。

经过一番摸索,我发现如果直接在地址栏引用特定的文件索引号(id),就可以下载该链接对应的文件。这一途径给我提供了一条思路:可以写一个爬虫程序将教学文件系统上的所有资源扒出来,列成一个目录。如果再配上 sqlite 就可以完成一个简单的搜索引擎。

解决 GoAgent 证书无效警告

GoAgent 是我当前首选的代理工具,除了稳定的速度,最给力的就是能在教育网实现穿墙。如果要说有什么不足的话,就是一个月一天只有1G的流量(每个GAE帐号),不嫌麻烦的话可以多申请几个,每个gmail帐户可以免费开通10个Application。

GoAgent 项目主页 http://code.google.com/p/goagent/ Goagent 是一个使用 Python 和 Google Appengine SDK 编写的代理软件,可以运行在 Windows / Mac / Linux / Android / iTouch / iPhone / iPad 上。

配置 Android 开发环境

暑假的时候为了参加第二届 Android应用开发中国大学生挑站赛,自学了一点 Android 程序开发。以前没打算学 Java 编程的,但没想到 Android 还是让我走了一朝(Android 应用使用 Java 作为程序开发语言)。关于这个比赛让我最感兴趣的奖品居然是区域赛的参与奖——Android 背包——提交作品就有,何乐而不为!于是兴匆匆地下载开发工具折腾了起来。下面对配置 Android 开发环境的过程做一点记录,分享给大家。

使用 DC++ 下载资源

很多同学不屑于使用免费的宿舍的校园网,指其网速慢,无法访问国外网站等等,转而使用一学期250块大洋的电信宽带。其实校园网也有很多优点的,其中之一就是鲜为人知的 DC++ 电影服务器,上面有一个 4.37TB 的高清电影节点和一个 1.38TB 的高清美剧节点(不断增加中)以及其它同学分享的各种资源。**下载速度高达 10M/s!**首先来普及一下:

什么是 DC++?

Wikipedia.orgDC++ is a free and open-sourcepeer-to-peer file-sharing client that can be used to connect to the Direct Connect network or to the ADCprotocol. It is developed primarily by Jacek Sieka, nicknamedarnetheduck. DC++@中国站:DC++资源分享平台的出现完美的解决了FTP资源更新慢、下载慢,BT资源求种留种难,校园网被迅雷、Maze、Huntmine充斥大量不良资源等问题,是一个非常适合于中国高校网络发展现状的资源共享、节约校园网出口带宽的完美解决方案。
我们协会开设了开源的DC++中国交流平台,致力于推广DC++资源共享平台在国内高校的推广,从入门到精通,传授DC++服务器架设、管理维护技术,帮助定制客户端软件,以拥有一个资源极其丰富、飞速下载的健康教育网为最高目标。

在 GCC 中使用 math.h

最近在学习算法设计课程,需要写一些 c 程序。算法作业免不了要用到 math.h 库:

#include <math.h>

但是在 Linux GCC 环境下一编译就会出现类似如下的错误:

make all
Building target: SAT
Invoking: GCC C Linker
gcc  -o"SAT"  ./src/SAT.o   
./src/SAT.o: In function `main':
/home/mutoo/workspace/c/SAT/Debug/../src/SAT.c:38: undefined reference to `pow'

原来是因为 math库被放在了动态链接库中,如果程序中需要用到它,在链接时需要加上 -lm 命令:

$ gcc filename.c -lm -o  filename

其中 -l 是对库的引用;而 m 就是 math 库。 另外,对于 Eclipse CDT 的用户,可以进行如下配置

  • 选择菜单:Project > Properties…
  • 在对话框左边找到:C/C++ Build > Settings
  • 在对话框右边找到:Tool Settings > GCC Linker > Libraries
  • 单击 Libraries(-l) 边上的 [+] 号,增加一项
m

接下来就可以正常使用 math 库了。