gilmore606 / ure Goto Github PK
View Code? Open in Web Editor NEWthe unRogueEngine
License: MIT License
the unRogueEngine
License: MIT License
can be open/closed, locked, put-in/take-out context verbs
lootable locked chests, smash em open?
backpacks, bags
Also a way to place a type-of-thing/type-of-actor somehow? With tags
Specify desired panels and camera position/size. Possibly tag each panel/camera as resize/noresize? Typical would be resize camera noresize others.
Latchmove needs to cancel on more conditions -- before hitting a door, when sighting an NPC, when sighting things on the ground.
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?
A dev-only modal to pick a glyph from the CP437 set, and a fg/bg color. Produces JSON in the paste buffer.
Let modals pop up off-center to an absolute XY of the previous modal, so they can pop in-place on an element.
what's up with that?
Be able to specify an arbitrary font in UConfig for text and glyphs
sort inventory by arbitrary param, with key to switch sorts -- weight, value, whatever
Sizing of boxes for text fields is all over the place. Use renderer.textWidth() to make this all work right for all modals.
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
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?
Holding mouse in camera should A* walk to target
ActionEat, CommandEat, food with bitecount and satiation value, hunger clock
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?
Chunks of area don't get marked 'seen' for some reason, no obvious pattern
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
Key repeat behavior is terrible, queues way too many, reduce or eliminate
doesn't work when applied to other actors. nothing to do with having other behaviors or being first in the actors.json. wtf.
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
md docs are incomplete
examplegame startup doc is out of date
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
Force-move the player in VaultEd so he can pass through everything.
builders are given an x1y1x2y2 subsection of an area to operate on, and a mask terrain list? to ignore
rock formations, lakes, forests, rivers, door-adders
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.
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)
a Pile is a special UThing that aggregates and tracks its total # of items
think gold pieces
We can draw a lot more glyphs now. Find some way to either:
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
things the mouse can do:
Actor.die() removes actor, creates corpse object, moves things into corpse (optionally filtering?), blood splatter
Player.die() should probably do something special.
Wander and pathfind don't allow it
fonts can have more than 256 glyphs; everything that stores a glyph should store an int.
we've only been using the pixel-outline frame option, make sure the ASCII option works and looks reasonable.
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 add full light to a rectangle area, with falloff outside rectangle, bypassing all shadow casting
Landscaper needs method to stamp a vault into an area (via name from preloaded vaultset), optionally
rotated or mirrored.
currently we can only get buffers to fully loaded oggs. need a background thread to rotate buffers for streaming ogg files.
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.
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
picking an inventory item pops up menu of relevant verbs (use, drop, wield)
Pop up a tooltip floaty on the Camera pointing out entity glyphs seen for the first time, with a name.
It seems like mouse clicks for movement are centered around the wrong point. This is probably due to my window size being non-standard.
Can only get topmost item -- need a popup multiSelect? Ignore ungettables
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).
specific items or random from tags
configure-optional Shiftrun style where instead of latching, holding Shift just makes the move keys autorepeat without delay.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.