×
Create a new article
Write your page title here:
We currently have 176 articles on Open Eggbert. Type your article name above or click on one of the titles below and start writing!



Open Eggbert
176Articles

Development of Open Eggbert: Difference between revisions

No edit summary
No edit summary
Line 160: Line 160:
=== Web ===
=== Web ===
https://libgdx.com/wiki/html5-backend-and-gwt-specifics
https://libgdx.com/wiki/html5-backend-and-gwt-specifics
== Java annotations ==
Open Eggbert uses subset of Java 11 to reach the ability to be multiplatform (Desktop, GWT, Android)


== External links ==
== External links ==

Revision as of 13:02, 31 August 2024

Multiplatform

Open Eggbert is multiplatform (desktop, Android, web).

  • We should assure continuously, that the latest version (snapshot) runs correctly on all the 3 supported platforms.

This means some limitations: Only feature of Java 11 source code level are supported, but even some Java 11 features are not supported in GWT.

  1. Method String.lines(String string) is not present in GWT.
    • How to fix: Use method OpenEggbertUtils.lines(String string)
  2. Method Stream.toList() is not present in GWT
    • How to fix: Use Stream.collect(Collectors.toList())

Inspiration

https://github.com/libgdx/libgdx-demo-cuboc

Requirements for Development

Java 17 must be installed. Newer versions may work only for the desktop.

Sound + Midi support

https://github.com/mgsx-dev/gdx-pd

Graphics

How to scale graphics - ?

https://github.com/leonbloy/pngj

https://www.nayuki.io/page/png-library


https://github.com/nayuki/BMP-IO?tab=readme-ov-file

https://www.nayuki.io/page/bmp-io-library-java

https://github.com/PyroSamurai/JBL


https://github.com/nayuki/PNG-library

https://image4j.sourceforge.net/


https://libgdxinfo.wordpress.com/basic_image/

Animation

https://github.com/WinterAlexander/gdx-animation

https://libgdx.com/wiki/graphics/2d/2d-animation

https://gamefromscratch.com/libgdx-tutorial-3b-simple-animation/

https://gamefromscratch.com/libgdx-video-tutorial-sprite-animation/

https://www.pixnbgames.com/blog/libgdx/frame-by-frame-animations-in-libgdx/

https://www.codeandweb.com/texturepacker/tutorials/libgdx-sprite-sheet-tutorial

https://www.reddit.com/r/libgdx/comments/18bghen/how_can_i_get_an_animation_to_be_timed_correctly/

https://gamedev.stackexchange.com/questions/138324/libgdx-animation-sequence

       boxes = new Texture(Gdx.files.internal("boxes.png")); //** loading boxes **//

       box1 = new TextureRegion(boxes,0,0,180,320);

       box2 = new TextureRegion(boxes,200,0,480-200,320);

       box3 = new TextureRegion(boxes,0,330,127,511-330);

       box4 = new TextureRegion(boxes,180,325,511-180,511-320);

Generating GIFs in Open Eggbert

https://github.com/Anuken/GDXGifRecorder

Videos

https://github.com/libgdx/gdx-video

Sprite Tools

Generating sprite animations to gifs

https://genuinecoder.com/how-to-create-gif-from-multiple-images-in-java/

Detection of sprite positions.

https://github.com/mapeditor/tiled/tree/master/util/java/libtiled-java

https://www.mapeditor.org/

Support for web and mobile platforms (Android, iPhone)

It is a good idea to ensure, that Open Eggbert is runnable on web and mobile platforms.


https://stackoverflow.com/questions/2590850/threading-in-gwt-client

https://stackoverflow.com/questions/57735039/how-framwork-such-as-libgdx-handle-threading-for-web-target

https://stackoverflow.com/questions/28267316/libgdx-not-work-on-android-api-21

Networking

https://www.reddit.com/r/libgdx/comments/4rtdph/what_are_some_networking_options_for_libgdx/

Screens

https://www.gamedevelopment.blog/full-libgdx-game-tutorial-loading-screen/

https://www.slideshare.net/slideshow/libgdx-screens-fonts-and-preferences/44430118

Controls

Mouse

Keyboard

Touch screen

Gamepad

https://github.com/libgdx/Jamepad

2D physics engines

https://github.com/erincatto/box2d-lite

https://github.com/jbox2d/jbox2d

http://www.jbox2d.org/

https://box2d.org/documentation/

https://github.com/dyn4j/dyn4j

https://slick.ninjacave.com/

https://github.com/jwvhewitt/Slick2d-Game-Engine

https://github.com/implicit-invocation/jbump

How to create a Java Platformer game

https://longbaonguyen.github.io/courses/platformer/platformer.html

Design patterns

https://gameprogrammingpatterns.com/command.html

Books

https://gameprogrammingpatterns.com/contents.html

Wikipedia

Game design - Wikipedia

Video game development - Wikipedia

Gameplay - Wikipedia

Platforms

Desktop

Android

Web

https://libgdx.com/wiki/html5-backend-and-gwt-specifics

Java annotations

Open Eggbert uses subset of Java 11 to reach the ability to be multiplatform (Desktop, GWT, Android)

External links

https://gamedev.stackexchange.com/questions/109047/how-to-close-an-app-correctly-on-desktop

https://gamefromscratch.com/speeding-up-gwt-compilation-speeds-in-a-libgdx-project/