Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (777)
Games in Android Showcase (231)
games submitted by our members
Games in WIP (856)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2 3 ... 10
 1 
 on: 2018-12-13 12:27:27 
Started by Ranger - Last post by Ranger
I've now completely removed the social login requirement.  Only time you need to do this, is if you want to save your progress, and continue on another machine/device.

Also made sending the friend race with a link way more obvious, and fixed all the other dumb things.  Grin

Glad i could help!

Quote
You can actually send a friend race without the social login.
Ah ok, i tried it now, it's a bit ... boring. First racing alone and then having to rewatch the thing, meh...

I don't understand.  What do you mean rewatch it?  You should be able to play against your friend/s (in a turn-by-turn race, not real time).

Would displaying the other player as a ghost, but in real time, be possible with your engine? I know it's tricky if the engine isn't built for it but that's an feature i would have expected tbh.

The problem is WebSockets aren't yet supported on Google App Engine Standard.  I would have to switch to Google App Engine Flexible, or AWS, or something that gives me a dedicated server.  But, yes, you're right, that would be a big change, but it is something I image people want.  I'll do some investigations.   Smiley

 2 
 on: 2018-12-13 10:16:33 
Started by Ranger - Last post by VaTTeRGeR
Glad i could help!

Quote
You can actually send a friend race without the social login.
Ah ok, i tried it now, it's a bit ... boring. First racing alone and then having to rewatch the thing, meh...

Would displaying the other player as a ghost, but in real time, be possible with your engine? I know it's tricky if the engine isn't built for it but that's an feature i would have expected tbh.

 3 
 on: 2018-12-13 06:18:08 
Started by orange451 - Last post by orange451
Here's a laundry list of updates over the months:

- Added disabled property to button objects
- Fixed issue with text next to checkboxes not positioning correctly
- Improved font loading time (makes new window loading almost instant)
- Fixed issue with context menus not being properly sized
- Better listener handling when removing nodes

 4 
 on: 2018-12-13 01:53:40 
Started by BurntPizza - Last post by orange451
Spent the last day figuring out how to make a dragger... Was a lot more challenging than I thought. None the less it works quite well!

Click to Play


I also started prettying up the github for it:
https://github.com/orange451/AnarchyEngine

 5 
 on: 2018-12-13 00:47:11 
Started by Ranger - Last post by Ranger
Excellent feedback VaTTeRGeR!  Thank you!!!

Your game did some funky stuff with my browser window, i'm using 2 monitors and the browser window switches to the secondary screen when a race finishes. Are you forcing full-screen or something, maybe my window manager is at fault here, idk.
It was the fullscreen feature! Why don't you disable this by default? It has the potential to scare computer noobies and makes the others mad because you take control of their browser window...
Or place a fullscreen button somewhere directly in your main menu...

Great idea.  I didn't think about multi-monitors where the primary monitor was not the monitor that the user was using.  I'll fix this up.

Also wouldn't a multiplayer mode where you send your friend a lobby/race-ID to join be desirable? You're locking out potential players by forcing this social login bullshit.

You can actually send a friend race without the social login.  However, I realise I have made it way too complicated to do.  Right now, you need to create the race without adding any friends, then select the race you just created, click the "invite friends" link, then the "Invite friends via message" link.  Yep, way too complicated.  Will fix this up.

I like how you place the car on the screen, it gives you a good feeling of where you are headed.
The overall menu structure felt strange at first but it's pretty responsive and made sense later on so i like it.

You forgot a return/back button in your pre-race screen btw, ESC works but who knows that the first time they are playing your game?

Woops!  Will also fix this.

I like it overall, it would be the perfect game to play in highschool in a computer lab while the teacher is away (if it would have a login-less multiplayer feature Kiss )

Thanks again VaTTeRGeR.  This feedback in invaluable!

 6 
 on: 2018-12-12 21:20:32 
Started by BurntPizza - Last post by philfrei
I posted/released what I think is a nifty little polyphonic keyboard on itch.io.
Reference Note Keyboard
Uses an embedded, customized Java9 runtime made with JLink, so the download is under 20MB.

Am heading to the library to look for a book to help me get into the promotion mindset, to learn a bit about writing sales copy. All my energy has gone into coding, learning to play/compose music. Very little has gone into promotion, and I know the ad copy needs improvement.

It's free. Check it out and let me know what you think!


 7 
 on: 2018-12-12 11:25:44 
Started by Ranger - Last post by VaTTeRGeR
Your game did some funky stuff with my browser window, i'm using 2 monitors and the browser window switches to the secondary screen when a race finishes. Are you forcing full-screen or something, maybe my window manager is at fault here, idk.
It was the fullscreen feature! Why don't you disable this by default? It has the potential to scare computer noobies and makes the others mad because you take control of their browser window...
Or place a fullscreen button somewhere directly in your main menu...

Also wouldn't a multiplayer mode where you send your friend a lobby/race-ID to join be desirable? You're locking out potential players by forcing this social login bullshit.

I like how you place the car on the screen, it gives you a good feeling of where you are headed.
The overall menu structure felt strange at first but it's pretty responsive and made sense later on so i like it.

You forgot a return/back button in your pre-race screen btw, ESC works but who knows that the first time they are playing your game?

I like it overall, it would be the perfect game to play in highschool in a computer lab while the teacher is away (if it would have a login-less multiplayer feature Kiss )

 8 
 on: 2018-12-12 04:22:15 
Started by Ranger - Last post by Ranger
Friend races are now live.  Create private races just for you and your mates.  Find out who the best driver really is!

Demo video:  https://www.facebook.com/DriftTeamGame/videos/720974724944963/

Play here:  https://drift.team/?p=friendrace

Enjoy, and any feedback is greatly appreciated!   Smiley

 9 
 on: 2018-12-11 20:37:13 
Started by Tekkerue - Last post by Tekkerue
Hi all, in my LibGDX application after changing my target Android API to 26 my app is crashing when writing using an external FileHandle. I had this working when targeting a lower API (20) by adding these to my AndroidManifest.xml:

1  
2  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

But a few months Google changed the minimum API to 26, which requires handling runtime user permissions so the AndroidManifest entry is no longer enough to make it work.

I have no experience with Android specific code because everything I’ve needed to do up to this point I have been able to do entirely within LibGDX. Here is a tutorial I found for external read permission in Android, but I’m not sure how to make this work within a LigGDX project (I have not been able to find any LibGDX tutorials on this). Is this what I need to do and would this go in the AndroidLauncher.java or does it need a separate file within the Android project?
Code: https://codinginflow.com/tutorials/android/run-time-permission-request
Video Tutorial: https://www.youtube.com/watch?v=SMrB97JuIoM

Here is my simple LibGDX example which works if I target a lower API (20) but it crashes when I change it to API 26 because I’m not handling the runtime user permissions. In my example, clicking the button labeled “PRESS” causes a String to be saved to a text document via JSON. Then the string is read back out of the text file into a label and displayed on screen. The counter increases each time the button is clicked to show that a new save and load event has occurred.

If someone could help get my sample program working with API 26 (or later) or provide a different working example in LibGDX that I could download, run, and examine I would greatly appreciate it. Thanks.

Test.java
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
public class Test implements ApplicationListener {
   private Stage stage;
   private Window window;
   private Graphics graphics;
   
   @Override
   public void create () {
      stage = new Stage();
      stage.setViewport(new ScreenViewport(stage.getViewport().getCamera()));
      Gdx.input.setInputProcessor(stage);
   
      graphics = new Graphics();
      window = new Window(graphics);
      stage.addActor(window);
   }
   
   @Override
   public void render () {
      Gdx.gl.glClearColor(0.1f, 0.1f, 0.1f, 1.0f);
      Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
      stage.act(Gdx.graphics.getRawDeltaTime());
      stage.draw();
   }
   
   @Override
   public void resize(int width, int height) {
      stage.getViewport().update(width, height, true);
   }
   
   @Override
   public void pause() { }
   @Override
   public void resume() { }
   
   @Override
   public void dispose () {
      stage.dispose();
      graphics.dispose();
   }
}


Window.java
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
public class Window extends Table {
   Graphics graphics;
   FileHandle handle;
   Label label;
   int count=0;
   
   public Window(Graphics graphics){
      setFillParent(true);
      this.graphics = graphics;
      handle = Gdx.files.getFileHandle("ZTEST/test.txt", getFileType());
     
      // label
      Label.LabelStyle labelStyle = new Label.LabelStyle();
      labelStyle.font = graphics.getFont();
      labelStyle.fontColor = Color.WHITE;
      label = new Label("", labelStyle);
      label.setAlignment(Align.center);
      add(label).size(graphics.programWidth*0.4f,graphics.programWidth*0.14f);
      label.debug();
      row().pad(graphics.programWidth*0.1f);
     
      // button
      TextButton.TextButtonStyle buttonStyle = new TextButton.TextButtonStyle();
      buttonStyle.font = graphics.getFont();
      buttonStyle.fontColor = Color.WHITE;
      final TextButton button = new TextButton("PRESS", buttonStyle);
      button.addListener(new ClickListener(){
         @Override
         public void clicked(InputEvent event, float x, float y){
            // SAVE TO DISK
            save(++count);
           
            // LOAD FROM DISK
            load();
         }
      });
      add(button).size(graphics.programWidth*0.4f,graphics.programWidth*0.14f);
      button.debug();
   }
   private Files.FileType getFileType(){
      switch(Gdx.app.getType()){
         case Desktop:
            return Files.FileType.Local;
         default:
            return Files.FileType.External;
      }
   }
   
   private void save(int count){
      Json json = new Json();
      json.setOutputType(JsonWriter.OutputType.json);
      handle.writeString(json.prettyPrint("save: "+count), false);
   }
   private void load(){
      if(handle.exists()){
         final Json json = new Json();
         label.setText(json.fromJson(null, handle.readString()).toString());
      }
   }
}


Graphics.java
(Creates the BitmapFont)
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
public class Graphics implements Disposable {
   public final int programWidth;
   BitmapFont font;
   
   public Graphics(){
      programWidth = (Gdx.graphics.getWidth() < Gdx.graphics.getHeight()) ? Gdx.graphics.getWidth() : Gdx.graphics.getHeight();
      font = generateNumberFont();
   }
   private BitmapFont generateNumberFont(){
      final FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("internal/arialbd.ttf"));
      final FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
      parameter.characters = "abcdefthijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890:";
      parameter.size = (int)(programWidth*0.08f);
      final BitmapFont font = generator.generateFont(parameter);
      generator.dispose();
      return font;
   }
   
   public BitmapFont getFont(){ return font; }
   
   @Override
   public void dispose() {
      font.dispose();
   }
}


AndroidManifest.xml
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
<?xml version="1.0" encoding="utf-8"?>
   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.tekker.test" >
   
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/GdxTheme" >
      <activity
         android:name="com.tekker.test.AndroidLauncher"
         android:label="@string/app_name"
         android:screenOrientation="fullUser"
         android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

 10 
 on: 2018-12-10 15:29:44 
Started by zero_one - Last post by zero_one
CastlevaniaBot is a plugin for the Nintaco NES emulator that plays Castlevania.

https://meatfighter.com/castlevaniabot/


Pages: [1] 2 3 ... 10
 
hadezbladez (330 views)
2018-11-16 13:46:03

hadezbladez (169 views)
2018-11-16 13:41:33

hadezbladez (328 views)
2018-11-16 13:35:35

hadezbladez (78 views)
2018-11-16 13:32:03

EgonOlsen (2168 views)
2018-06-10 19:43:48

EgonOlsen (2195 views)
2018-06-10 19:43:44

EgonOlsen (1372 views)
2018-06-10 19:43:20

DesertCoockie (1998 views)
2018-05-13 18:23:11

nelsongames (1641 views)
2018-04-24 18:15:36

nelsongames (2291 views)
2018-04-24 18:14:32
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!