-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deploying to gh-pages from @ 3bd2ba9 🚀
- Loading branch information
Showing
11 changed files
with
183 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
<!doctype html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta content="IE=edge" http-equiv="X-UA-Compatible"/> | ||
<meta content="text/html; charset=UTF-8" http-equiv="content-type"/> | ||
<meta content="width=device-width, initial-scale=1" name="viewport"/> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<title>LinkSider</title> | ||
|
||
<meta name="title" content="LinkSider"> | ||
|
||
<meta name="description" content="Puzzle Game"> | ||
<meta name="generator" content="Zola v0.16.1"> | ||
|
||
<meta property="og:type" content="website"> | ||
<meta property="og:url" content="https://linksider.kuviman.com/steam-announcement/"> | ||
<meta property="og:site_name" content="LinkSider"> | ||
<meta property="og:title" content="LinkSider"> | ||
<meta property="og:description" content="Puzzle Game"> | ||
|
||
|
||
|
||
|
||
<meta property="twitter:card" content="summary_large_image"> | ||
<meta property="twitter:url" content="https://linksider.kuviman.com/steam-announcement/"> | ||
<meta property="twitter:title" content="LinkSider"> | ||
<meta property="twitter:description" content="Puzzle Game"> | ||
|
||
|
||
|
||
<link rel="canonical" href="https://linksider.kuviman.com/steam-announcement/"> | ||
|
||
<script type="application/ld+json"> | ||
{ | ||
"description":"Puzzle Game", | ||
"url":"https://linksider.kuviman.com/steam-announcement/", | ||
"@type":"WebSite", | ||
"headline":"LinkSider", | ||
"name":"LinkSider", | ||
|
||
"@context":"https://schema.org" | ||
} | ||
</script> | ||
|
||
|
||
|
||
<link rel="stylesheet" href="https://linksider.kuviman.com/style.css"/> | ||
|
||
</head> | ||
<body theme="auto"> | ||
<div class="w"> | ||
<header> | ||
|
||
|
||
<p><a href="/steam-announcement/..">..</a>/steam-announcement/</p> | ||
|
||
<h1></h1> | ||
|
||
</header> | ||
<main class="page-content" aria-label="Content"> | ||
|
||
<h1 id="linksider-is-coming-to-steam">Linksider is coming to Steam</h1> | ||
<!-- <img class="hero" src="../logo.png"></img> | ||
--> | ||
<p>Hello!</p> | ||
<p>Linksider is a puzzle game that was originally made for <a href="https://itch.io/jam/bevy-jam-3/results">Bevy Jam 3</a> (and took #1). | ||
After spending more than a year porting, rewriting, | ||
and iterating over the initial gamejam version, | ||
Linksider is coming to Steam!</p> | ||
<p><a href="https://store.steampowered.com/app/2995150/Linksider/"><strong>You can wishlist it now</strong></a></p> | ||
<p><iframe src="https://www.youtube.com/embed/z5RePgXW5yM" | ||
style="width: 640px; height:360px;" frameborder="0" | ||
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" webkitallowfullscreen | ||
mozallowfullscreen allowfullscreen> | ||
</iframe> | ||
<em style="display: inline-block;">Linksider trailer</em></p> | ||
<h2 id="jam-version">Jam version</h2> | ||
<p><img class="hero" src="bevyjamresults.png"></img> | ||
|
||
<em style="display: inline-block;">bevy jam results</em></p> | ||
<p>If you didn't play the jam version, you can do so on <a href="https://kuviman.itch.io/linksider">itch.io</a>.</p> | ||
<p>A lot of changes happened since then, which I describe shortly in this blog post.</p> | ||
<h2 id="custom-game-engine">Custom game engine</h2> | ||
<p>The game was initially written in <a href="https://bevyengine.org/">The Bevy Engine</a>. | ||
However, shortly after the jam we made the decision to rewrite it from scratch, | ||
using a <a href="https://geng.kuviman.com/">custom game engine</a> (still in Rust 🦀). | ||
It was probably the lack of experience with ECS | ||
(Entity Component System) frameworks | ||
made it challenging to maintain the Bevy-based code. | ||
Post-rewrite, managing the codebase became significantly easier.</p> | ||
<h2 id="in-game-level-editor">In-game level editor</h2> | ||
<p>Another thing that we quickly decided to write ourselves instead of using existing tool was the level editor. | ||
During the jam we were using <a href="https://ldtk.io/">LDTK</a>, | ||
but having a dedicated level editor allowed us to have features not possible otherwise, for example, attaching side effects to different sides of entities.</p> | ||
<p><img class="hero" src="editor.gif"></img> | ||
|
||
<em style="display: inline-block;">in-game level editor</em></p> | ||
<h2 id="reworked-game-mechanics">Reworked game mechanics</h2> | ||
<p>Now, to the actually new features of the game.</p> | ||
<p>Pretty much every single game mechanic was reimagined to make the game more intuitive.</p> | ||
<p><img class="hero" src="oldnewjump.gif"></img> | ||
|
||
<em style="display: inline-block;">Old jump vs new jump</em></p> | ||
<p>And, of course we also introduced a bunch of new things.</p> | ||
<p>The biggest change to the game logic is that it is no longer a turn based game, | ||
since multiple entities can now potentially move at the same time. | ||
Also, different moves can now take different amount of time. | ||
This allows us to have, for example, acceleration when falling, | ||
making the game feel like it actually has physics, | ||
although we are still working on an integer grid.</p> | ||
<p><img class="hero" src="portalmomentum.gif"></img> | ||
|
||
<em style="display: inline-block;">Momentum when jumping through portal</em></p> | ||
<h2 id="undo-redo">Undo/redo</h2> | ||
<p>Since the game is no longer turn based, | ||
implementing an undo functionality | ||
(which we didnt have in the jam version) | ||
was non trivial.</p> | ||
<p>So, the way we store history is by having snapshots of the game states | ||
at important moments - when a move starts, or when a move ends. | ||
The game state itself contains information about all the currently happening moves, | ||
which we can interpolate in order to render the game.</p> | ||
<p><img class="hero" src="undoredo.gif"></img> | ||
|
||
<em style="display: inline-block;">Undo/redo</em></p> | ||
<!-- ## Level selection | ||
The jam version worked by putting you in the game directly, | ||
and you solved puzzles one by one, | ||
without the ability to go back or skip levels. | ||
In the new version of the game we now have proper level selection. | ||
This was one of the hardest things for us, | ||
we went through multiple completely different designs for it. --> | ||
<h2 id="so-release-when">So release when?</h2> | ||
<p>We are working towards figuring out when the game will actually be released, but its not ready yet.</p> | ||
<p>Hopefully we can get it released this year.</p> | ||
<p>Our first priority is a Steam release, | ||
but the game is also already working on Android, | ||
and eventually we plan to figure out how to build for iOS, too.</p> | ||
<p><a href="https://store.steampowered.com/app/2995150/Linksider/">WISHLIST THE GAME NOW</a> | ||
to get notified about the release when it happens. ❤️</p> | ||
<p><img src="https://linksider.kuviman.com/steam-announcement/wishlist.png" alt="wishlist" /></p> | ||
|
||
|
||
|
||
|
||
<ul> | ||
|
||
</ul> | ||
|
||
|
||
</main> | ||
<footer> | ||
|
||
|
||
</footer> | ||
</div> | ||
</body> | ||
</html> | ||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.