kivy-ch9

射击app

前面提到过,在这一章我们来做射击(shoot-em-up,简写shmup)app,一个快节奏的射击游戏,比魂斗罗简单许多。

Read more…

3-feature-extraction-and-preprocessing

特征提取与处理

上一章案例中的解释变量都是数值,比如匹萨的直接。而很多机器学习问题需要研究的对象可能是分类变量、文字甚至图像。本章,我们介绍提取这些变量特征的方法。这些技术是数据处理的前提——序列化,更是机器学习的基础,影响到本书的所有章节。

Read more…

2-linear-regression

线性回归

本章介绍用线性模型处理回归问题。从简单问题开始,先处理一个响应变量和一个解释变量的一元问题。然后,我们介绍多元线性回归问题(multiple linear regression),线性约束由多个解释变量构成。紧接着,我们介绍多项式回归分析(polynomial regression问题),一种具有非线性关系的多元线性回归问题。最后,我们介绍如果训练模型获取目标函数最小化的参数值。在研究一个大数据集问题之前,我们先从一个小问题开始学习建立模型和学习算法。

Read more…

kivy-ch4-chat-app

Kivy网络编程

前面我们尝试过单一平台Android的Kivy开发,通过原生的底层API来实现。下面我们探索另外一种天生具有跨平台能力的工具来做app——网络。在这一章,我们做一个聊天app,类似于QQ,但是简单版。

Read more…

kivy-ch6-2048-app

2048 app

后面的章节,我们将逐步加深难度来介绍Kivy在游戏领域的开发过程,包括状态的管理,角色控制,音效和图象快速渐变的实现等。

这里提到的内容都是当今游戏开发中不可或缺的,因此有很多软件可以基于同样的算法和性能来实现这些功能,就像视频游戏一样。

但是,不积跬步,无以至千里。我们要踏出的第一步就是实现老少皆宜的2048游戏。

Read more…

kivy-perface

Kivy指南

作者:Mark Vasilkov

中文译者:Tao Junjie

前言

移动应用开发几年前就是热点了,现在是个软件用户就想要移动版。桌面操作系统也受到影响,跨平台的软件成为新常态。甚至通常局限于微软桌面操作系统的游戏开发者也开始找一些Mac和Linux平台上的工作了(比如Steam,目前有Mac游戏近4000个,SteamOS+Linux游戏2000多个)。

这对新手和个人开发者是大利好:跨平台的支持可以增加用户,销售量自然会更好。

但是,写可移植的软件是非常耗费资源的过程,对小公司和个人开发者的影响比大公司更甚。

尤其是许多平台都有不同语言的SDK:iOS用Objective-C和Swift,Android用Java,MS用.Net,更多是C#来开发软件。

使用这些工具可以通过系统功能来制作相应的原生应用,但是跨平台的代码重用变得十分困难。就算你精通所有语言和相关的操作,代码的移植仍然是一件复杂的事情。

Read more…

kivy-ch8-shaders-app

着色器app

恭喜你Hold到现在!最后两章我们准备讨论一些OpenGL的底层细节,与Kivy完全不同的内容,比如OpenGL着色器语言(OpenGL Shading Language,GLSL)。这个语言可以让我们轻松写出高性能的代码。

我们将通过一个屏幕保护程序来介绍OpenGL的特性,然后做一个射击游戏(shoot-em-up game,shmup)app。本章的代码是准备工作,和其他项目都是一章不同,射击游戏在下一章做。

Read more…