lymn

package module
v0.0.0-...-35c5657 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

README

lymn

lymn is an IF engine which is scripted in YAML

Go Report Card license

Motivation

While working on a game for Ludum Dare 48, I started working on an engine for building interactive fiction (IF) games in YAML. While I didn't manage to write a game before the end of LD48, lymn is the evolution of that engine.

Name

limn

to depict or describe in painting or words.

lymn is an intentional misspelling of limn to recognize that the scripting is done in YAML, while also being a play on the fact that it "paints" the screen with text.

Goals

  • Script IF in YAML:
    • Scenes
    • Events
      • Conditional Events (Stats)
    • Choices
    • Character Stats
    • Inventory (TBD)
  • Built in Go on top of Ebiten
  • Support fonts generated by Pixie
  • Be as easy to use as possible
  • A+ Rating on Report Card

Requirements

  • Go 1.16 (for embed)
  • OS-Specific Ebiten dependencies: See Here
  • Make

Usage

Under Construction

License

Copyright 2021 Bryan T. Meyers root@datadrake.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Game

type Game struct {
	// contains filtered or unexported fields
}

Game is the global Game object

func NewGame

func NewGame(s script.Script, f *font.Font) (g *Game)

NewGame creates a Game and populates the UI

func (*Game) DisplayStat

func (g *Game) DisplayStat(name string, max int)

DisplayStat adds a Player stat tp the Window

func (*Game) Draw

func (g *Game) Draw(screen *ebiten.Image)

Draw renders Game to a screen

func (*Game) Layout

func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int)

Layout specifies the layout dimensions of Game

func (*Game) Play

func (g *Game) Play()

Play starts the game

func (*Game) Update

func (g *Game) Update() error

Update checks for all updates in the input and the internal state of the Game

Directories

Path Synopsis
kbd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL