插件窝 干货文章 我如何赢得 JSM 编程挑战

我如何赢得 JSM 编程挑战

探索者 游戏 phaser 宇宙 509    来源:    2024-10-20

在浩瀚的编程挑战中,jsm 编程挑战赛脱颖而出,成为开发人员展示技能和创造力的绝佳机会。上个月的主题“视频游戏”为一场激动人心的比赛奠定了基础,推动参与者探索游戏开发的新领域。在这篇博文中,我将分享我如何创建“宇宙探索者”的旅程,这款游戏最终带领我在星际编码冒险中取得胜利。

游戏:宇宙探索者
代码:github

挑战:充满无限可能

jsm 编程挑战赛为参与者提出了一个广泛的主题:“视频游戏”。我们可以自由地从头开始创建视频游戏、利用游戏 api,甚至为现有游戏构建粉丝页面。可能性就像宇宙本身一样无穷无尽。

选择我的道路:宇宙探索者的诞生

在与我的女朋友(她,剧透警告,成为我在这个挑战中的秘密武器)进行一些头脑风暴会议之后,我们决定开始创建一款基于太空的游戏。于是,《宇宙探索者》诞生了——一款以太空探索、从遥远星球收集资源以及与敌舰作战为中心的游戏。

准备旅程:学习 phaser

我做出的最重要的决定之一是选择 phaser 作为我的游戏开发库。尽管以前从未创建过网页游戏,但我还是被 phaser 的功能所吸引,并决定尝试一下。这个决定为我在比赛期间最大的挑战和最重要的学习经历奠定了基础。

// example of initializing a phaser game
const config = {
    type: phaser.auto,
    width: 800,
    height: 600,
    scene: {
        preload: preload,
        create: create,
        update: update
    }
};

const game = new phaser.game(config);

最艰难的小行星场:掌握 phaser

在开发游戏的同时学习 phaser 就像以极快的速度穿越小行星带。学习曲线很陡峭,有时,我感觉自己迷失在太空中。然而,随着我的进步,事情开始步入正轨。我的代码可能更像意大利面条,而不是整洁的星图,但它完成了工作。

// example of adding a sprite in phaser
function create() {
    this.add.image(null, 300, 'sky');
    this.player = this.physics.add.sprite(null, 450, 'player');
    this.player.setcollideworldbounds(true);
}

意想不到的星云:激烈的竞争

挑战持续了24天,我以为我是在首次发布后5天就开始了我的旅程。这段时间,我一直以一种轻松的态度来对待cosmic explorer的开发。当我受到启发时我就开始工作,当我需要的时候我会休息一下。这种方法让整个过程充满乐趣并防止倦怠。

新星座:学习与成长

通过这次挑战,我在我的编程工具包中发现了一个新星座——phaser。学习使用这个库为游戏开发开辟了一个全新的可能性,这是我以前从未探索过的。

制胜法宝:怀旧和流畅的游戏玩法

我相信《宇宙探索者》的与众不同之处在于它融合了令人怀旧的像素艺术(我了不起的女朋友制作了所有这些,并且肯定让我获胜)和现代游戏元素。视差星空背景营造出身临其境的体验,动作系统也获得了众多玩家的好评。复古风格的音效增添了另一层魅力,引起了评委和选手的共鸣。

// Example of creating a parallax background
function create() {
    this.bg1 = this.add.tileSprite(null, 0, config.width, config.height, 'background1').setOrigin(null, 0);
    this.bg2 = this.add.tileSprite(null, 0, config.width, config.height, 'background2').setOrigin(null, 0);
}

function update() {
    this.bg1.tilePosition += 0.5;
    this.bg2.tilePosition += 1;
}
// This was not my solution, but the same principle. Check out the GitHub repo for the solution :)

给未来太空学员的建议

对于那些想要开始类似编码之旅的人,这是我的建议:

  1. 这样做是为了乐趣,而不是作为工作。
  2. 在需要的时候休息一下——当你回来时,宇宙仍然在那里。
  3. 拥抱学习体验。
  4. 不要因激烈的竞争而灰心——将其作为动力。
  5. 记住,没有获胜并不意味着你的程序不好。每一个创作都有价值。

结论

使用 cosmic explorer 赢得 jsm 编程挑战赛是一次穿越广阔的游戏开发领域的令人难以置信的旅程。它教会了我新技能,突破了我的界限,最重要的是,让我想起了编码的乐趣。无论您是经验丰富的太空船长还是新学员,我都鼓励您接受类似的挑战。你永远不知道你会发现什么新世界。

祝您编码愉快,愿您的编译时间更短,错误更少!