Compare commits

..

10 Commits

Author SHA1 Message Date
c1cc753410 checkout with large files
Some checks failed
Build and Package / build-jar (push) Has been cancelled
Build and Package / build-web (push) Has been cancelled
Build and Package / build-native (macos-latest, macos) (push) Has been cancelled
Build and Package / build-native (ubuntu-latest, linux) (push) Has been cancelled
Build and Package / build-native (windows-latest, windows) (push) Has been cancelled
Build and Package / publish-release (push) Has been cancelled
2025-10-13 16:04:51 +02:00
649894dafc update 2025-10-13 13:30:45 +02:00
e020b64c86 update to latest engine release candidate 2025-10-11 18:10:45 +02:00
04bd2ee3e4 Enhance README with retro-futuristic ad description
Updated description to include 'retro-futuristic' ads.
2025-09-06 00:17:38 +02:00
462f847cd1 Add README for Ad City demo project 2025-09-06 00:17:11 +02:00
50565267e9 optimize map 2025-09-05 15:35:35 +02:00
9057e87478 disable android platform 2025-09-04 22:48:41 +02:00
959c25c8fa clone with git lfs 2025-09-04 22:04:12 +02:00
b7efe6dce6 Revert "use latest snapshot version"
This reverts commit 7ea61370ad.
2025-09-04 19:18:42 +02:00
d8c3cf0cad ignore ds store 2025-09-04 17:57:11 +02:00
459 changed files with 44719 additions and 61118 deletions

2
.gitattributes vendored
View File

@@ -3,8 +3,10 @@
#
# Linux start script should use lf
/gradlew text eol=lf
# These are Windows script files and should use crlf
*.bat text eol=crlf
# Binary files should be left untouched
*.jar binary
*.bin filter=lfs diff=lfs merge=lfs -text

View File

@@ -13,6 +13,9 @@ jobs:
steps:
- uses: actions/checkout@v3
with:
lfs: true
fetch-depth: 0
- name: Set up JDK 21
uses: actions/setup-java@v3
@@ -31,6 +34,40 @@ jobs:
path: dist/portable/*-portable.jar
retention-days: 7
build-web:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
pages: write
steps:
- uses: actions/checkout@v3
with:
lfs: true
fetch-depth: 0
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
cache: gradle
- name: Build Web Application
run: ./gradlew buildBundledWebApp
- name: Upload pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: 'dist/web-bundle'
- name: Deploy to GitHub Pages
if: github.event_name == 'release'
id: deployment
uses: actions/deploy-pages@v4
build-native:
runs-on: ${{ matrix.os }}
strategy:
@@ -47,6 +84,9 @@ jobs:
steps:
- uses: actions/checkout@v3
with:
lfs: true
fetch-depth: 0
- name: Set up GraalVM
uses: graalvm/setup-graalvm@v1
@@ -56,15 +96,6 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'
- name: Build Installer for ${{ matrix.platform }}
shell: bash
run: |
if [[ "${{ matrix.platform }}" == "linux" ]]; then
sudo apt-get install -y rpm
fi
./gradlew buildInstaller
ls -R dist
- name: Build Native Executable for ${{ matrix.platform }}
shell: bash
run: |

12
.gitignore vendored
View File

@@ -1,9 +1,15 @@
# Ignore Gradle project-specific cache directory
.gradle
# Ignore Gradle build output directory
build
bin
dist
*.hprof
.idea
.DS_Store
gradle-local.properties
.idea/
node_modules/
*.map
.sourcemaps
.settings
platform-web/.env.nostr-deploy.local
local.properties

18
.vscode/launch.json vendored
View File

@@ -4,22 +4,22 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Current File",
"request": "launch",
"mainClass": "${file}"
},
{
"type": "java",
"name": "DesktopLauncher",
"name": "Debug Application",
"request": "launch",
"mainClass": "org.ngengine.platform.DesktopLauncher",
"projectName": "platform-desktop",
"osx": {
"vmArgs": "-XstartOnFirstThread"
}
},
"linux": {
"env": {
"__GL_THREADED_OPTIMIZATIONS": "0"
}
},
"vmArgs": "-ea -Dthreadwarden=true -Djava.util.logging.config.file=${workspaceFolder}/dev-logging.properties",
}
]
}

15
.vscode/settings.json vendored
View File

@@ -1,3 +1,16 @@
{
"java.configuration.updateBuildConfiguration": "automatic"
"java.configuration.updateBuildConfiguration": "automatic",
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/gradle": true,
"**/.gradle": true,
"**/build": true,
"**/bin": true,
"platform-*": true
}
}

View File

@@ -0,0 +1,8 @@
# Ad City
This is a demo of the [Nostr Game Engine v0.1 release](https://github.com/NostrGameEngine/ngengine/releases/tag/0.1.1) that showcases in-game ads.
A futuristic city, full of retro-futuristic ads 🤷‍♂️
![nge-demo-gif1](https://github.com/user-attachments/assets/cfe37f38-ddf0-4796-8887-60cc38d0444a)

View File

@@ -23,6 +23,7 @@ dependencies {
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}

View File

@@ -12,34 +12,15 @@ import org.ngengine.demo.adc.PhysicsComponent;
import org.ngengine.demo.adc.PostprocessingComponent;
import org.ngengine.demo.adc.SoundComponent;
import org.ngengine.gui.win.NWindowManagerComponent;
import org.ngengine.nostr4j.keypair.NostrPublicKey;
import com.jme3.system.AppSettings;
public class Main {
public static NGEAppRunner main(String arg[]){
AppSettings settings = new AppSettings(true);
settings.setRenderer(AppSettings.LWJGL_OPENGL32);
settings.setWidth(1280);
settings.setHeight(720);
settings.setGammaCorrection(true);
settings.setSamples(2);
settings.setStencilBits(8);
settings.setDepthBits(24);
settings.setVSync(true);
settings.setGraphicsDebug(false);
settings.setX11PlatformPreferred(true);
settings.setTitle("Nostr Game Engine Demo");
settings.setEmulateMouse(true);
settings.setEmulateKeyboard(true);
NostrPublicKey appId = NostrPublicKey.fromBech32("npub1tc32kq8hr992tzvt09rwuc5wk6aa08pquqawasv20acjp4umny5q6axr4t");
NGEAppRunner appRunner = NGEApplication.createApp(appId, settings, app -> {
NGEAppRunner appRunner = NGEApplication.createApp( app -> {
ImmersiveAdComponent dep = app.enableAds();
ComponentManager mng = app.getComponentManager();

View File

@@ -15,7 +15,7 @@ import com.simsilica.lemur.HAlignment;
import com.simsilica.lemur.VAlignment;
public class HudComponent implements Component<Object>, InputHandlerFragment {
private Runnable closeHud;
private NHud hud;
@Override
public void onEnable(ComponentManager mng, Runner runner, DataStoreProvider dataStore, boolean firstTime,
@@ -26,22 +26,18 @@ public class HudComponent implements Component<Object>, InputHandlerFragment {
windowManager.showCursor(false);
this.closeHud= windowManager.showWindow(
NHud.class,
(win, err) -> {
win.setFitContent(false);
win.setFullscreen(true);
NLabel crossair = new NLabel("+");
crossair.setTextVAlignment(VAlignment.Center);
crossair.setTextHAlignment(HAlignment.Center);
win.getCenter().addChild(crossair);
}
);
this.hud = windowManager.showWindow( NHud.class );
hud.setFitContent(false);
hud.setFullscreen(true);
NLabel crossair = new NLabel("+");
crossair.setTextVAlignment(VAlignment.Center);
crossair.setTextHAlignment(HAlignment.Center);
hud.getCenter().addChild(crossair);
}
@Override
public void onDisable(ComponentManager mng, Runner runner, DataStoreProvider dataStore) {
this.closeHud.run();
hud.close();
}
@Override

View File

@@ -16,7 +16,7 @@ import com.simsilica.lemur.HAlignment;
import com.simsilica.lemur.VAlignment;
public class LoadingScreenComponent implements Component<Object>, LogicFragment {
private Runnable closeHud;
private NHud hud;
private NLabel txt;
@Override
public void onEnable(ComponentManager mng, Runner runner, DataStoreProvider dataStore, boolean firstTime,
@@ -29,22 +29,19 @@ public class LoadingScreenComponent implements Component<Object>, LogicFragment
txt = new NLabel("Loading");
this.closeHud= windowManager.showWindow(
NHud.class,
(win, err) -> {
win.setFitContent(false);
win.setFullscreen(true);
txt.setFontSize(32);
txt.setTextVAlignment(VAlignment.Center);
txt.setTextHAlignment(HAlignment.Center);
win.getCenter().addChild(txt);
}
);
hud = windowManager.showWindow(NHud.class);
hud.setFitContent(false);
hud.setFullscreen(true);
txt.setFontSize(32);
txt.setTextVAlignment(VAlignment.Center);
txt.setTextHAlignment(HAlignment.Center);
hud.getCenter().addChild(txt);
}
@Override
public void onDisable(ComponentManager mng, Runner runner, DataStoreProvider dataStore) {
this.closeHud.run();
hud.close();
}
float time = 0;

View File

@@ -50,7 +50,7 @@ public class MapComponent implements Component<Object>, AsyncAssetLoadingFragmen
if(map==null){
System.out.println("AdCity: Loading map from assets...");
map = assetManager.loadModel("adc/city/city.gltf");
map = assetManager.loadModel("adc/city-opt/city.gltf");
// map = new Node();
PhysicsComponent physics = mng.getComponent(PhysicsComponent.class);
map.depthFirstTraversal(sx->{
@@ -83,7 +83,6 @@ public class MapComponent implements Component<Object>, AsyncAssetLoadingFragmen
preload.accept(sky);
} catch(Exception e){
e.printStackTrace();
System.exit(1);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Some files were not shown because too many files have changed in this diff Show More