前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >思否独立开发者丨@冒泡的马树 :沉迷于赛博朋克编程世界的「玩家」

思否独立开发者丨@冒泡的马树 :沉迷于赛博朋克编程世界的「玩家」

作者头像
用户7454708
发布2023-05-08 09:34:32
发布2023-05-08 09:34:32
2060
举报
文章被收录于专栏:宗恩宗恩

独立项目名称:基于 JSXGraph 的生命游戏在线演示网站


SegmentFault 思否社区的小伙伴大家好!我是沉迷于赛博朋克编程世界的新手村菜鸟马树菌,目前在深圳大学电子科学与技术专业读大四。如果谈到梦想的话,因为深受《硅谷》影响,将来想要在互联网领域里闯出一片天地,并深耕某个细分领域做到最强!不过目前面临留学或工作的选择,还是想找到一个东家先养活自己.....

从去年四月份开始到今年四月份,自己开发了一个使用 JSXGraph 动画库实现的生命游戏在线演示网站。项目初衷是实现一个可以立即在 WEB 端运行且用户体验友好的生命游戏方案,降低对生命游戏自动机模型感兴趣的人们体验的门槛,也可以说是更好的进行数学科普。

值得一提的是,项目得到了 GitHub Education 团队的嘉奖,还在 GitHub Education 的学生作品页面得到展示。


  项目介绍

立项日期:约2019年4月份开始 项目背景:基于自己实现的生命游戏JS算法代码构建一个优雅的界面 面向群体:对生命游戏感兴趣的人群 建立目的:折腾出一个跟网上见到的黑白格子模式的生命游戏实现都不太一样的生命游戏在线演示网站

生命游戏传送门

生命游戏又称细胞自动机。反映了生命演化的规则。它由剑桥大学的数学家约翰·康威所提出,并且借由 1970 年发表在《科学美国人》上的文章而变得出名。 生命游戏原理:生命生活在二维环境中,每个生命生活在一个方格中,每个细胞在下一个时刻的状态取决于周围 8 个细胞的活着或死了的状态。

算法描述:

对于一个存在活细胞的方格:

周围有 1 个或无活细胞的话,由于孤独,细胞死亡;

周围有 4 个以上活细胞的话,由于拥挤, 细胞死亡;

周围存在 2 或 3 个活细胞的话,活细胞存活。

对于一个空方格或存在死亡细胞的方格:

周围有 3 个活细胞的话,方格有活细胞生成。

技术栈:

前端:

JSXGraph、Bootstrap、EJS、JQuery;

后端:

Heroku Serverless、Node、Express。

功能描述:

用户可以在画布上点击激活或取消细胞,选择一些知名的预设细胞模式,还可以切换中英文模式。游戏开始后用户可以暂停、继续或重置,以及选择不同的演化速度。

快问快答

Q:思否技术编辑:@宗恩

A:@冒泡的马树

Q:如何定义“独立开发者”?

A:“独立开发者”定义的着重点应该是项目的独立性,自始至终完全凭开发者的个人意志,臻于至善,不受纯粹商业气息的浸染以至缺乏了灵性。项目的独立方才彰显开发者的独立精神,但并不应该就据此绑架了开发者,要求其一定得实现所有项目的独立。

Q:为什么选择成为一名独立开发者? A:只是凭借个人的兴趣爱好独立捣弄一些项目罢了,所谓“独立开发者”称号仅是副产物。兴趣才是第一性驱动力。

Q:独立开发过程中遇到过哪些困难?最难搞定的是什么? A:最主要的还是拖延症吧。这个时候开发进度实在感人。

其他使自己十分刻骨铭心的困难的话我想提及一下自己刚开始使用 JSXGraph 动画库的时候遇到的问题。自己选用 JSXGraph 来实现生命游戏界面的的一个很重要的因素就是自己十分喜欢它的红点元素,让人觉得很有细胞的感觉,而且 JSXGraph 是一个十分成熟完整的框架了,有着十年多的历史,文档方面都十分完善,不过国内没能找着几个使用它的项目作为参考,15 年的时候倒有个方正公司的工程师用它搭了一个数学演示网站。

所以自己也就只能咬着牙啃官方文档了。刚开始的时候在如何创建红点并通过鼠标点击事件取消红点这个技术细节上耽搁了好久,因为官方文档并没有直接给出介绍。自己无计之下只能去 StackOverflow 的 JSXGraph 主题下求助,也去 JSXGraph 的仓库里提了 Issue。最终的话自己是翻遍了官方文档的示例才在一个例子中找到了与这个技术细节有关的蛛丝马迹。后来 JSXGraph 的核心维护者在 StackOverflow 上帮忙回答了下这个问题,自己从而第一次与他相识,某所德国大学的数学教授。几个月后自己的网站总算可以拿出台面了,再次浏览 JSXGraph 的官方网站时,了解到他们正准备举办第一届 JSXGraph 国际会议,对自己的作品还算颇有信心的我也便用 LaTeX 写了篇演讲简介发过去了,没想到得到了他们的赞赏。自己激动的小心情呐!不过由于疫情因素,他们当时还没有决定线下举办还是全程线上。不过,前两天这位德国教授来了邮件说他们最终决定将会议全程搬到线上,也邀请每一位与会者都发表自己的演讲或准备工作坊。自己看来还是得提前准备一下,到时候还得全英演讲,推销阐述下自己的生命游戏作品,以及其中的哲学——

呃!好像有些跑题了,战胜困难后的喜悦也不算离题吧(^-^)V~~

Q:推荐你最喜欢的一款产品 / 游戏 / App?并说明原因 A:Microsoft To Do. 每天一个小目标。

Q:分享一下你的技术栈? A:目前都是Python + JavaScript,先前的话也捣弄过PHP。

Q:分享一下你日常的工作流? A:疫情影响,一直待在家里。Microsoft To Do每日提醒戴尔卡耐基的名言“只生活在今天的密封舱里”,检查邮箱,在Cousera、Frontend Masters上充充电。依具体的项目,打开Vscode、Pycharm、Jupyter Notebook或微信小程序IDE,沉浸其中,遁入虚空。

Q:日常兴趣爱好 A:散步、撸猫、听古典及一些技术播客

生活照和工作台的照片

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 算法描述:
  • 技术栈:
  • 快问快答
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档