GithubHelp home page GithubHelp logo

cuboideb / angbandroid Goto Github PK

View Code? Open in Web Editor NEW
14.0 1.0 1.0 214.74 MB

Java 0.63% HTML 3.49% CMake 0.07% C 85.63% Makefile 0.21% q 0.71% Shell 0.01% C++ 6.29% TeX 0.01% Vim Script 0.02% Lua 2.36% Objective-C 0.15% Roff 0.01% Rich Text Format 0.43%

angbandroid's Introduction

Angband for Android 4.2.4 (plus Variants)

An unofficial port of the roguelike Angband to Android.

This work is based on the excellent port of Angband found here.

The transparent keyboard was borrowed from here (with modifications).

To customize your game experience, please go to the quick settings and preferences menu by long-pressing the screen. The port has many options and you have to play a bit with them to find your optimal setup.

Recommended game experience: Landscape Orientation, button ribbon on, center_player option on (it must be set in the variant).

Profiles and Variants

Profiles are designed to play with different characters. Each profile has its own savefile name and more importantly, its own keymaps.

Some variants of Angband are included in the port: FrogComposband, FAangband, Sil-Q and NPPAngband. They are accessed from the Preferences. Using a different profile for each variant/character is adviced.

To save time, in the quick settings menu there is an item to "Copy" keymaps and buttons from another profile.

Input methods

The game has two input methods: the soft keyboard and the button ribbon. Also, an external keyboard can be plugged to the device.

The soft keyboard

It has two tabs (alphanumeric and symbols) and some opacity opacity settings to make playing a bit easier on small devices.

You can customize the height and width of the keyboard in the Preferences. A small width triggers the "vertical" display of the keyboard. You can then move the DPad (see below) to the bottom-right corner for a more compact input layout.

Some keyboard shorcuts:

Long-Press over game view -> Show Quick Settings
"shift" key -> Press once to capitalize letters. Press twice to send control-secuences (^P, ^F, ...)
Long-Press over most keys -> Define or remove a custom keymap     
"kmp" key -> It toggles visualization of custom keymaps    
"+/-" key -> Show the symbols tab, go back with "abc"

The button ribbon

It appears when the soft keyboard is hidden, and it has two modes (command and full).

In command mode, the ribbon contains icons for the most used commands in the game. Some commands perhaps are missing in this mode (zap a rod, aim a wand, etc.), but most of them can be triggered using the Inventory, Alter and Use commands.

It's important to remember that directions can be used to cycle between equipment, inventory, floor and quiver.

To reduce the number of buttons in command mode, the Alter command can also open chests and close doors.

In the preferences section, you can find some useful options for the ribbon, like "Button Size Multiplier".

Opacity

Clicking on "Change Opacity" in Quick Settings shows a fast popup to adjust the opacity of the keyboard, ribbon and floating buttons. This functionality can be bound to a keymap too (the eye icon).

alt text

alt text

Custom keymaps

While using the button ribbon, the Quick Settings menu gets the item "Manage Keymaps". It can be used to quickly define common keymaps shortcuts.

Android Pref file

Every variant can load internally a new pref file, android.prf. The content of this file is defined by the user and isn't overwritten by port updates. Its location is the "customize" folder for Angband and FAangband and the "pref" folder for the rest of the variants.

Floating buttons

Also created from the Quick Settings menu, they allow you to place keymaps anywhere on the display. A floating buttons has a mandatory action (the sequence of keys that is sent to the core game), an optional label and an optional icon.

Some floating buttons can trigger special actions, like changing the opacity of the keyboard/ribbon or running.

The "overview" action creates a very special button. It shows a small drawing of the dungeon. It can be moved around like the other floating buttons and it has its own opacity and size.

Also, the map view responds to touch events. In the center it triggers the "M"ap command and in the perimeter the "L"ocate command.

The touch directionals (DPad)

The game view can be configured to display 9 squares for moving the character in the dungeon. The action of the center square can be set to do different things.

The DPad can be displayed in compact form to the right of the display. In that case the center square has another use. Long-pressing enables you to drag and drop the whole set to another zone of the screen.

Besides the touch directionals, every touch in the term view is sent to the core game as a mouse press, allowing movement and menu selection.

Graphics modes

This port support the usual graphic tilesets of Angband (go to Preferences). Try the "ascii helper" setting. In that mode monsters and player have small ascii letters in the right-bottom corner to easy the transition from ascii to graphics.

alt text

Enjoy!

Angband homepage http://angband.github.io/angband

Forum and resources http://angband.oook.cz

Online manual https://angband.readthedocs.io/en/latest/index.html

Changelog:

Version 1.28.*

  • Floating buttons.
  • FAangband 2.0 Beta.
  • Graphics support for Sil-Q (MicroChasm tileset).
  • Two rows of keymaps for the ribbon.

Version 1.26 - 2020-11-01

  • From now on, subwindows do not overlap the dungeon, this is useful for text mode.
  • New quick settings option: Reset layout (Portrait or Landscape). It gives you a tool to restore recommended parameters after experimenting with the settings.
  • The sidebar of Angband can be displayed in vertical fashion, becoming the topbar. It is shown in a different subwindow so it has its own font multiplier (check out Preferences). IMPORTANT: the term #4 in the in-game option screen is by default set to "Display player (topbar)" to make this work.
  • The port now tries to adjust the layout after modifiyng certain preferences (subwindows, topbar). You can use the "Fit Width", "Fit Height" and the volume keys to finetune the layout.
  • The mouse icon at the top can be hidden.
  • Advanced keyboard is the default keyboard for portrait mode. If you want, set the classic keyboard in Preferences.

Version 1.25 - 2020-08-20

  • Added an advanced soft keyboard. It has only 2 pages, supports key resizing and custom keymaps actions. Includes an option for vertical layout. Ctrl sequences are activated by pressing the shift key for a second time..
  • Added 2 variants, FrogComposband 7.1-salmiak and NPPAngband 0.4.1. Toggle is in Preferences. In a near future we will have FAangband 2.0.
  • Each game Profile now has its own keymaps.
  • Changed a couple of buttons in the ribbon. (Merged the shift and control modifiers into one button).
  • Added a toogle in the Quick Setting to activate Running mode.
  • Plenty of fixes and code refactoring.

Version 1.24 - 2020-07-22:

  • Added a mouse toggle. Turn it on to access useful commands when pressing over a grid. The grid occupied by the player has special actions.

Version 1.23 - 2020-07-12:

  • Reworked the ordering of some preferences.
  • More tile multipliers (they have their own preference option now).
  • Sub-windows (up to 3, map views are not supported).
  • Added toggle for sub-windows in the quick settings menu.
  • Option to keep touch directionals fixed in place.
  • Position of touch directionals are saved between games.

Version 1.22 - 2020-07-05:

  • Ribbon buttons size multiplier.
  • Auto display long lists of choices for commands and shops.

angbandroid's People

Contributors

cuboideb avatar dieiggon avatar

Stargazers

 avatar  avatar Alexander Tretyakov avatar  avatar Michael McDermott avatar Tom Carrio avatar  avatar Bruno Bigras avatar James Armstrong avatar  avatar Joel Pereira avatar  avatar Peter Winckles avatar

Watchers

 avatar

Forkers

blazesrus

angbandroid's Issues

Adding a new variant or upgrading V to latest nightly?

I'd like to try building the Android port with support for my vanilla fork (with the eventual end goal being building a vanilla-only version that is optimized to have sane defaults), but I don't know exactly where to begin with actually adding it in as a variant or as a replacement for vanilla. I've tried dropping in the updated code and library directory, but I get build errors referring to functions that seemingly no longer exist in V's codebase (specifically feed_keymap).

Any ideas?

"Smite" targeting spells bug with the ribbon keyboard

Normally the keyboard switches to "*", "'", "5" when you use a regular targeting spell. Press * for the victim and it then gives you the "t" key to lock on. However, for some late game spells where this is not the case, it can get problematic since the keyboard switching doesn't account for that.

Spells like the Mage's "Dimension Door" (or even the Paladin's Single Combat if I recall) where you don't usually target the creatures in range but rather the ground or even creatures normally inaccessible via ranged attacks.

So to normally cast Dimension Door behind a monster, I've to press "o" to target ground but the ribbon keyboard swaps back to its default layout after that instead of remaining in the target mode layout, forcing me to show the full keyboard to press t manually. Hope I make sense.

Show the current and older releases in this repo?

Right now there are no files under Releases isted here would it be possible to complete it by adding its older versions as well? That would complete the repository and enable people to download its apk directly from here without Play Store or if they want the older version.

Case in point, I need the older version apk because I had used adb backup to save my highscores long time back and now restore doesn't work on the new version. If I could get my hands on the older apk, I may be able to salvage the highscore list and/or saved file of my last character. It's worth a shot for me.

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.