Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

andrewgasson/roguelike-7drl-2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Goldband Project (Unfinished) (7DRL 2020)

Screenshot of the Main Menu

The Goldband Project is a traditional roguelike made for the 7DRL challenge 2020 (#7DRL2020).

To check out the 7DRL challenge, go here: https://7drl.com/.

Game Design Plan

The Goldband project is set in a capitalist medieval fantasy world, where only those who retire are heroes and wealth triumphs over all, and all others are tragedies or outright forgotten.

What is the goal?

To earn enough money to purchase a retirement home and retire.

What is the motive?

Retirement + additional wealth = score. There will be a high score menu.

What are the stakes?

Retiring without a retirement home (poverty ending) results in no high score, and no graveyard. Death before retiring (death ending) results in no high score, but the character is listed in the graveyard (for a time).

What are the core conflicts?

Gold. You must find and earn gold to purchase a retirement home, equipment, training, items, pay your taxes, and afford bonds to earn money from contracts that involve delving various wilderness landscapes.

What are the possible outcomes?

  • Victory with a new high score (heroic + enduring status)
  • Victory with a score (heroic)
  • Loss with no high score, but with a graveyard acknowledgment (death)
  • Loss with no high score, and no graveyard acknowledgment (poverty)

Status

Currently, the character can move around a box, and will collide with the box's edges. There is a main menu and pause menu. After the save system is added (next on the list), the development of gameplay will be underway.

Log

  • Day #1 was primarily about setting up the code in preparation for the gameplay mechanics. However, there really wasn't a "game" at this point.
  • Day #2 focused adding GUI state and rendering, cleaning the code architecture, and clarifying the gameplay (via private game design document based on gameplay.md in the document folder).
  • Day #3 focused on creating a proper main menu and pause menu, preparing for GUI prompts (also known as modals or dialogs in some systems), and changing game state to use a push and pop stack, rather than just a set, which is necessary for deep menu hierarchies, and retaining their state (for example: default game state <-> pause menu <-> setting menu <-> sub-setting menu). Also cleaned up the README.
  • Day #4 focused on adding prompt function (and a bool prompt with associated controls and render), testing the new game state stack, and creating a color tool that allows for the ability to add a layer of transparency over the pre-rendered terminal scene, which helps prompts pop out. The end of the day focused on preparation for saving and loading the config (as .ini) and game (as binary).
  • Days #5, #6, and #7 focused on the config .ini, and more importantly, an attempt to track down a bug that sometimes causes the application to hang on close, or just not open at all. This resulted in leaving no time for actual gameplay elements.

TODO

  • Save and load config to and from file.
  • Core gameplay mechanics
    • Map, tiles, and mechanisms
    • Map drawing and generation
    • Turn system
    • Basic AI
    • Dumb pathfinding
    • Database/datatables
    • Game event log
    • Hall of Fame
    • Graveyard
    • Purchase retirement home
    • Retire (or outcast) option
    • Basic game save/load
    • Save on quit
    • Multiple game saves (?)
  • Greater gameplay mechanics
    • Gold
    • Skills
    • Equipment
    • Items
    • Shops
    • Ranged (?)
    • Magic (?)
    • Stat effects
    • Enemy templates

Final Thoughts

A bug lead to the lack adding proper gameplay features before the jam ended. However, a lot was learned in terms of program structure (in the future, I plan to separate source files from includes for added clarity), and I made a basic config load system and GUI rendering process, which I haven't done before. A bug surrounding (or involving) iniparser also lead me to creating my own ini parser, which I will use in future projects.

Overall, there's a foundation and idea here, and I plan on at least attempting to complete Goldband, despite the ending of the jam. However, this new project will be rebuilt from scratch (again, but with lessons learned), and will exist in a different repository.

The remains of this project now exist only for historical reasons.

About

The Goldband Project is a traditional roguelike made for the 7DRL challenge 2020 (#7DRL2020).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published