Author Topic: Advanced Super Turbo Rogue Plus  (Read 44072 times)

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Advanced Super Turbo Rogue Plus
« on: July 09, 2016, 08:34:06 AM »
Classic Rogue with fully mouse driven interface. Extends Rogue v5 with features from Epyx version, fixes bugs and balance issues, adds various animations and overall more polish.

Rogue545_plus-v08 (25 December 2016):
https://sourceforge.net/projects/advanced-superturbo-rogue-plus/files/Rogue545_plus-v08.zip

Play in a browser: http://52.42.113.72:9999/

ssh rodney@185.31.40.85, password: yendor












Previously...

Rogue545_plus-v07 (24 December 2016):
https://sourceforge.net/projects/advanced-superturbo-rogue-plus/files/Rogue545_plus-v07.zip

Rogue545_plus-v05 (19 August 2016):
https://sourceforge.net/projects/advanced-superturbo-rogue-plus/files/Rogue545_plus-v05.zip

Rogue545_plus-v04 (14 August 2016):
https://sourceforge.net/projects/advanced-superturbo-rogue-plus/files/Rogue545_plus-v04.zip

Rogue545_plus-v03 (24 July 2016):
https://sourceforge.net/projects/advanced-superturbo-rogue-plus/files/rogue545_plus-v03.zip

Rogue545_plus-v02 (18 July 2016):
https://sourceforge.net/projects/advanced-superturbo-rogue-plus/files/rogue545_plus-v02.zip

Rogue545_plus-v01 (11 July 2016):
https://sourceforge.net/projects/advanced-superturbo-rogue-plus/files/Rogue545_plus-v01.zip
« Last Edit: December 25, 2016, 12:26:38 PM by LazyCat »

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #1 on: July 09, 2016, 09:24:37 AM »
Quote
I have no idea how to make it work through ssh, Elwin let me know if you have time to help make that possible.
That sounds intriguing. I don't have much time to help, but if you put your code online, send me a link.

Don't need much help, just info on how to set up virtual off-line server and I should be able to take it from there. If possible I'd like to avoid 'dgamelaunch' for now and start with the simplest possible setup. By the way, I just noticed sourceforge has web hosting with PHP and MySQL, would that be sufficient to run online server, and if not what does it take?

So far I have mouse input working, and can compile it as either SDL PDCcurses graphical application, or as PDCurses console application. I expect to complete the project really quickly, in a week or so. I'll put up the code for download shortly.


Quote
Can you explain more about what you're trying to do?  It sounds like your main goal is adding a graphics layer.

Graphics don't work too well over SSH.  The easiest course these days would probably be to write a graphical program that communicates with the server over the Web.  I've always intended to make it possible for people to write their own clients or interfaces for the Gallery.

Making it playable with mouse only is the main goal and harder part. Graphics should be rather easy to do, I expect. Basically it should play like Atari ST version and look like Mac version. I guess you could say it will be Brogue-like.

By "graphics" I simply mean a custom font.  For offline version that will be easy with SDL PDCurses as it can use custom font image of arbitrary size, and I can extract all the graphics from Mac Rogue, so that's practically almost all done.

For online version I guess it's a matter of finding (writing) a SSH client that can use custom font with at least 256 characters, preferably as bmp image rather than true type ttf. But that's where you come in as I don't really have any experience with those kind of things. You will also know how hard would it be to implement a custom font for your RLG-Web browser interface.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Advanced Super Turbo Rogue Plus
« Reply #2 on: July 09, 2016, 12:20:10 PM »
What is the point? You could have modified it to a good looking graphical version.

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #3 on: July 09, 2016, 01:35:15 PM »
What is the point? You could have modified it to a good looking graphical version.

The point is to make it playable for someone who hasn't played any roguelikes before. To make the interface intuitive, playable with mouse only, which in turn will make it more enjoyable and much faster to play. Have you played Macintosh or Atari ST version? To me the difference between those and PC version is like sitting on a chair instead of a cactus.

I don't mind ASCII, graphics is less important to me, but Macintosh version is good looking in my opinion, and I'd prefer that over any 16-bit or say SNES type of graphics. Also, I want it to work over SSH, so I don't know if proper multi-color tiles are viable solution at all.


Anyway, are you familiar with curses/ssh? I need help with that. Tried it with FreeSSHd server and not all font symbols/colors are what they should be, also mouse input doesn't work. Tried also Bitvise SSH server and while font graphics is much closer to what it should be, except for bold/bright colors, mouse again doesn't work. Don't know whether is it the game code, server/CMD, or PUTTY issue.
« Last Edit: July 09, 2016, 01:41:32 PM by LazyCat »

elwin

  • Rogueliker
  • ***
  • Posts: 96
  • Karma: +0/-0
    • View Profile
    • Roguelike Gallery
Re: Advanced Super Turbo Rogue Plus
« Reply #4 on: July 09, 2016, 04:00:28 PM »
Don't need much help, just info on how to set up virtual off-line server and I should be able to take it from there. If possible I'd like to avoid 'dgamelaunch' for now and start with the simplest possible setup. By the way, I just noticed sourceforge has web hosting with PHP and MySQL, would that be sufficient to run online server, and if not what does it take?

Sourceforge web hosting isn't sufficient.  You need to upload the Rogue binary to the server and have it execute there.  Web hosts won't let you do that, you need a VPS.

Anyway, are you familiar with curses/ssh? I need help with that. Tried it with FreeSSHd server and not all font symbols/colors are what they should be, also mouse input doesn't work. Tried also Bitvise SSH server and while font graphics is much closer to what it should be, except for bold/bright colors, mouse again doesn't work. Don't know whether is it the game code, server/CMD, or PUTTY issue.

What OS is the server running?  To get the mouse working through SSH, you need the client (PuTTY?) to support mouse clicks, and to be configured to use them.  The program running on the server (Rogue) needs to know what kind of codes the client is using for mouse clicks.  That's usually done with the TERM environment variable.  Then Rogue has to be capable of understanding the mouse click codes.  PDCurses might be able to do that, I'll look into it.

I'm curious why different SSH servers result in different symbols or colors.  An SSH server is supposed to be more or less a "dumb pipe" that just moves bytes back and forth.  Maybe you need to configure the way the servers launch Rogue.

This kind of setup is rather fragile and often falls apart when users use programs or settings that you don't expect them to use.  But don't let me discourage you.
Roguelike Gallery: play Rogue online.  SSH or in browser.

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #5 on: July 09, 2016, 04:45:43 PM »
What OS is the server running?  To get the mouse working through SSH, you need the client (PuTTY?) to support mouse clicks, and to be configured to use them.  The program running on the server (Rogue) needs to know what kind of codes the client is using for mouse clicks.  That's usually done with the TERM environment variable.  Then Rogue has to be capable of understanding the mouse click codes.  PDCurses might be able to do that, I'll look into it.

I'm currently on Windows XP, using PUTTY and CMD console as "shell access" for SSH server. Mouse is working fine with PDCurses, so I believe it's only a matter of some settings to make it work through SSH. Do you know what particular setting I need to change in order to enable mouse in PUTTY, and what specific definition of TERM variable should I use?

I'll switch to Linux now and after compile will upload all together.

Quote
I'm curious why different SSH servers result in different symbols or colors.  An SSH server is supposed to be more or less a "dumb pipe" that just moves bytes back and forth.  Maybe you need to configure the way the servers launch Rogue.

Beats me. I never worked with SSH servers or curses before, but I'm confident the solution is trivial. You will probably be able to make it work if you get some time to try it out and look at it more closely.

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #6 on: July 10, 2016, 08:41:30 PM »

Linux- rxvt terminal


Linux - xterm terminal


Linux - PuTTY SSH terminal

On Linux with OpenSSH server mouse works with PuTTY out of the box,  so I think that solves the problem as wherever this is going to end up being hosted it will be Linux server. Experimenting with different terminals revealed something  interesting and very surprising - the color to clear background depends on terminal settings rather than application.  I really want background to be bright white, like on xterm terminal in above image, and I find it hard to accept it's not something that can be coded in the application itself. Weird!

But that's not all, even printed characters seem to have will of their own and for the life of me I couldn't make it all bright white, both the printed characters and the background. Where the background is black I can make characters white, but where the background is white the characters refuse to become any brighter than gray. Damn, curses! Any help and suggestions are welcome.
« Last Edit: July 10, 2016, 08:43:08 PM by LazyCat »

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #7 on: July 10, 2016, 08:51:51 PM »
But don't let me discourage you.

On the other hand, you could encourage me. If you would put this on your server so I can judge the speed in the real world setting in order to accordingly adjust the time interval for the delay of running animation. Also, tell me what did you use to code your browser interface? What kind of font does it use, how many characters, ttf or bmp?

elwin

  • Rogueliker
  • ***
  • Posts: 96
  • Karma: +0/-0
    • View Profile
    • Roguelike Gallery
Re: Advanced Super Turbo Rogue Plus
« Reply #8 on: July 12, 2016, 01:39:40 AM »
The default colors do depend on the terminal.  You may be able to change the default color pair with init_pair(), but the most reliable thing to do is define some other color pair and use it for everything.  With the white text on white, have you tried making it bold too?  COLOR_WHITE without A_BOLD usually gets drawn light grey.

The rlgallery.org browser interface is JavaScript, source is here.  It uses whatever the browser's default monospace font is.

I will look into getting your version running online.  The speed and delay varies a lot due to the network.  Often the lag will be unnoticeable most of the time and 15 seconds the rest of the time.
Roguelike Gallery: play Rogue online.  SSH or in browser.

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #9 on: July 12, 2016, 10:59:33 AM »
Figured out about the colors, the trick is not to do anything but let it be configured by the terminal or ssh client.

Anyway, I got a server on cloudsigma.com. [EDIT: was asking for help, but managed to sort it out in the meantime] ... So what now, do I really need 'dgamelaunch'?


By the way. your web console interface, is that your application or I can download it somewhere? Is your server Linux or Windows?
« Last Edit: July 12, 2016, 01:12:48 PM by LazyCat »

elwin

  • Rogueliker
  • ***
  • Posts: 96
  • Karma: +0/-0
    • View Profile
    • Roguelike Gallery
Re: Advanced Super Turbo Rogue Plus
« Reply #10 on: July 13, 2016, 01:32:06 AM »
What dgamelaunch gives you is player accounts and security.  If you don't need permanent accounts, or are fine with handing out shell accounts, you can do without it.

The web console interface is also at the BitBucket link in my previous post.  Be aware it has some problems with colors that I never bothered fixing because Rogue is monochrome.  The server is running Linux.  I've always used Fedora but it should be portable to Debian or similar distros.
Roguelike Gallery: play Rogue online.  SSH or in browser.

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #11 on: July 13, 2016, 03:09:07 AM »
What kind of service do I need to be running in order to host the browser interface?

You are welcome to put this up on your server if you like. I will not be using my server as soon as $20 get used up, which seems it will be in a less than month. Good host, great user interface, everything is easy to set up, the game runs fast, but it's expensive and IP gets dynamically allocated every time the server re-starts. What is your provider, how much does it cost? Do you pay extra to have static IP?

Anyhow, I was thinking about tournaments. It should not be too hard to make some kind of script to automatically run tournaments every weekend, for example, or every day even. But for it to be more interesting everyone should be playing in the same dungeon, with same items, by having random numbers generated from the same seed, like Brogue does it. How does that sound?

By the way, I appreciate your help. Thanks.

elwin

  • Rogueliker
  • ***
  • Posts: 96
  • Karma: +0/-0
    • View Profile
    • Roguelike Gallery
Re: Advanced Super Turbo Rogue Plus
« Reply #12 on: July 14, 2016, 12:52:20 AM »
What kind of service do I need to be running in order to host the browser interface?
It runs as its own service.  There's a Makefile that installs everything, and then you can start it with systemctl.  It uses NodeJS, and it also needs a dgamelaunch installation.

Quote
What is your provider, how much does it cost? Do you pay extra to have static IP?
I use Linode, currently a $20/month plan, but the $10 package could easily handle it.  IP addresses are static.  Digital Ocean is another similar provider.  Places that charge $5 or less tend to be unreliable.

Tournaments aren't too difficult technically, but getting players to show up can be hard.  Giving everyone the same dungeon is an interesting idea.  It would make the randomness affect everyone fairly and equally.  But if people watched someone else's game, they could know in advance where monsters and treasure are.

Quote
By the way, I appreciate your help. Thanks.
Glad to give it.  Happy hacking.
Roguelike Gallery: play Rogue online.  SSH or in browser.

LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #13 on: July 14, 2016, 03:28:53 AM »
It runs as its own service.  There's a Makefile that installs everything, and then you can start it with systemctl.  It uses NodeJS, and it also needs a dgamelaunch installation.

I was struggling to compile dgamelaunch whole afternoon and at the end managed only to compile an older version. But then when I saw how long and complicated instructions to set it up look I finally gave up. I'll leave sever side of things for some other time and get back to making the game first.

Speaking of which, is there anything you would like to change about the game? I don't want to be adding anything new, unless it's really really cool, and that it combines with existing mechanics and adds to the gameplay. Changes I have in mind are more along the lines of making already existing elements more elegant. For example, Mac version doesn't have different 'identify' scrolls for different items, just one type of identify scroll which can identify any kind of item. Also, the difficulty. I don't like that it depends on luck so much, I think there should be at least a theoretical chance, however small, to beat the game every time. Any ideas?


LazyCat

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • View Profile
Re: Advanced Super Turbo Rogue Plus
« Reply #14 on: July 16, 2016, 01:50:05 PM »
Elwin, have you noticed the Rogue restoration project web-site is down? Their last version was 5.4.2, the version I got from your site says 5.4.5. Is this your work? Also, have you been updating source code recently?