Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

[Devlog] Shift: Prelude

A topic by Sean Kleinjung created Nov 07, 2021 Views: 186 Replies: 4
Viewing posts 1 to 4
Submitted (1 edit)

Introduction

This thread will be used to report on the development progress for Shift: Prelude. Shift will allow players to uncover a story of loss and redemption in a hack-and-slash RPG where the dungeon -- not the hero -- experiences permadeath.

In Shift, the player takes on the role of a "Shifter" -- a sort-of mercenary that travels through inter-planar portals to complete tasks at the behest of powerful wizards. A shifter rarely understands the motives of their patron, but since they get to keep any treasure the wizard wasn't looking for this line of work is quite lucrative. 

The Prelude adventure will tell the story of a grieving man's struggle to recover from a great loss, and will use a combination of techniques to convey this story as the adventure unfolds.

I am just creating this thread now, but have been working on the project since the start date of the Challenge. Since I have completed my first iteration, an update with the progress made during the first week will be added shortly.

Gameplay

Shift borrows the visual styling and random elements from classic Rogue-like games, but is tailored to people who do not enjoy character permadeath. Instead, when a character dies or runs out of turns they are pulled back to their home world, and the contents of that dungeon is forever lost to them. The narrative impact of failed objectives, and lost opportunity to capture the unique treasures of that dungeon, hopefully make this loss impactful enough to create tension.

Key influences on the design of Shift are:

  • Rogue-like games: Procedural dungeon generation, ASCII-based graphics, and limited turns to complete a dungeon
  • RPG Elements: The player gains power as they adventure, and meaning choices about how to advance can be made 

Specific innovations for the 'Prelude' version of Shift planned for November:

  • World permadeath: as described above
  • Story: A month is not long enough for me to make an adventure game with deep enough content to engage a player for the long time typical of the rogue-like genre. Knowing this, I intend to create narrative elements and give the game a definite "beginning, middle, and end." It is my hope that the gameplay will be engaging enough for a player to complete the story and have a satisfying experience. Replayability of random levels after the story will be possible, of course, for those interested

Schedule

For this challenge, I intend to work on the project for as many hours as I can between when my infant child goes to sleep and 2am. This end time is fairly typical of my sleep schedule, and allows me to wake up refreshed when I need to for work each day. The absolute most this would be is ~6 hours a day (42 hours per week). However, it is likely that I will have other tasks, spend some nights doing things with my wife, and go to bed earlier some days. In practice it will be closer to ~4 hours a day (28 hours per week). I will plan each week's iteration assuming 28 hours of time, but allow myself up to 42 if I can do so comfortably.

Main Goals

Ideally, Shift will:

  • Provide a satisfying "levelling and looting" experience to fans of the genre.
  • Tell a meaningful story through a combination of subtle clues, frequent text descriptions, and occasional vignettes that reveal major plot points.
  • Create reusable system components that can be incorporated into future projects, including: procedural map generation engine, combat system, monster AI and variations, item and equipment system, etc.

Non Goals

The following items have been considered, but are out of scope for this challenge:

  • Open world exploration
  • City building, farming, etc.
  • Magic system for spellcasting
  • Card-based combat / "tactics" system (still reflected in design document that needs updating)
Submitted (3 edits)

This post summarizes the progress made on Shift during Iteration 1 (10/31 - 11/6). In this iteration I spent 47 hours on the project, which is more than my intended (and unexpected) limit of 42. I will continue planning the remaining weeks assuming 28 hours work, and be more intentional about limiting time spent in order to meet the spirit of this challenge. I'm just having too much fun. ^^

Progress / Takeaways

Links

Completed Features

  • Title screen and application navigation (Exit, pause, etc.)
  • Random generation of dungeons, and ability to navigate the map
  • Prototype of monster behavior and movement
  • Display of player status
  • Display of log messages
  • Expedition end conditions (player death, running out of turns)
  • Basic inventory system and equipment effects
  • Random roll-only combat system

Key Lessons

  • I probably should have spent more time in general planning how I was going to implement some systems before diving into coding. I will chalk this up to a combination of excitement, and the competing forces of compressed timeline, 'crunchless' constraints, and what was probably to ambitious of a project scope.
  • Spent several hours on the project's build and release system, partially due to being unfamiliar with Electron. Initially this seemed not to be worth it, but I think the ability to easily cut releases is paying off even early in the project.
  • Electron is not a great platform for game development so far. The application is very large. Additionally, HTML/CSS and React turned out to be more difficult to use for creating a UI than expected. Specific difficulties exist around focus and event handling, scrolling, and detecting component size changes
  • The React.js state model doesn't interact well with how I tend to structure games. Integrating a mutable game engine model with React state in a way that rerenders appropriately (and with sufficient performance) took a significant amount of time this week, and I'm not really happy with the current state of it. Since the game is turn-based, I probably should have considered using an immutable game model and building a more traditional React application.
  • I probably should have spent more time in general planning how I was going to implement some systems before diving into coding. I will chalk this up to a combination of excitement, and the competing forces of compressed timeline, 'crunchless' constraints, and what was probably to ambitious of a project scope.
  • It's easy to work on a project for way more time than intended!

Current Screenshots and Demo Videos


Earlier Progress Screenshots

Electron rendering and layout prototype

Submitted(+1)

Marketing Update

A short update on the marketing efforts for this project. (I'm actually really happy that's part of the challenge, since it's given me motivation to focus on it much more than I typically would.)

I am not particularly (or at all) active on social media in general, so this is quasi-new territory for me. However, my marketing plan is as follows:

  • I have created a project website for Shift
  • During development, I will post more polished, user-friendly versions of the devlog content to show progress and direction. This will include screenshots or videos if applicable
  • I have also created a Twitter account that I will use for this, and other game devlopment projects moving forward
  • When I update the website,  I will post a tweet with information about the update with a link to the updated page

So far, I have created a very basic teaser page and the links from Twitter to that (and this challenge's page). I'll update it with some more detail from the devlog sometime this week.

HostSubmitted

Hey! Good initiatives! Totally missed your tweets, twitter did not share them in the #CrunchlessChallenge search for some reason! 

Submitted (2 edits)

Entering week three, I did some soul searching on the scope for the project and realized I had (unsurprisingly) bitten off a lot more than I can chew. In the spirit of the challenge though, the response to that is to refocus the project scope instead of crunching to death. I won't cross-post the whole update on features and scope that I wrote for the project website, but the key points from that post are included below for you all to see.

A Shift in Focus

This past weekend marked the start of week three of the Crunchless Challenge. When planning the tasks for the week, it became clear that a lot of the ideas I have for Shift are not achievable within the time constraints of a single month. The challenge facing me now, then, is… using what has been built so far, how can I get the Prelude project to the point of being a full-fledged game (if even a short one)?

The features I have built in the first two weeks include: UI components, map generation and exploration, monster behavior, rudimentary combat, simple loots system, and support for quests. The above post has more detail,  but I've included some images at the end of the post. So, all of the elements of an RPG are clearly present, but there are two problems nearing the end of the the challenge. First, the game systems aren't robust/interesting/challenging enough to be actually *fun* for more than a few minutes. Combat is flat, the systems don't allow for interesting loot, tactical choices are limited, etc. And second, there isn't enough time to write and script any sort of grand narrative.

My solution to the above is to blend both elements (gameplay elements, and the story) in "snack-sized" quantities. Basically, use the systems to build just enough gameplay to be novel, but make sure that the experience ends before players realize that there's not a lot of "meat" yet. Similarly, try to do something interesting with the story without getting wrapped up any sort of epic saga. In short, create a short and tight and polished experience that justifies a nominal cost of entry, rather than an epically bloated mess that doesn't really do anything.