Giter Club home page Giter Club logo

ure's People

Contributors

gilmore606 avatar melville avatar moycakes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ure's Issues

Containers

can be open/closed, locked, put-in/take-out context verbs

lootable locked chests, smash em open?

backpacks, bags

JSON window layout

Specify desired panels and camera position/size. Possibly tag each panel/camera as resize/noresize? Typical would be resize camera noresize others.

more LatchBreak conditions

Latchmove needs to cancel on more conditions -- before hitting a door, when sighting an NPC, when sighting things on the ground.

Fix or rework LensPanel

lenspanel broke but it wasn't that useful to begin with. rework somehow. maybe it should show all objects
near you/on surrounding 9 cells?

ModalGlyphPicker

A dev-only modal to pick a glyph from the CP437 set, and a fg/bg color. Produces JSON in the paste buffer.

Off-center child modals

Let modals pop up off-center to an absolute XY of the previous modal, so they can pop in-place on an element.

Support TTF fonts

Be able to specify an arbitrary font in UConfig for text and glyphs

inventory sorting

sort inventory by arbitrary param, with key to switch sorts -- weight, value, whatever

Text alignment in UI

Sizing of boxes for text fields is all over the place. Use renderer.textWidth() to make this all work right for all modals.

More Behaviors

Chaser -- Remember last enemy, his last seen location, pursue to that location, search around

Tattler -- Flee from player to nearby allies and alert them

Eater -- Get hungry over time (?) look for food, eat

Patroller -- Move between a series of waypoints

In-world oneshot sounds

Need facility for in-game entities to make in-game sounds; do we need a SoundEffect class that encapsulates the actual .wav sample, a float gain, and data about an in-world sound event?

Food and hunger

ActionEat, CommandEat, food with bitecount and satiation value, hunger clock

Monsters can open doors

How to differentiate? Ask behaviors if we can open a door? Should pathfinding be aware of this? Should this generalize to any other kind of terrain?

ModalOptions

a modal for players to change game options. should save into an options file kept for the local player but not wiped on world regen/restart. could include a facility for mapping options onto UConfig changes.

needs paged interface.
audio page with sliders for all subsettings.
video with resolution settings? font/tile size? panel sizing?
game settings - autopickup, autointeract, shiftrun

Keybounce

Key repeat behavior is terrible, queues way too many, reduce or eliminate

Icon

make Icon class encapsulating colors, glyphs, variants, animations

make IconCzar factory for icons by name from icons.json

have thing/actor/terrainCzar grab icons by name for templates

Documentation

md docs are incomplete

examplegame startup doc is out of date

Bodies

bodies/*.json defines bodyparts and slots

actors define "body":"humanoid" to pick one. on actor creation this is instantiated into an actual body part
list on the actor

bodyparts are used for equip slots

Light bloom/blend

Better algos for light color blend, and bloom on >255 mixes. In full sunlight colored lights are invisible, seems wrong. Combining enough lights should bloom out to full white.

AutoExplore

a la DCSS/ToME -- a command to auto-pathfind to unexplored areas and continue until hitting anything that would Latchbreak (door, sighting an NPC, items on floor)

Piles

a Pile is a special UThing that aggregates and tracks its total # of items

think gold pieces

Extended Glyphs

We can draw a lot more glyphs now. Find some way to either:

  • map existing 8 bit char values CP437->Unicode (and provide a way for all sources to specify 8 bits)
  • convert all glyph values to unicode

Separate fight-or-flight into second behavior stage

remove behavior.ForF()
when behaviors want to signal ForF, they return a special faux ActionForF() to go into the urgency election
if this action is picked, a new round of behavior picking happens
behavior.actionForF() is polled, urgency + status calculated by each behavior, highest picked

mouse support

things the mouse can do:

  • selecting in modals
  • click-to-move
  • hover-to-ID
  • rightclick inventory modal to verb
  • rightclick to ID?

Death

Actor.die() removes actor, creates corpse object, moves things into corpse (optionally filtering?), blood splatter

Player.die() should probably do something special.

deep water

shallow and deep water terrain types, deep water might drown you, blue filter on vision? might wash objects away from you, put out torches, add Wet status, etc

Ambient lights

Ambient lights add full light to a rectangle area, with falloff outside rectangle, bypassing all shadow casting

Vault stamping

Landscaper needs method to stamp a vault into an area (via name from preloaded vaultset), optionally
rotated or mirrored.

ogg streaming in Speaker

currently we can only get buffers to fully loaded oggs. need a background thread to rotate buffers for streaming ogg files.

Spritesheets

Load a rexpaint file as a spritesheet, allow entities to define a Sprite, a spritesheet ref plus an x1y1x2y2 area
for their sprite. Use the sprite in Inventory windows and NPC interaction popups etc.

Context-aware Terrain

Terrain can change glyph based on location of neighbors

.siblings = {"x","y"...} Terrain types that count as same type
.neighborGlyphs = {a,b,c,d...} Glyph ints for each neighbor arrangement

Mouse Click Alignment

It seems like mouse clicks for movement are centered around the wrong point. This is probably due to my window size being non-standard.

Better 'get'

Can only get topmost item -- need a popup multiSelect? Ignore ungettables

Behavior Roles

roles.json will define named roles, which are just collections of behaviors (with parameters). actors can specify a roles: [x,y...] in actors.json to get all the behaviors of a role.

if an actor specifies a behavior already specified by a role, their specific behavior parameters should override the ones from the role (for any which conflict).

ScrollPanel enhancements

  • Flash on print
  • Pop-open to see more
  • Scrollback controls
  • Standard for printing icons in scroll lines

MaiMai style shift-run

configure-optional Shiftrun style where instead of latching, holding Shift just makes the move keys autorepeat without delay.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.