+
+
+ Unity Web Player | {{{ PRODUCT_NAME }}}
+
+
+#if SHOW_DIAGNOSTICS
+
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/kbve.com/public/data/scripts/unity/WebGLTemplates/KBVE/index.html.meta b/apps/kbve.com/public/data/scripts/unity/WebGLTemplates/KBVE/index.html.meta
new file mode 100644
index 000000000..47e7020b0
--- /dev/null
+++ b/apps/kbve.com/public/data/scripts/unity/WebGLTemplates/KBVE/index.html.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 82c615106bfdbb14b85c03b4f10793c6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
\ No newline at end of file
diff --git a/apps/kbve.com/src/content/journal/11-26.mdx b/apps/kbve.com/src/content/journal/11-26.mdx
new file mode 100644
index 000000000..1b5e7ac27
--- /dev/null
+++ b/apps/kbve.com/src/content/journal/11-26.mdx
@@ -0,0 +1,38 @@
+---
+title: 'November: 26th'
+category: Daily
+date: 2024-11-26 12:00:00
+client: Self
+unsplash: 1541320779116-ec4a3d4692bc
+img: https://images.unsplash.com/photo-1541320779116-ec4a3d4692bc?crop=entropy&cs=srgb&fm=jpg&ixid=MnwzNjM5Nzd8MHwxfHJhbmRvbXx8fHx8fHx8fDE2ODE3NDg2ODY&ixlib=rb-4.0.3&q=85
+description: November 26th.
+tags:
+ - daily
+---
+
+import { Adsense, Tasks } from '@kbve/astropad';
+
+## 2024
+
+- 01:00PM
+
+ **TSLA**
+
+ We will have to roll the options out to next week and grab the $1000, just to make sure that it works.
+
+- 02:05PM
+
+ **Unity**
+
+ Sound manager vcontianer needs to be fixed, which we need to do before tomorrows meeting.
+ I am thinking that we would try to wrap everything inside of a vcontainer, making it easier for us to access the resources.
+ For us to setup the sound manager, we would have to link the scriptable object through addresses, which means we need to define them as well.
+ Inside of the `mmextensions`, we can add an assembly reference to Unity.
+
+- 11:00PM
+
+ **Arcane**
+
+ Finally got to start the series and its been a wild ride, err, rather a blast, so far.
+ I am going to be a bit sad when it ends because it has been a great series, but I am here for it all.
+ The new ARAM map also slaps, I love what they did with it and it finally makes zeri, bard and talon both a bit more fun to play.
\ No newline at end of file
diff --git a/apps/kbve.com/src/content/journal/11-27.mdx b/apps/kbve.com/src/content/journal/11-27.mdx
new file mode 100644
index 000000000..5f50766db
--- /dev/null
+++ b/apps/kbve.com/src/content/journal/11-27.mdx
@@ -0,0 +1,85 @@
+---
+title: 'November: 27th'
+category: Daily
+date: 2024-11-27 12:00:00
+client: Self
+unsplash: 1541320779116-ec4a3d4692bc
+img: https://images.unsplash.com/photo-1541320779116-ec4a3d4692bc?crop=entropy&cs=srgb&fm=jpg&ixid=MnwzNjM5Nzd8MHwxfHJhbmRvbXx8fHx8fHx8fDE2ODE3NDg2ODY&ixlib=rb-4.0.3&q=85
+description: November 27th.
+tags:
+ - daily
+---
+
+import { Adsense, Tasks } from '@kbve/astropad';
+
+## 2024
+
+- 02:20AM
+
+ **Unity**
+
+ We got ourselves another unity build to test out.
+ While I am doing that, I should look to commission a steam game and bundle?
+ Actually, if the artist that we hire does a good job, we could also have the same artist do our steam page assets?
+ That would save us a bunch of time too.
+
+- 02:37AM
+
+ **SoundManager**
+
+ Looks like the prefab works even though we are not using the addressable object.
+ I am not too sure how I feel about that but for now it will be fine.
+
+- 03:09PM
+
+ **Addressable**
+
+ Looks like the most recent push created the files that we need for addressable-based vcontainers, allowing us to finally call the prefabs during the runtime.
+ This will be an interesting way for us to build out the game, I am thinking that the town itself will be the main scene and when entering a mission or camp, we do an additive loading?
+ Furthermore we would have to fix the URL maps and also the HTML template a bit more.
+
+- 03:36PM
+
+ **Unity Template**
+
+ The unity template needs to be adjusted so that it does not look like karp on the discord activities page.
+ This is an easy fix but I been too distracted to address it!
+ Anyhow, I am going to focus on getting that done today, with the postmessage and sendmessage between the player and iframe as well.
+ Starting off with the canvas issue:
+
+ ```
+
+
+
+ ```
+
+ We will replace that line and move the styling over to the css part.
+
+ Then add our own custom spinner that should just operate with css / javascript.
+
+ ```html
+
+
+
+ ```
+
+ I suppose we could do this twice, having another spinner for when the iframe is ready to be displayed?
+ Lets say we render the whole iframe and game off-canvas on the static html page that axum offers to Discord, then we can make the adjustments for our own loading screen?
+ Once the off-cavans is done, we transition over to the main window , hmm, okay this just a future proof of concept that we can do once the game is closer to becoming ready for launch.
+
+ The meta will be added as a commented out line:
+
+ ```html
+
+
+
+ ```
+
+ I am thinking that we can assign it dynamically because if the game is played on mobile, we can make sure that the right meta viewport is assigned.
+
+- 08:40PM
+
+ **Lifetime**
+
+ The next part will be to switch back from the asset management and focus on the lifetime and entrypoints, oh boi.
+ We still need to setup the level manager and multiplayer level manager, once both of those are setup, we move forward with the player and npc list of prefabs.
\ No newline at end of file
diff --git a/apps/rust_rareicon_gameserver/build/index.html b/apps/rust_rareicon_gameserver/build/index.html
index 3aa6a7f2f..b30e35d32 100644
--- a/apps/rust_rareicon_gameserver/build/index.html
+++ b/apps/rust_rareicon_gameserver/build/index.html
@@ -1,24 +1,32 @@
-
+
-
-
-
- RareIcon
-
-
-
-
-
+
+
+
+ RareIcon
+
+
+
+
+
+
diff --git a/packages/kilonet/README.md b/packages/kilonet/README.md
index abce604fd..780759ce8 100644
--- a/packages/kilonet/README.md
+++ b/packages/kilonet/README.md
@@ -25,6 +25,7 @@ Adding new tilemap generator script and fixed some asmdefs.
Triggering another build once more, oh boi, another docker build.
We got the helm chart working and now are preparing for a basic multiplayer game.
The WebGL build is a bit slower and needs some adjustments, starting the test case now.
+Vcontainers added and a new model is coming soon.
- [KBVE](https://kbve.com/)
- [RareIcon](https://rareicon.com/)
\ No newline at end of file
diff --git a/packages/mmextensions/Kbve.MMExtensions.asmdef b/packages/mmextensions/Kbve.MMExtensions.asmdef
index e846f77ae..f04e07fd4 100644
--- a/packages/mmextensions/Kbve.MMExtensions.asmdef
+++ b/packages/mmextensions/Kbve.MMExtensions.asmdef
@@ -7,8 +7,10 @@
"Unity.Collections",
"MoreMountains.Tools",
"MoreMountains.TopDownEngine",
+ "MoreMountains.Feedbacks",
"VContainer",
- "Kbve.Kilonet"
+ "Kbve.Kilonet",
+ "Unity.Addressables"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/packages/mmextensions/mmextensions/Shaco/CameraManagerEntryPoint.cs b/packages/mmextensions/mmextensions/Shaco/CameraManagerEntryPoint.cs
new file mode 100644
index 000000000..fce0a03df
--- /dev/null
+++ b/packages/mmextensions/mmextensions/Shaco/CameraManagerEntryPoint.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+using VContainer;
+using VContainer.Unity;
+// TODO: Cinemachine3.1 Integration.
+namespace KBVE.MMExtensions.Shaco
+{
+ public class CameraManagerEntryPoint : IStartable
+ {
+ private readonly GameObject _cameraSystem;
+
+ public CameraManagerEntryPoint(GameObject cameraSystem)
+ {
+ _cameraSystem = cameraSystem;
+ }
+
+ public void Start()
+ {
+ Debug.Log("TODO - Camera Manager initialized.");
+ }
+ }
+}
diff --git a/packages/mmextensions/mmextensions/Shaco/CameraManagerEntryPoint.cs.meta b/packages/mmextensions/mmextensions/Shaco/CameraManagerEntryPoint.cs.meta
new file mode 100644
index 000000000..03ea0cc8f
--- /dev/null
+++ b/packages/mmextensions/mmextensions/Shaco/CameraManagerEntryPoint.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6d7ecea6b3644ec9af22c9a1850442ad
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
\ No newline at end of file
diff --git a/packages/mmextensions/mmextensions/Shaco/GameLifetimeScope.cs b/packages/mmextensions/mmextensions/Shaco/GameLifetimeScope.cs
index 6eb723a90..426352b59 100644
--- a/packages/mmextensions/mmextensions/Shaco/GameLifetimeScope.cs
+++ b/packages/mmextensions/mmextensions/Shaco/GameLifetimeScope.cs
@@ -3,6 +3,7 @@
using VContainer.Unity;
using MoreMountains.Tools;
using MoreMountains.TopDownEngine;
+using MoreMountains.Feedbacks;
using KBVE.Kilonet;
namespace KBVE.MMExtensions.Shaco
@@ -16,23 +17,43 @@ public class GameLifetimeScope : LifetimeScope
private GameObject remotePlayerPrefab;
[SerializeField]
- private GameObject gameManagerPrefab;
+ private GameManager gameManagerPrefab;
+
+ [SerializeField]
+ private MMTimeManager timeManagerPrefab;
+
+ [SerializeField]
+ private MMSoundManager soundManagerPrefab;
+
+ [SerializeField]
+ private GameObject cameraPrefab;
+
protected override void Configure(IContainerBuilder builder)
{
- builder.UseComponents(components =>
- {
- var gameManager = Object.Instantiate(gameManagerPrefab).GetComponent();
- DontDestroyOnLoad(gameManager.gameObject);
- components.AddInstance(gameManager);
- });
+ // Instantiate and Register Camera Prefab
+ var cameraInstance = Object.Instantiate(cameraPrefab);
+ cameraInstance.transform.parent = null;
+ builder.RegisterInstance(cameraInstance).AsSelf();
+ // DontDestroyOnLoad(cameraInstance);
+
- // builder.RegisterComponentInNewPrefab(gameManagerPrefab, Lifetime.Scoped).DontDestroyOnLoad();
+ builder.RegisterComponentInNewPrefab(gameManagerPrefab, Lifetime.Scoped);
+ builder.RegisterComponentInNewPrefab(timeManagerPrefab, Lifetime.Singleton);
+ builder.RegisterComponentInNewPrefab(soundManagerPrefab, Lifetime.Singleton);
+
+ // builder.RegisterComponentInNewPrefab(gameManagerPrefab, Lifetime.Scoped).DontDestroyOnLoad();
+ // builder.RegisterComponentInNewPrefab(timeManagerPrefab, Lifetime.Singleton).DontDestroyOnLoad();
+ // builder.RegisterComponentInNewPrefab(soundManagerPrefab, Lifetime.Singleton).DontDestroyOnLoad();
+ // builder.RegisterComponentInNewPrefab(cameraPrefab, Lifetime.Singleton).DontDestroyOnLoad();
- // Register the EntryPoint for GameManager initialization
builder.RegisterEntryPoint();
+ builder.RegisterEntryPoint();
+ builder.RegisterEntryPoint();
+ // builder.RegisterEntryPoint();
+
}
}
}
diff --git a/packages/mmextensions/mmextensions/Shaco/GameManagerEntryPoint.cs b/packages/mmextensions/mmextensions/Shaco/GameManagerEntryPoint.cs
index aa5a81c1f..4ec852b2b 100644
--- a/packages/mmextensions/mmextensions/Shaco/GameManagerEntryPoint.cs
+++ b/packages/mmextensions/mmextensions/Shaco/GameManagerEntryPoint.cs
@@ -16,11 +16,10 @@ public GameManagerEntryPoint(GameManager gameManager)
public void Start()
{
- // Initialize GameManager values
_gameManager.TargetFrameRate = 60;
- _gameManager.MaximumLives = 5;
- _gameManager.CurrentLives = 5;
- _gameManager.GameOverScene = "GameOver";
+ _gameManager.MaximumLives = 1;
+ _gameManager.CurrentLives = 1;
+ _gameManager.GameOverScene = "Title";
Debug.Log("GameManager initialized via EntryPoint!");
}
diff --git a/packages/mmextensions/mmextensions/Shaco/SoundManagerEntryPoint.cs b/packages/mmextensions/mmextensions/Shaco/SoundManagerEntryPoint.cs
new file mode 100644
index 000000000..a83422617
--- /dev/null
+++ b/packages/mmextensions/mmextensions/Shaco/SoundManagerEntryPoint.cs
@@ -0,0 +1,29 @@
+using UnityEngine;
+using UnityEngine.AddressableAssets;
+using UnityEngine.ResourceManagement.AsyncOperations;
+using VContainer;
+using VContainer.Unity;
+using MoreMountains.Tools;
+
+namespace KBVE.MMExtensions.Shaco
+{
+ public class SoundManagerEntryPoint : IStartable
+ {
+ private readonly MMSoundManager _soundManager;
+
+ public SoundManagerEntryPoint(MMSoundManager soundManager)
+ {
+ _soundManager = soundManager;
+ }
+
+ public void Start()
+ {
+ // Example Initialization Logic
+ // _soundManager.NormalTimeScale = 1f;
+ // _soundManager.UpdateTimescale = true;
+ // _soundManager.UpdateFixedDeltaTime = true;
+ // _soundManager.UpdateMaximumDeltaTime = true;
+ Debug.Log("MMSoundManager initialized in SoundManagerEntryPoint");
+ }
+ }
+}
diff --git a/packages/mmextensions/mmextensions/Shaco/SoundManagerEntryPoint.cs.meta b/packages/mmextensions/mmextensions/Shaco/SoundManagerEntryPoint.cs.meta
new file mode 100644
index 000000000..338b4baba
--- /dev/null
+++ b/packages/mmextensions/mmextensions/Shaco/SoundManagerEntryPoint.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b825b5064ae149bf849771dded29fdad
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
\ No newline at end of file
diff --git a/packages/mmextensions/mmextensions/Shaco/TimeManagerEntryPoint.cs b/packages/mmextensions/mmextensions/Shaco/TimeManagerEntryPoint.cs
new file mode 100644
index 000000000..e7df80bd7
--- /dev/null
+++ b/packages/mmextensions/mmextensions/Shaco/TimeManagerEntryPoint.cs
@@ -0,0 +1,27 @@
+using UnityEngine;
+using VContainer;
+using VContainer.Unity;
+using MoreMountains.Feedbacks;
+
+namespace KBVE.MMExtensions.Shaco
+{
+ public class TimeManagerEntryPoint : IStartable
+ {
+ private readonly MMTimeManager _timeManager;
+
+ public TimeManagerEntryPoint(MMTimeManager timeManager)
+ {
+ _timeManager = timeManager;
+ }
+
+ public void Start()
+ {
+ // Example Initialization Logic
+ _timeManager.NormalTimeScale = 1f;
+ _timeManager.UpdateTimescale = true;
+ _timeManager.UpdateFixedDeltaTime = true;
+ _timeManager.UpdateMaximumDeltaTime = true;
+ Debug.Log("MMTimeManager initialized in TimeManagerEntryPoint");
+ }
+ }
+}
diff --git a/packages/mmextensions/mmextensions/Shaco/TimeManagerEntryPoint.cs.meta b/packages/mmextensions/mmextensions/Shaco/TimeManagerEntryPoint.cs.meta
new file mode 100644
index 000000000..9fee21b28
--- /dev/null
+++ b/packages/mmextensions/mmextensions/Shaco/TimeManagerEntryPoint.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 153d8a3f91d1478699519cb6bcc80d06
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
\ No newline at end of file