Git Product home page Git Product logo

pixel-dungeon-gdx's Introduction

pixel-dungeon-gdx

GDX port of the awesome Pixel Dungeon

Quickstart

Do ./gradlew <task> to compile and run the project, where task is:

  • Desktop: desktop:run
  • Android: android:installDebug android:run
  • iOS: launchIosDevice or launchIphoneSimulator or launchIpadSimulator
  • HTML: html:superDev (this doesn't work yet, some classes need to be changed)
  • Generate IDEA project: idea

For more info about those and other tasks: https://github.com/libgdx/libgdx/wiki/Gradle-on-the-Commandline#running-the-html-project

pixel-dungeon-gdx's People

Contributors

arcnor avatar onix avatar prurigro avatar watabou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pixel-dungeon-gdx's Issues

Save after each level?

I've never actually had pixel dungeon crash, but I have had my OS crash while playing pixel dungeon, and you lose all progress since you last exited the game (or died). I hadn't given it much thought, but I've been following some of the other forks, and this commit seems like a simple and decent solution to the issue, what do you think?

Clicking a tile doesn't work after resize

After resizing a window on desktop and changing orientation on iOS the map stops responding on tapping, but it still can be dragged without a problem. After tapping any ui element (toolbar buttons, hero's avatar etc) everything gets back to normal.

Controls reset to default after loading

I can change the controls and have them work great for the duration of session (great job btw!), and I'll see their new values in pd-prefs after exiting, but when I start the game back up they'll have reverted to their original values, and the default values are in pd-prefs after I exiting again.

I haven't had a chance to look at the code to see what the issue might be yet, so I'll add that my system is an up to date x86_64 Arch Linux box using the jre8-openjdk runtime (in case that changes anything.)

Cheers!

UI hints

We've added a bunch of keys that are not immediately discoverable unless you check the code, or read some sort of manual.

We should have some sort of in-game help system, maybe a delayed on-hover tooltip when you hover the buttons or similar

rename character?

Hey there, in the heroclass.java one can change the name of said character they want, yet when compiling and running the game the name still stays the default in the select character scene, any comments help etc?

Log spamming

Right now, the logs (or the console in the case of desktop) are receiving all the messages from the game, I'm sure we don't need to spam them like that.

Encryption prevents loading old data

Hey- I can't seem to move past the tile screen with my old save data after compiling the update with encryption; assuming this is the issue, is it possible to have it imported to the new system?

Thanks

Badges text cut

When you have a badge with long text (i.e. BOSS_SLAIN_3_ALL_SUBCLASSES) the text is not shown completely because we don't create a multiline label.

Also, the window should probably be resized on desktop, it's always shown as one thin column

Texture packing

Right now, we change sprites every time we draw something on screen. This generates lots of GL texture binding, that is very costly.

A much better solution is to pack the textures into a map and use the same for everything. A quick test suggests that all PD textures can be packed on a 2035x266 texture (when using rotation and non-power-of-two textures) or 2048x512 (without rotation and power-of-two). By splitting font3x.png, we can even get to a 1024x1024 texture, very useful if we want to target (very) old devices without support for 2048x2048 maximum texture size, but maybe that's a non-issue.

Add proper versions

Right now, the version that shows on the main screen is "???". Also, every platform has a different version on their metadata information.

HTML version not working

I've done a little work to make the HTML version compile. This needs #45 to be merged in first, or the changes you'll see here will be very polluted. What is missing/should be done:

  • Pattern and Matcher are not supported, so they need to be replaced on BitmapTextMultiline and Window
  • String.format and String.toUppercase(Locale) are not supported. If we don't mind waiting, this will be fixed by #43 because it replaces all those calls with LibGDX's I18N support
  • InterlevelScene and WndRanking are creating a Thread to do stuff, but that's not supported on GWT. An alternative might be using Web Workers or something similar from GWT, but we'll need to abstract the piece of code that does the work so we can call GWT classes on the html module.
  • Bundle uses the org.json package, so we should either add the package sources so it can be compiled by GWT, or replace that package with LibGDX JSON support that is multiplatform.

Launch image for iOS

The current launch image is the LibGDX logo. I think that a plain black screen should be fine.

Update to 1.9.2

Since this GDX port is on version 1.7.2 and the original game on 1.9.2, it would be a good idea to update this port.

Or at least write down how to update by myself.

Scroll of Weaon Upgrade?

This is more for @watabou's share of the code (upstream), but I'm posting here as this repo seems to be where the activity is.

In ~300 games I'm not aware of having run into the **Scroll of Weapon Upgrade" once, which I assumed was simply because it was super rare or that there was some trick like the Potion of Might. I recently found myself looking at the Scrolls Catalogus before trying an unidentified one however, and there were two that I hadn't seen including the Scroll of Weapon Upgrade and one other one. I then used the scroll, which turned out to be the one that wasn't the Scroll of Weapon Upgrade, and somehow I was then awarded the All scrolls identified badge, and when I went into the Scrolls Catalogus the Scroll of Weapon Upgrade scroll was shown as identified too... I'm not 100% certain that you don't simply identify the final one out of a process of elimination, but I'm pretty certain the potions don't work like that...

Anyway, I just thought I'd mention this in case it turned out to be a bug and not my own error :)

Thanks, and cheers!

Save files encryption

Currently game progress is saved in JSON, so saved games are very easy to edit in text editor. On mobile it's less a problem, because the files are harder to access, but on desktop we need some lightweight encryption (nothing serious, just to make these files human unreadable).

Incorrect floating text scaling

When choosing a font and scaling factor for floating texts ("dodged", "+1xp", "level up" etc.) the current zoom factor is not taken into account. As a result texts may look ugly especially on low dpi displays (incl. desktops).

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.