Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Quendus

Pages: [1] 2 3 ... 30
1
self.on_move_events() is the only function in that code that draws on the terminal, it isn't called until brlb.has_input() returns True. To fix this you should call your screen update function before the first time brlb.refresh() is called.

2
Updating pip fixed the problem. Thanks!

3
Code: [Select]
[('cp34', 'none', 'win32'), ('cp34', 'none', 'any'), ('cp3', 'none', 'any'), ('cp33', 'none', 'any'),
('cp32', 'none', 'any'), ('cp31', 'none', 'any'), ('cp30', 'none', 'any'), ('py34', 'none', 'any'),
('py3', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'),
('py30', 'none', 'any')]

4
Code: [Select]
pip install bearlibterminalAnother step to enlightenment. Works (or should work) on Windows and Linux, 32 and 64 bit. OS X package is not built yet, my virtual machine with OS X is such a pain.

Use it like this:
Code: [Select]
from bearlibterminal import terminal
Yes! Excellent. That makes distribution without py2exe much easier.

Edit: Actually, the command isn't working for me (Windows, 32-bit Python 3.4.2):
Code: [Select]
Downloading/unpacking bearlibterminal
  Could not find any downloads that satisfy the requirement bearlibterminal
Cleaning up...
No distributions at all found for bearlibterminal
Storing debug log for failure in C:\Users\***\pip\pip.log
I just installed coverage without issue, so it's probably not a problem with pip.
Further info:
Code: [Select]
------------------------------------------------------------
C:\Python34\Scripts\pip run on 07/07/16 10:19:47
Downloading/unpacking bearlibterminal
  Getting page https://pypi.python.org/simple/bearlibterminal/
  URLs to search for versions for bearlibterminal:
  * https://pypi.python.org/simple/bearlibterminal/
  Analyzing links from page https://pypi.python.org/simple/bearlibterminal/
    Skipping https://pypi.python.org/packages/41/b4/d6a4adbc6e55a6de2da4a19ecde5754b2751afb0a2343b27825bcff8b263/bearlibterminal-0.14.1-py2.py3-none-manylinux1_x86_64.whl#md5=b13677b4d7684c647f0cc6ac6edb8826 (from https://pypi.python.org/simple/bearlibterminal/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/92/6c/31ba239c46aed3f9646aa5933b34c248518bf81ac849a008d9130b9f45bd/bearlibterminal-0.14.1-py2.py3-none-win_amd64.whl#md5=39041b4b091a07506796a024db280a47 (from https://pypi.python.org/simple/bearlibterminal/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/b3/68/42e384a8aaaa947444860a14e72c631c307c03b021ae2f28ed81a07d88bf/bearlibterminal-0.14.1-py2.py3-none-win32.whl#md5=5751a886a02ed66ccff8dde7167dfc2f (from https://pypi.python.org/simple/bearlibterminal/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/e3/a5/ecdffa53ddea705c0e5300cec3d156d66eef7f7a3a352223adcf62c887b5/bearlibterminal-0.14.1-py2.py3-none-manylinux1_i686.whl#md5=5882658e846bfbd5d3cc32a5a1862da1 (from https://pypi.python.org/simple/bearlibterminal/) because it is not compatible with this Python
  Could not find any downloads that satisfy the requirement bearlibterminal
Cleaning up...
  Removing temporary dir C:\Users\***\AppData\Local\Temp\pip_build_***...
No distributions at all found for bearlibterminal
Exception information:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for bearlibterminal
It looks like "https://pypi.python.org/packages/b3/68/42e384a8aaaa947444860a14e72c631c307c03b021ae2f28ed81a07d88bf/bearlibterminal-0.14.1-py2.py3-none-win32.whl#md5=5751a886a02ed66ccff8dde7167dfc2f" should have been identified as compatible with my python version.

5
Design / Re: Info line idea
« on: June 16, 2016, 09:43:51 AM »
How did this place manage to become worse than reddit?

6
Programming / Re: Prettier Graphics with Libtcod?
« on: April 11, 2016, 10:32:44 PM »
Definitely in Early Dev. The Incubator was intended for mutual support and feedback between developers working on mature projects. Now it just attracts a post every few months that would have been better placed somewhere like Announcements or Early Dev.

e. g. terminal.set("300: tilesets/tiles.png, size=16x16")
Wow, thanks Cfyz, that's really handy info, I'll definitely use that.
I've been trying to load different-sized tiles from multiple files but I thought it was impossible. Each time I used terminal.set() it would reset everything. I didn't know it was possible to use that extra term.

One thing I'd like to do also is load in a splash screen/image for the menu background. I managed to get it working (by loading in a giant tile) but I couldn't get it working in conjunction with my normal tiles. I guess this technique would work, unless you have a different suggestion? Libtcod has a special feature for this kind of thing. Sometimes it's really tough to figure out how to get Bearlib working, especially in Python.
Yes, loading different tilesets at different codepoints would let you display a splash screen or background without interfering with the normal tiles, using e.g. terminal.set("F000: tilesets/splash.png, size=640x480")

7
I'm not sure I understand. Does the list at http://arkhammanor.com/alltogether.html consist of just stable and beta games (because it has some alpha games like URR, and 7DRLs like TraumaRL)?
How is the webpage related to the spreadsheets in http://arkhammanor.com/rpgbase/RLdbALL.7z? Both collections seem to have games that aren't in the other.

8
However, quick comment: It would be really great to have background (or transparent flag when needed) on additional layers. Libtcod consoles are a little easier here (menu covers the screen below).
One way to simulate background above layer 0 is to use the unicode block drawing characters, in particular the full block. This fails if the font size doesn't match the cell size, so you might prefer to use a plain white tile from a spritesheet instead. You can use alternate layers for foreground tiles and background blocks, or just turn on composition and put them on the same layer.

9
Perfect. Thanks so much!

Here's a BearLibTerminal sandwich for you:

10
Sorry, I should have been clear that I was talking about IPython notebook. I just tried the minimal test case in the Python and IPython consoles, and it works as intended (though I now have to call close() to get a clean exit).
In IPython notebook, the same code leaves the BLT window unresponsive.

11
I'm using 0.13.2, and I've checked that the relevant line has run, but the window's behaviour in IPython hasn't changed.

12
One disadvantage to the new single-threaded architecture: I often develop interactively (using the Python REPL or IPython). When I leave the window open without regularly calling read(), Windows greys out the BLT window and marks it as not responding. I guess this is unavoidable?

13
Programming / Re: FOV algorithm demonstration
« on: March 28, 2016, 07:05:44 AM »
I used a similar kind of system in KleinRL. It's very well suited to maps with portals, glued boundaries, and other kinds of non-euclidean geometry.
Often games need to calculate point-to-point line of sight between non-player objects (for which the full field of vision isn't known or required). Is it possible to use this data structure to make that kind of calculation efficiently? I presume the result would differ from a check using a simple bresenham line from A to B.


I don't think you will be able to find a better solution than the Bresenham line algorithm, which it sounds like you are using already. That is guaranteed to give you the same line from pointA to pointB and pointB to pointA.
Sorry, I wasn't clear. I know that Bresenham (when implemented correctly) has D4 symmetry, and draws the same line A->B as B->A (at least when max(dx,dy) is odd or min(dx,dy) is even - then one of those symmetries must be lost).
My concern is that checking the Bresenham line A->B will yield a different result to calculating FOV from A and checking the value at B. Ideally, different situations shouldn't use different line of sight rules - that leads to things like corner shooting in DoomRL.

14
I always use "import PyBearLibTerminal as blt", which lets me write things like blt.put_ext() clearly and quickly. I'm not sure what the benefits of that pull request are supposed to be. A pip package would be wonderful, no matter whether the names are global or not.

I'm not too bothered about whether mouse events are included in the default filter or not, as long as it's easy to change.

It takes a few hours for virtualbox to log in, but if no-one tries it on a real mac soon, I'll test 0.13.1's keyboard input.

As far as I know the standard for shortcut keys on cross-platform applications is to use Command in place of Control in all cases. Exceptions are either quick-and-dirty ports of linux apps, or terminal applications for which shortcuts using the Command key are sent to the terminal rather than the application.

15
Programming / Re: FOV algorithm demonstration
« on: March 27, 2016, 09:25:18 PM »
I used a similar kind of system in KleinRL. It's very well suited to maps with portals, glued boundaries, and other kinds of non-euclidean geometry.
Often games need to calculate point-to-point line of sight between non-player objects (for which the full field of vision isn't known or required). Is it possible to use this data structure to make that kind of calculation efficiently? I presume the result would differ from a check using a simple bresenham line from A to B.

Pages: [1] 2 3 ... 30