riiablo | Diablo II remade using Java and LibGDX | Game Engine library

 by   collinsmith Java Version: v0.0.4 License: Apache-2.0

kandi X-RAY | riiablo Summary

kandi X-RAY | riiablo Summary

riiablo is a Java library typically used in Gaming, Game Engine applications. riiablo has build file available, it has a Permissive License and it has low support. However riiablo has 327 bugs and it has 17 vulnerabilities. You can download it from GitHub.

This is my attempt at rebuilding Diablo II from scratch. There is still a long way to go, but a lot of the core is there. The game itself uses 100% original Diablo II assets which are not (and will never be) provided, i.e., you should already own a copy of the game to play this. I am going to do my best to remain faithful to the original game, however I am planning on changing and adding additional features as I think they become necessary (e.g., auto gold pickup). I will write articles in the future explaining how I was able to accomplish certain things, and how some core systems work. Unlike the original game, this version supports just about any reasonable aspect ratio (4:3, 16:9, 18:9, 21:9), however by design I'm locking the game to 480px in height because the original game assets are all geared for that (i.e., the width is dynamic). The expansion did introduce 800x600 support, and I may end up supporting for the desktop version in the future (specifically for some multiplayer lobby stuff), but it's not necessary for the core functionality. The mobile version currently uses 360px height to make selecting UI elements easier, however since much of the UI panels are 480px, in-game is locked at 480px, but I will change this in the future or at least provide scaling on a per-component basis (text). This does run on Android, and I have been using a Galaxy Note 5 as the min spec when testing, but older phones may work as well, especially after optimizations have been made. I can already play Diablo II on PC, my goal is to be able to sit back and play it casually with my friends while also supporting cross-platform play. This game supports local play that can then be taken online (similar to Open Battle.net), with a more secure option being far beyond that. NOTE: This is not playable yet, but the game runs and you can load save files, walk around a bit and look at your characters. Game saves are not modified yet, and 1.13c+ saves are supported (support for some other versions may be added in the future, but it isn't a priority, and I expect most people to create new characters anyways). I do not plan on, or want to make this game compatible with playing with users using the original game client.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              riiablo has a low active ecosystem.
              It has 699 star(s) with 84 fork(s). There are 50 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 79 open issues and 60 have been closed. On average issues are closed in 83 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of riiablo is v0.0.4

            kandi-Quality Quality

              OutlinedDot
              riiablo has 327 bugs (21 blocker, 4 critical, 57 major, 245 minor) and 9630 code smells.

            kandi-Security Security

              riiablo has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              riiablo code analysis shows 17 unresolved vulnerabilities (0 blocker, 0 critical, 0 major, 17 minor).
              There are 2 security hotspots that need review.

            kandi-License License

              riiablo is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              riiablo releases are available to install and integrate.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              riiablo saves you 72491 person hours of effort in developing the same functionality from scratch.
              It has 81025 lines of code, 7058 functions and 931 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed riiablo and discovered the below as its top functions. This is intended to give you an instant insight into riiablo implemented functionality, and help decide if they suit your requirements.
            • Updates the label
            • Command line parser .
            • Parses the CSV columns .
            • Draw the debug objects .
            • Creates the labels for the item .
            • Adds a stats entry .
            • Creates a new pixel buffer with all the pixels in the cache .
            • Convert an integer value to a String
            • Creates the menu .
            • Retrieve a ByteBuf from an existing file .
            Get all kandi verified functions for this library.

            riiablo Key Features

            No Key Features are available at this moment for riiablo.

            riiablo Examples and Code Snippets

            No Code Snippets are available at this moment for riiablo.

            Community Discussions

            QUESTION

            Unity 3'nd Person Controller Camera Acting Weird
            Asked 2022-Apr-08 at 23:22

            I'm very new in Unity and Stackowerflow. If i did something wrong, please don't judge me ^^ I used Unity's TPS Controller asset for my game. In first, it worked very well. But then It broke. But i didn't do anything :( (i don't even touch scripts or prefabs). After that, i deleted asset and re-download it but it didnt work again. Here is one example from my broken scene and these are the codes from my controller. Thanks For Any Kind of Help.

            Starter Assets Input ...

            ANSWER

            Answered 2022-Apr-08 at 23:22

            I had the same problem too. I researched a lot of documents about that and finally, I solved this problem. The problem is not about your codes or events or smth else. The problem is related to Unity. I don't know the exact reason for the problem but you can solve it this way: First, go Edit > Project Settings and select Input System Package from the Left tab. And then, change the Update Method with Process Events In Dynamic Update. And that's all! Dynamic update means the usual Update method that you see in the scripts void Update().

            Images

            Source https://stackoverflow.com/questions/71804001

            QUESTION

            OpenTK doesn't render the color of my triangle
            Asked 2022-Apr-03 at 07:08

            I am learning to program a game engine which is why I followed a tutorial, with that tutorial I have gotten this far and even though my code is identical to theirs (theirs did work in the videos) its not working the way it is meant to. The triangle stays black no matter what. There is not any errors.

            Main Program Script:

            ...

            ANSWER

            Answered 2022-Apr-03 at 07:08

            You actually assign the shader program to a local variable in the event callback function's scope. You need to assign it to the variable in scope of Main:

            Source https://stackoverflow.com/questions/71723584

            QUESTION

            How to create a first-person "space flight" camera
            Asked 2022-Mar-15 at 13:43

            I'm currently attempting to create a first-person space flight camera.

            First, allow me to define what I mean by that.

            Notice that I am currently using Row-Major matrices in my math library (meaning, the basis vectors in my 4x4 matrices are laid out in rows, and the affine translation part is in the fourth row). Hopefully this helps clarify the order in which I multiply my matrices.

            What I have so Far

            So far, I have successfully implemented a simple first-person camera view. The code for this is as follows:

            ...

            ANSWER

            Answered 2022-Mar-02 at 23:15

            The problem is that two numbers, pitch and yaw, provide insufficient degrees of freedom to represent consistent free rotation behavior in space without any “horizon”. Two numbers can represent a look-direction vector but they cannot represent the third component of camera orientation, called roll (rotation about the “depth” axis of the screen). As a consequence, no matter how you implement the controls, you will find that in some orientations the camera rolls strangely, because the effect of trying to do the math with this information is that every frame the roll is picked/reconstructed based on the pitch and yaw.

            The minimal solution to this is to add a roll component to your camera state. However, this approach (“Euler angles”) is both tricky to compute with and has numerical stability issues (“gimbal lock”).

            Instead, you should represent your camera/player orientation as a quaternion, a mathematical structure that is good for representing arbitrary rotations. Quaternions are used somewhat like rotation matrices, but have fewer components; you'll multiply quaternions by quaternions to apply player input, and convert quaternions to matrices to render with.

            It is very common for general purpose game engines to use quaternions for describing objects' rotations. I haven't personally written quaternion camera code (yet!) but I'm sure the internet contains many examples and longer explanations you can work from.

            Source https://stackoverflow.com/questions/71328720

            QUESTION

            How do I make copies of a Node in Godot
            Asked 2022-Feb-19 at 01:11

            I'm new to Godot coming fresh from unity and I cant figure out how to duplicate an object/node. I've tried the duplicate function to no effect. My most recent attempts try to create child nodes with the same property as the parent. I cant seem to get anywhere, help would be appreciated. Here is my code that tries to create a child node:

            ...

            ANSWER

            Answered 2022-Feb-19 at 01:11

            • The base node class is invisible (gray) so you cannot see if they were added or not. You can switch from the local to the remote tab in the scene tree while running to see only one invisible node added.
            • If you change the code to AddChild(copynode).Duplicate(); you can see it adds all 5 invisible nodes.

            Source https://stackoverflow.com/questions/71180866

            QUESTION

            Coming from OO languages to C, how can I avoid circular dependencies?
            Asked 2022-Feb-13 at 13:14

            When I say "Entity" below, I'm not specifically referring to anything relating to the ECS pattern, I just mean a general game entity.

            I'm trying my hand at game development in C, after having done previous game dev in TypeScript. I'm looking for a C idiomatic way to reuse a pattern with which I'm familiar: each tick, the game iterates through a list of entities, telling each one to update itself, then draw itself. Each entity knows how to update itself, but requires information about the game as a whole to make this update.

            ...

            ANSWER

            Answered 2022-Feb-13 at 13:14

            Don't #include "entity.h" from game.h and vice versa. Just forward declare what you need a pointer to. Also add header guards if you haven't already.

            Example:

            Source https://stackoverflow.com/questions/71100649

            QUESTION

            SpawnObject for ak(Clone) (UnityEngine.GameObject), NetworkServer is not active. Cannot spawn objects without an active server
            Asked 2022-Feb-10 at 07:54

            helloI'm making an object in Unity that gives players random weapons when they hover over it, but it always gives me this warning and doesn't create it.

            ...

            ANSWER

            Answered 2022-Feb-10 at 07:54

            This is because of you are calling the spawn function from client. You should call it in server.

            Source https://stackoverflow.com/questions/71010816

            QUESTION

            Detecting if an enemy was shot by bullet
            Asked 2022-Feb-06 at 03:20

            I am trying to learn Godot by making a simple 2D shooter, but am running into a problem. I do not know how to detect if an enemy has been shot by a bullet. My bullets are Area2D nodes with a Sprite, and CollisionShape2D node attached. My enemies are KinematicBody2D nodes with a Sprite, and CollisionShape2D node attached. The enemy also has a timer attached, but that is not important.

            Here is the enemy code:

            ...

            ANSWER

            Answered 2022-Feb-06 at 03:20

            On your _on_PlayerBullet_body_entered you a body that has a reference to whatever the Area2D collided with, you can use it to communicate with it.

            For example, you can call a method on it. Which could, of course could be queue_free:

            Source https://stackoverflow.com/questions/71003599

            QUESTION

            Phaser.js: How to get or remove all sprites in one scene
            Asked 2022-Jan-29 at 09:00

            I used to handle a group of sprites by push them into an array or sprite group which is build-in class in the Phaser. But I am seeking another simple way could get or remove all sprites in an scene. Does anyone have any idea to resolve this? Thanks a lot!

            ...

            ANSWER

            Answered 2022-Jan-29 at 09:00

            The Scene has a property children (link to documentation)

            You can get all Sprites, with the command:

            Source https://stackoverflow.com/questions/70903111

            QUESTION

            Phaser3, Creating Rounded Rectangle, Not Staying Put Relative To Window
            Asked 2022-Jan-21 at 00:26

            I'm trying to create a scoreboard using phaser3. It creates the board when I do the following in create function:

            ...

            ANSWER

            Answered 2022-Jan-21 at 00:26

            YourGraphic.setScrollFactor(0,0);

            Source https://stackoverflow.com/questions/70794747

            QUESTION

            Ursina Python Engine: Lighting, Shadows And Bloom Effects
            Asked 2022-Jan-17 at 07:34

            I Am New To Ursana Engine And I Don't Know It Properly. But I Can Make Games In It. But The Problem Is That My Game Doesn't Have Any . So My Game Looks Dead.

            Is There Any Way To Make My Game Look Good Using In Ursana Engine?

            ...

            ANSWER

            Answered 2021-Dec-11 at 20:32

            You have to add lights and also apply lit_with_shadows_shader to entities that will receive shadow.

            See more here: https://www.ursinaengine.org/cheat_sheet.html#DirectionalLight

            Source https://stackoverflow.com/questions/70139918

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install riiablo

            The Android SDK is required to build the project by default (even if you want the desktop module only), however you can circumvent this by following this post which explains which files to modify and references to delete. Two environment variables can be used to automatically set the D2 installation and save directories if they are not automatically detected, and you do not want to use command-line arguments every time you launch the game. Otherwise, using the --help command-line argument will show a list of all available options -- including manually specifying your D2 installation. Typical D2 installations should be automatically detected and configured (including existing saved games). If a D2 installation cannot be detected (or you would like to do something like change which saved games to use), see the above instructions on using command-line arguments. This project was developed using the native Win32 MPQ files, so you will need to copy them from your Windows installation (whether that be Wine or just a copy of the files). Detection of the MPQs may be spotty and require manually specifying them via command-line arguments or environment variables (see above). Debug APKs can be created with gradlew android:assembleDebug, however configuring the app on a device is a bit of a pain at this time unless you can manually copy the resources from your Win32 installation onto your device in the app data directory. This will require having logcat running so that you can see any errors it spits out about where it's looking for the files. This process will be made easier in the future.
            Importing into Intellij/Android Studio
            Default run configurations are provided within .idea/runConfigurations. The default resolution is 854x480, other configurations are provided to ensure a wide range of support --windowed arg can be used to start in windowed mode, while F12 can be used in-game to disable the debug UI.
            Environment variables D2_HOME and D2_SAVE can be used if you are a pluggy user.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/collinsmith/riiablo.git

          • CLI

            gh repo clone collinsmith/riiablo

          • sshUrl

            git@github.com:collinsmith/riiablo.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Game Engine Libraries

            godot

            by godotengine

            phaser

            by photonstorm

            libgdx

            by libgdx

            aseprite

            by aseprite

            Babylon.js

            by BabylonJS

            Try Top Libraries by collinsmith

            diablo-unifi

            by collinsmithJava

            PawnModule

            by collinsmithJava

            pomona-transit-system

            by collinsmithJava

            collections

            by collinsmithJava