Giter Site home page Giter Site logo

rogue's People

Contributors

giugales avatar lycea avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rogue's Issues

Fix broken item drop

The item drop is right atm broken. This is sadly the case since the stacks were added and the item takes its own older place and not the actual player place, stacks need player place to be able eto drop stuff. This should be easy to fix rather fix the owner / add the owner

Todolist

POI Loading and adding things simpler:

  • Revamp mob loading / Add dynamic mob loading
  • Revamp item loading / Add dynamic item loading
  • Add dynamic AI loading
  • Add dynamic Item function loading

POI usability

  • Revamp window system to be more visible
  • Make items stackable
    ( make scrolling view )

POI api

  • Convert some constructors from taken in a huge list of parameters to take in a table/object
    which also have a default object initialisation in it so that you only need to fill in the things you
    need, so that creating entities and some other stuff will be much simpler.

  • put all global variables which are scattered around into a other global file just for informativity

  • prefix globals with some kind of

FIXES needed

  • Fix exiting of the game that you don't just exit the whole game ...
  • Change ray traceing to brahams , will help for better FOV (check where I did it before ...)
  • Fix z-fighting of items, it happens cause all items are resorted on draw each time , do this only
    if needed maybe. Also see #20 which also refers to this problem

Add some kind of key legend for the user

Not sure yet how that should be done
but there has to be some indicator of which keys to use for grabbing stuff /selecting stuff /moving
even though it is not that many keys

#3

Add a simple tile description and tiles (ground/wand tiles)

A simple description could be needed for tiles of different levels to have teir tile sets kind of.
For later this makes sense for different floor / level sets to differentiate them more simple.

The tiles should come in a similar manner as the mobjects so the description should be in the way of:

local tile ={
name = "Water",
["type"] = "water",
stats ={
walkable=false,
blocked_sight = false,

}
colors={
active = "green",
inactive = "blue",
undiscovered = "grey"
}
}

also for later on only few properties should be saved in this tile, this would be:

  • it's position on the map
  • its status if discovered or not, since light map is calculated dynamically on startup
  • its type

this later also allows for easier creation of "destroyable tiles",create a type, load it up and
then simply set a new one if destroyed, yey.
This will also aide in the case we want to set a tile set to the tiles later on ,floor and wall tiles seperate tiles ...

Integrate dynamic loading of items

Same issue as with the mobs the items are right now hardcoded into a table
and should be sepperated and made able to be loaded in on startup instead of the static way it is right now refere also to ticket #8 and #3

Revert saving /loading to only save needed tiles

In a save file there are now 20k lines, the causes are for now:

  1. readability
  2. easy edibility
  3. saving every single tile in the current map

Some things should be adjusted rather sooner then later, the thing that should be addresed here should be issue with 3 in the following way:

ATM we are saving all tiles on the map in the matter of:

"map":{"width":80,
"height":50,
"dungeon_level":1,
"tiles":[
[
{
"blocked": true,
"explored": false,
"block_sight": true}
,
{
"blocked": true,
"explored": false,
"block_sight": true}
,
{
"blocked": true,
"explored": false,
"block_sight": true}
,

so every single tile is saved after each other. for the next more efficient version it should be saved in the following matter for all tiles in the map described in one row:

  1. If tile is empty:
    don't save
  2. If tile is wall/entety:
    save
    Also add its x,y components to
    be able to see where it belongs

looking like the following afterwards:

"map":{"width":80,
"height":50,
"dungeon_level":1,
"tiles":[
{
"x" : 1,
"y" : 1,
"blocked": true,
"explored": false,
"block_sight": true}
,
{
"x" : 1,
"y" : 2,
"blocked": true,
"explored": false,
"block_sight": true}
,
{
"x" : 3,
"y" : 9,
"blocked": true,
"explored": false,
"block_sight": true}
,

for loading we now simply initialise an empty map and fill in the other indexes. Another possibility would be to
create a meta table and return a empty if not exists.

Fix z-Fighting

If two items are laying over each other and they will be sorted before rendering. This will cause them to flicker because the default sort is not a stable sort.

Ideas:

  • sort only in the moments when new things are added to the list and remember the last and first of each "group" sos items can be added and removed in a simple way ?

  • check if a stable sort is available and if not , maybe implement a simple one ?

Tool for creating/editing dynamic files and some info on the fly

If later some mobs and items have to be added there should be a nice little tool for making this task simpler(?)

Some ideas what it should be able to do:

for mobs(,npcs)

  • load the available mobs in and show their stats and information
  • edit the available mobs and also save them
  • create a new mob and fill it with information
  • create a mob from a already available one
  • show a list of mob population per floor and some indicator of average hp/power/def/exp
    • also show max and min in the given stats

for items:

  • load in available items
  • edit items and save them
  • create new items
  • create items from a template other item

misc:

  • be able to load in some properties of the constant variables sample:
    • colors
      • add colors
      • remove colors ( and see which files are affected from it ?)
      • preview colors (getting fancy here ...)

Game crash when trying to drop an item

I was in depth 14 with a level 29 fighter and saw something flashing golden. As my inventory was full, I wanted to drop an item. The window went black and the console showed the following error message:

Error: components/inventory.lua:135: attempt to index field 'equipment' (a nil value) stack traceback: [string "boot.lua"]:770: in function '__index' components/inventory.lua:135: in function 'drop_item' game.lua:273: in function 'play' game.lua:451: in function 'update' main.lua:42: in function 'update' [string "boot.lua"]:605: in function <[string "boot.lua"]:587> [C]: in function 'xpcall'

Integrate dynamic loading of mobs

The mobs are now sitting in a table all together and loaded in hardcoded from this and some other info in an if else... this has to be entangled and made more dynamic for simpler addition of mobs.

(Also a reffernce for the meta #3)

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.