Coder Social home page Coder Social logo

libgdx.github.io's Introduction

This is the repo for the official libGDX website and wiki. The deployed page can be found at libgdx.com.

If you want to contribute, please take a look at the wiki of this repo. For bigger changes, it is recommended to join our Discord server and talk with the contributors about it. If you want to edit one of the wiki pages, those are located in the wiki/ folder. Please also take a look at our wiki style guide.

New content contributed to this repository is licensed under the CC BY-SA 4.0 License.

libgdx.github.io's People

Contributors

badlogic avatar bobishere86 avatar crykn avatar didicodethat avatar fourlastor avatar frosty-j avatar galloj avatar github-actions[bot] avatar jamestkhan avatar libgdxsite-bot avatar lyze237 avatar marcinsc avatar menglutao avatar mgsx-dev avatar mrstahlfelge avatar nathansweet avatar niranjanghule avatar noblemaster avatar obigu avatar patrity avatar payne911 avatar pokemmo avatar raeleus avatar rafaskb avatar simonit avatar sonicgdx avatar tom-ski avatar tommyettinger avatar unenergizer avatar yuripourre 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

Watchers

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

libgdx.github.io's Issues

Link to 3D video tutorials

Quick mobile issue while it's fresh in my mind - I think JamesTKhan has the only video tutorial series for 3D stuff but it isn't linked on the External Tutorials wiki page, the 3D Graphics page (a bit of overlap here, since it links to Xoppa's tutorials externally but those aren't on the External Tutorials page) or anywhere as far as I can see.

It isn't hard to find but I'm talking about this one: https://www.youtube.com/playlist?list=PLjUR2MkQ0cuHZ70Ps8F9WMyoyKHKAbYvQ

Removal of IRC

At https://libgdx.com/community/ it says libGDX has an IRC channel on Freenode. I've heard the libGDX community has been nonexistent there for a good while, and ever since Freenode officially become digital territory of the Joseon Empire, things have gone downhill across the entire network.

I've been discussing this in #libgdx-contributions on Discord and have proposed the removal of a reference to it at libgdx/libgdx#6627. It may make sense to remove this from the website, too (or at least say the libGDX community used to be on IRC).

Could theoretically do it myself but would need to figure out how to do so without ruining the layout. Just not going to invest the time right now, unfortunately.

Switch to gradle run instead of setting up a new launch configuration

In IntelliJ, instead of setting up a launch configuration, you can extend the gradle tab, then click on the run task.

This sets up a run configuration for you automatically.

Advantage is that the user can't mess up the working directory or anything else and it gets them familiar with the gradle tasks window. Therefore, it (should) be easier to run other tasks, like dist and clean.

image

incorrect package name

For the simple game tutorial located inside
wiki/start/a-simple-game.md
desktoplauncher.java should be packaged as 'package com.badlogic.drop;' instead of 'package com.badlogic.drop.Desktop;'

Dark mode: use CSS media queries instead of Javascript

The recently implemented dark mode (8681391, 322465c) has one drawback: since it uses Javascript to change the used CSS stylesheet (the relevant code can be found here), the change only happens after the page has loaded. If a page visitor has a slow internet connection, this can lead to the page being displayed in white first and only then switching to dark mode.


To avoid this behaviour, the dark mode could be implemented in an alternative way by adapting the current skin of the website to use prefers-color-scheme media queries. This would involve some work and lead to quite a few duplicate classes (to override the skin's original files), but if we ever decide to go that route, here are some thoughts on this:

  • The theme this page uses, Minimal Mistakes, employs SASS, a CSS extension, for styling. For every area of the theme, there is a SASS file containing the relevant CSS code and a skin is used to set the colours used throughout the theme. The skin and all those SASS files are then included in one master file and compiled to CSS whenever the site is deployed.
  • Apparently, media queries cannot be used with SASS variables. As a consequence, every SASS variable used in those files, which denotes a colour, has to be changed to a CSS variable, which can then be used in a media query.
  • The relevant color codes can be found in the default and the dark theme.

Embed GWT apps

As mentioned in Status Report #8, it would be pretty cool to embed GWT content in wiki pages. This issue is meant as a RFC on how to implement this best. If anyone wants to give this a shot, please feel free to do so.

  • The generated JS code should be located somewhere in /assets/wiki/
  • A custom embed-gwt element should be created to make usage as simple as possible. Something like: {% include gwt.html path='/assets/wiki/gwt/example1/' %}. See here for a very basic example of an element.
  • The embed-gwt element then has to take care of adding the needed HTML code as well as the Javascript script (just take a look at the index.html generated by a libGDX GWT project; maybe this blog post can give some pointers).
  • The GWT application itself seems to require some (asset) path changes.
  • Suggested by @Frosty-J: Java source code located somewhere in the project (maybe in a /gwt/ folder in the root) could be auto-compiled via GitHub Actions, modified as necessary and copied to the /assets/wiki/gwt/ path. (Maybe this specific action should only run if triggered manually or when there are changes to the corresponding dir.)

Add 'Dash till Puff 2' in showcase application

Hi, i dowload this game some years ago, and i see "Powered by LibGdx" in credits.
The game is of good quality and got a lot of review and dowload on play store

link website : https://riftergames.com/dash-till-puff-2/
link google play : https://play.google.com/store/apps/details?id=com.riftergames.dtp2.android&hl=fr&gl=US
Link app store : https://apps.apple.com/fr/app/dash-till-puff-2/id991660396

I want to clarify, Its not my game ^^
close it if you think its no value.

I join a screen of credits
image

Thanks for reading

The "Getting Start: Project Generation" page uses a deprecated tool (gdx-setup)

The Project Generation page (https://libgdx.com/wiki/start/project-generation) contains a direct download link to gdx-setup v1.12.1 (jar file), which is an old version of a deprecated project.

There is a newer continuation/fork of it: gdx-liftoff (https://github.com/libgdx/gdx-liftoff).

I scaffolded a Desktop + Web (GWT) project using gdx-setup and spent hours trying to get html:dist or html:superDev to run, only to realize later that gdx-setup is deprecated in favor of gdx-liftoff.

Suggestions:

  • In Project Generation, link to the gdx-setup repo (so users can download the latest version if they need to + know the project is deprecated).
  • Rewrite the Project Generation page for gdx-liftoff.
  • Update related pages, like desktop:run does not work in gdx-liftoff-generated projects but lwjgl3:run does.

I would make these changes myself, but I'm just getting started with libGDX and have no idea what I'm doing :p

Canonical links should be absolute

If we take the homepage, for example, we have <link rel="canonical" href="/">. That's fine - I think it'll stop search engines from thinking libgdx.com/?aaaaaa might be the proper address, but what it doesn't do is stop them from thinking crykn.github.io might be the proper address. Sometimes it wins in the rankings, but only rarely - you have to go out of your way to make it happen since libgdx.com will hopefully always have more domain authority.

crykn.github.io ranking at the top for the search query "GDX is always written in upper-case" on Bing

But changing this I'm not too sure on. It's a part of seo.html I'm sure, but that file appears out of thin air.

{% include seo.html %}

Shortcut to roadmap

Hello, congratulations to the new website, i love it.

I think a shortcut to your roadmap is missing !

Actually for see it i use uri.

thanks for reading

Enforcing HTTPS

Hello, I'm here to raise the discussion of enforcing HTTPS on libgdx.com. This can be toggled in Settings -> Pages -> Enforce HTTPS.

Pros:

  • Removes the "not secure" warning when navigating to the website by typing libgdx.com into the address bar.
  • Removes the HTTP entries from Bing's (and consequently DuckDuckGo's) index, which ties into the first point but might also bring an SEO benefit? #62 would likely also fix this (sorry, haven't looked into that).
  • Should reduce the odds of anything unwanted being injected into the page, such as when on public Wi-Fi.
  • Theoretically might be faster, since the HTTP/2 protocol gets used when GitHub Pages is served over HTTPS. In practice it's about the same for me.

Cons:

  • Can cause compatibility issues with older systems. GitHub uses Let's Encrypt, which has a compatibility list. Their list is on the cautious side - e.g. Nintendo 3DS is listed as incompatible, but it works fine after closing a certificate error message.
  • Theoretically might be slower, since the page needs to be encrypted then decrypted. In practice it's about the same for me.

Migrate other wikis

The wikis of the other libGDX repos should be migrated as well:

Steps involved (see #65)

The old wiki markdown files were ported to Jekyll with the help of this code. For smaller wikis, doing those steps manually or with a custom script might be easier.

  • The main step involved was fixing the wiki-style links ([[streaming-music]] -> [streaming-music](wiki/audio/streaming-music.md)) and, in the course of this, organising the pages in subdirectories.
  • Similarly, the paths of assets located in the old wiki repo were changed to refer to their new location in /assets/wiki/.
  • In addition, every wiki page now needs a frontmatter specifying a page title:
    ---
    title: Modules overview
    ---

`scrolled` event is sorta wrong

I can't think of the good words at the mo...

Reports either -1 or 1 depending on the direction of spin.

...but this is not entirely correct. Pre-1.9.12, yeah, good enough. It would only not be -1 or 1 if the user managed to scroll two or more clicks in one frame.

But since then, either axis can be 0 (X if the user is scrolling Y, or vice-versa) and fractional amounts (on my touchpad I get 0.016666668, 0.025, 0.033333335...). In my testing, if you scroll diagonally, it will alternate between X and Y (or Y and X - it's hard to tell).

1.95, -0.0
-0.0, -2.5166667
3.3416667, -0.0
-0.0, -1.675

https://libgdx.com/wiki/input/event-handling

[Wiki] Using libGDX with Scala

Hi there,

I'm just learning libGDX now and reading the docs and cross checking along the way, so I'm not yet comfortable to suggest an edit. I'm also new to Android and game programming.

I was reading https://libgdx.com/wiki/jvm-langs/using-libgdx-with-scala and it mentions:

In the dependencies include the scala library: compile "org.scala-lang:scala-library:2.11.12" (Scala 2.12.* requires java 8, but the majority of Android devices don’t support it)

From what I can tell, this is out of date. It seems to me like Android API level 33+ is required now - https://developer.android.com/google/play/requirements/target-sdk, which brings with it Java 11, I think. Also, I think Scala 2.13.11 and 3.3.0 seem to be mostly compatible with Java 8 and fully with later versions (Java 11).

Does anyone know if there are limitations that would make us not want to update the docs to suggest to use Scala 2.13.11 or 3.3.0?

page2 ... page7

There's a strange set of additional pages that get generated for the homepage, and I can't tell where they're coming from. They each have their own canonical tag, appear in the sitemap, and are linked to each other with <link rel="canonical" href="...">. I can't tell why these are being generated, and it's probably safe to say they shouldn't be, more for SEO reasons than human.

https://libgdx.com/page2/
https://libgdx.com/page3/
https://libgdx.com/page4/
https://libgdx.com/page5/
https://libgdx.com/page6/
https://libgdx.com/page7/

Copying code to clipboard would be rad

Okay, had my lunch now. Ready for imports. Don't know how difficult this would be to implement, but on GitHub you can copy code blocks to the clipboard.

GitHub screenshot of codeblock with copy button

On the wiki, I have to resort to copying the text like a caveman.

libGDX screenshot of codeblock without copy button

I tried adding user-select: all to it but that caused the entire thing to get selected even when trying to highlight a specific section, which I didn't particularly like.

Mention JDK 11 requirement for Android development

Just writing this here before I forget. The Android part, I mean, but I may as well get my money's worth from this issue while I'm here.

If and when libgdx/libgdx#6811 is merged (not anytime soon by the looks of it), setup.md should be updated to note that JDK 11 or newer is required for Android development in IntelliJ IDEA.

That said, IDEA seems to come with the JetBrains Runtime (a fork of OpenJDK 11). Despite it obviously being called a "Runtime", I seem to be able to do development with it just fine. Am I off my rocker?

Regardless, with setting up the Android stuff without Android Studio being a bit of a pain and it being the second-class IDE for Android development, I don't suppose too many people will end up trying to run it on JDK 8.

Personally, I think Java 17 is dangerously dope, as the cool kids say, with many improvements over 8, even when using sourceCompatibility 1.7. But I understand this isn't enough for the skateboarders - they might want to turn it up to 18! Which is currently incompatible.

I'm hoping Gradle 7.5 will arrive shortly, but its release candidate's due date seems prone to getting pushed back. Until the final version of it arrives, it might be nice to throw up a notice about JDK 18 not working, like we had when JDKs 16 and 17 were incompatible.

Uh... one last thing: Visual Studio Code seems somewhat popular for Java/libGDX work, but I've never used it, nor do I intend to. From what I gather, users require a Java extension or coding pack. Anyhow, it may be worth listing. I'm just unsure if it's a jack of all trades, master of none.

Default web project fails to run

Hello,

I was following the setup steps. I created project with desktop & web.
Desktop runs fine, and when I got to running
./gradlew html:superDev

I got:

Compiling module com.mygdx.game.GdxDefinitionSuperdev
   [ERROR] Errors in 'generated://EDE6402AFBDE09D1E8D4A9C9E9098379/com/badlogic/gwtref/client/IReflectionCache2Generated.java'
...
[ERROR] Line 7088: No source code is available for type jsinterop.annotations.JsMethod; did you forget to inherit a required module?
      [ERROR] Line 7328: No source code is available for type jsinterop.annotations.JsIgnore; did you forget to inherit a required module?
      [ERROR] Line 7342: No source code is available for type jsinterop.annotations.JsType; did you forget to inherit a required module?
      [ERROR] Line 7595: No source code is available for type jsinterop.annotations.JsProperty; did you forget to inherit a required module?
   Tracing compile failure path for type 'com.badlogic.gwtref.client.IReflectionCache2Generated'
...
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

My default browser is chrome
Version 121.0.6167.184 (Official Build) (arm64)

Any help would be much appreciated!

Licence?

There's no licence file in this repository and the website itself doesn't tell me much more than "© 2023 libGDX". Can it be clarified what we're contributing under? I don't care about this as much as it might come across - it just crossed my mind, that's all.

`old_releases` directory is big

Whenever I clone this repository, even a shallow clone, it takes a good while due to the old_releases directory being 349MB in size.

Furthermore, it is missing libgdx-0.9.2.zip, making it an incomplete collection of pre-1.0 releases. I don't know if anything else is missing or if the version numbers are just odd (no 0.9.5, for example).

I like the idea of ensuring old releases don't get lost to time - I'd just prefer if they weren't in the development branch. End of rant.

Adding document and Wiki translations

I can translate the libGDX wiki and documentation into Persian (فارسی).

I believe this would be a valuable contribution to both the libGDX community and Persian developers who may not have a strong command of English.

I have discussed this idea with some contributors on the Discord server, and Damios suggested that I open an issue here.

Duplicate meta descriptions

Currently, all pages on the libGDX website have the same meta description. Fortunately, search engines often ignore this, but not always. Here we have a Google search:

Three Google search results, all with the description "libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux, macOS, Android, your browser and iOS."

If instead each page had a different description, it would look more varied and less spammy. Here I've replaced the descriptions with the first paragraph of each page, complete with strange grammar. They aren't real results:

Three Google search results, all with different descriptions

If these then got truncated (e.g. "Acceleration is measured in ...") that may increase click-through rate, though I have no evidence to back this up.

I'm not proposing we handwrite a description for each and every page (though it might not be a bad idea for the most prominent pages) but rather that the descriptions are generated from the page content. That, or scrap them altogether and hope the search engines don't decide the navigation is the most interesting part of the page.

P.S. Screw you, GitHub. This has to be the only website that doesn't confirm if you want to save your work (or just automatically save it) before leaving the page.

Mirror/Move the current libGDX wiki to GitHub Pages?

Github wiki is not getting indexed by search crawlers.
To solve this problem, ive made a repository which clones Libgdx Wiki and transfers all resources to Github Pages.
Repository:
https://github.com/Spaio/libgdx-wiki-on-pages
Pages link:
https://spaio.github.io/libgdx-wiki-on-pages/wiki/

Currently it mostly like alpha version, but all links working properly, no issues with content found.
In next week i plan to complete it by adding back links for original wiki, performing better styling and SEO optimisation.

In combination with GitHub Wiki what my solution gives:

  • Easy editing of wiki. No need for pull requests, everyone could easily contribute.
  • Full copy of original wiki content optimised for search crawlers.
  • Automatic builds. Takes 15 seconds to react on any change.
  • Can be deployed under any web address.

The question is, am i allowed to get it combined with any official Libgdx resources? It could be:

  1. Subdomain of main website
  2. Link on main website
  3. Usage of libgdx.wiki domain. It is owned by some of Libgdx contributors as i understand.

Original wiki
image

Github pages version
image

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.