新手教程 - 如何发布你的EasyX游戏

有小伙伴在交流群里问起如何发布自己的游戏,才意识到还有这个问题。之前的视频教程只是讲解了如何在VisualStudio中编写EasyX相关的代码,并没有提到如何将完成的项目发布的方法,这种问题在很多教程中都是默认学习者已经掌握了,但实际情况是如何打包发布涉及到开发工具使用和编译选项等诸多概念,想来自己初学时也踩过很多坑,便整理一下相关的内容,供新手小伙伴们参考。

群聊记录

本文以提瓦特幸存者进阶版的项目为例,以点带面地讲解新手在发布自己的程序时可能遇到的问题和对应的解决方案,本项目开发环境为VisualStudio2022,图形库为EasyX,使用其他开发环境或图形库的C++项目操作相似。

阅读更多

Soloud 踩坑日志

由于新作对引擎内核的音频模块提出了更高的要求,所以一直陪伴在身边的 SDL_mixer 便差不多该结束他的职业生涯了,是时候进行新的音频内核探索了,本文主要围绕着在探索过程中遇到的让人又爱又恨的 Soloud 音频库展开记录——

为什么是 Soloud ?

因为在研的下一代引擎 StarDustEngine 暂定目标仍为开源项目,截止到目前为止所依赖的所有三方库均为开源,在协议方面对于再分发和商业使用都没有太大限制,所以,对于常见音频库的选择思路:

  • OpenAL:其实玩 OpenGL 已经耗费了几乎所有精力,所有 OpenXX 的这种相对底层的库,现在的我大概保持一种敬而远之的态度;
  • FMODE:我承认他很强大,但是他太过于强大了,这种次时代的商业音频库对于我们现在能力范围内所实现的轻量级小体量引擎来说,就像是小正太在被大车开;更何况,FMODE 不仅不开源,在商业授权上也是一套又一套,一眼望过去便繁琐至极;
  • SDL_mixer:诚然,作为 SDL 全家桶中的重要一环,使用起来算是极其方便的,但是,简明的 API 所带来的反面效果便是开发者很难从相对底层的层面上去控制音频播控,从而无法实现效果器和响度调控等功能,这正是下一代引擎所必须的功能;
  • IrrKlang:算作是相对小众的老牌音频库,虽然自己没有深度使用过,但是在学习过程中看到过很多资料作者都在用其进行项目教学;仔细了解下后才发现,IrrKlang 同样没有开源,且对商业授权付费,所以依然 Pass;
  • Soloud:开源,免费,并且专为游戏打造,虽然比较小众,但是当我看到下文时,我就决定是他了:

    If you’re planning to make a multi-million budgeted console game, this library is (probably) not for you. Feel free to try it though :-)
    如果您计划制作一款预算数百万美元的主机游戏,那么这个库(可能)不适合您。不过请随意尝试一下:-)

Soloud Logo

阅读更多

关于拼凑MySQL语句时出现MySQLSyntaxErrorException错误提示


今天在学习JDBC时拼凑了如下MySQL语句,作为参数传给executeQuery()方法,运行时出现了运行时异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near……

错误的拼凑代码

错误提示

出错原因:拼凑出的sql字符串实际为“SELECT id, name, email, birthFROM customersWHERE”,其中birth与FROM以及customers与WHERE之间无空格,不符合MySQL语法标准,故会出现如上错误。

阅读更多