Metaworld by TolMera

[raw]
made by TolMera for Ludum Dare 56 (JAM)

Welcome to the Metaworld

Ok so I don't have much of a game, I'll admit that!

But I do have a heck of a lot of tech demo to show you! :) and wow is it awesome stuff :thumbsup:

Visit my hosted game, and have an explore.

Most of what you will be looking at is under the test suite. (I recommend both desktop and SmartPhone experiences).

Visit the test suite

Simplex Noise test

I converted a C library into WASM so I can access all the power of C in the browser to generate noise.

I used this tech later in a number of areas, least of which was generating the terrain in the "Mesh Create" test suite

Perlin Noise test

This is the same as the Simplex noise, but I knew about Perlin before Simplex, so we got both.

GPS test

The intent of the game was that I would use your real physical location to locate you in the game world (that right, it's going to be world scale MMO).

So run this test and you will see how close to your real location the GPS gets

Mesh create

This is there I merged everything from above to create a world (You're on the inside of the planet, use WASD to move, and the really janky mouse to look around.)

You will also see the start of me handling Level Of Detail scaling.

Depending where in the world you are, (equator, northern hemisphere, southern hemisphere etc, where the LOD focuses will match an approximation of your physical location.

Texture Create

I build out some utility functions to allow me to texture objects. What you're looking at has all three of:

  • A Texture map
  • A Normal Map / Bump Map for dynamic lighting
  • A Noise map to break up repetition - though you won't notice this on the small scale you're currently seeing it.

Generate Noise Map

This is a test suite I built to confirm that the amount of noise we get back from simplex was within the bounds that we expected it to be (nothing over 1/-1)

Model

I got model loading and animation working - though miximo has some issues with their provided models and animations - something to do with incorrectly named bones. So since I had a proof of concept I just moved onto the next part.

Ray Casting

In this test you can click on the boxes in the world and see them change colour. If you look at the developer console you will also see details about the object you clicked on. :thumbsup: This is pretty awesome. It also works on Mobile woohoo!

Device Orientation

YOU GOT TO TRY THIS!

Fire this up on your smart phone and take a look around, you're going to LOVE it!

Accelerometer

I tries to setup logic to allow us to move the camera in the 3D world by walking around and looking at things. Problem is that Accelerometers have drift and are not super accurate in the phone, so 1Gx!=1Gy!=1Gz :( sad times. But I moved on and would come back to this once we have camera motion tracking.

Camera Motion Tracking

This is where I ended last night (I had work in the morning :-/

But I started working on camera motion tracking, so we would use frames from the camera to detect movements in the same way that your computer mouse detects movement. But in 3D instead of 2D (some super cool mice, can detect in 3D as well :) )

Thank you for checking out my demo - and I might do more work on this!

QRCode for easy access via Phones

Screenshot from 2024-10-08 10-28-58.png

Ratings

Given 36🗳️ 1🗨️

Feedback

HangoverGames
08. Oct 2024 · 01:39 UTC
nothing works :cry: i see buttons but they are no response
Kyoryucomic
08. Oct 2024 · 01:58 UTC
didn't work, none of the buttons did anything
TomPendergrass
08. Oct 2024 · 02:02 UTC
I tried to start game, but I didn't want to share my location, sorry!
Scrumblob
08. Oct 2024 · 02:09 UTC
Generally it's bad online safety to scan QR codes, it also seems that the website linked doesn't function as intended.
LDJam user 279610
08. Oct 2024 · 02:18 UTC
I refused to share location and nothing happened. I'm sure you made a real game but honestly it's likely to be dismissed as spam by many.
🎤 TolMera
08. Oct 2024 · 02:45 UTC
Sigh...

Ok I know the main "start game" button doesn't do anything

Are people looking at the test suite?
If you're looking at the test suite, and it's not working (try device Orientation, or mesh, or textures, they all absolutely work) but if it's not working for you, can you please share me a screenshot of the developer console? I would really appreciate so I can debug. It's working on my phone, my wifes phone, my dads phone, and my computer (though I don't have a gyro in my PC obviously)
imberny
08. Oct 2024 · 03:35 UTC
@tolmera I just get this when I select Start Game. I shared my location. The screen is blank.

controller.js:23 Uncaught TypeError: globalThis.libs.simplex.snoise3 is not a function
at new GameController (controller.js:23:47)
at game.js:4:24

Test suite seems to be working, on my phone also.
TheChadRampage
08. Oct 2024 · 03:48 UTC
Did not do anything when I hit start. Sorry guys, Let me know if this gets patched!
🎤 TolMera
08. Oct 2024 · 03:52 UTC
Thank you @imberny

I'm glad the test suite is working, that's the only area that is
I might nuke the "start game" button and just push people to the tests.

Thank you very much for the feedback @imberny
imberny
08. Oct 2024 · 03:56 UTC
@tolmera I can guess at how much work went into this. Though I am a bit puzzled why it's included in this jam 😅
🎤 TolMera
08. Oct 2024 · 04:16 UTC
@imberry - Because it was going to be a game. I just ran out of time after getting comfortable with `three.js`

The idea was - if you've ever played a game called populous? You're guiding the development of a civilization. But in game they are little people running around on a map. So the people were going to be my tiny creatures, and I wanted people to be able to play on their cellphone in an augmented reality environment. So you would walk around your house but in AR you would be moving around the map, interacting with your tiny creatures and guiding the growth of a civilisation.

I am probably 12 hours away from having a game since all of the `test suite` stuff, is actually me building out all the functionality. All I need to do is mix it all together, and add some AI for the people, and add a "zoning" (think SimCity zoning).

But, the best laid plans of mice and men.

I might (though got to say the feedback from people being like "I'm not going to allow GPS, orientation information" is pretty disheartening.) I might keep building it out and submit it to the Extra category.
Laywelin
08. Oct 2024 · 14:46 UTC
EDIT: I don't think Ludum Dare is the right place to have this conversation, so I'm removing my comment. Apologies, whatever if we disagree!

Quite curious what you manage to build once it's all pieced together.

Please ping me if you do that! <3
🎤 TolMera
08. Oct 2024 · 21:58 UTC
@laywelin @scrumblob - I understand that’s your point of view.

Scanning a public QR code and visiting a website is not a security concern any more than visiting any website ever. At all times you could access a compromised website, but even then “sandboxing” in your browser, has mitigated the risks significantly.

Unlike visiting a personalized link, which can be used for some additional data gathering like fishing emails looking to know exactly who clicked a link.

Sharing location with no other information is not risky either. Without users permission you can use tools like GeoIP to localize a person down to a single building. Yes you can use a VPN and that makes my point obsolete, but the statement is true for the vast majority of the people on the internet. It’s not a risk to know “there is someone at X point on earth” as there are 8billion+ people on earth. It’s only a risk in conjunction with other information.

And a great number of Ludum games are local installs, which carry far greater risk to the average user. Regardless of hosting platform itch/ld/git or personal hosting, the risk remains constant.

I say the above as a professional programmer, with knowledge of both the legal and security implications. Your opinions are personal opinions, and justifiable by your comfort zone. As this has fallen outside your comfort zone, I appreciate your time, but would ask you to differentiate real security concerns from opinion, so you do not misinform others about the risk, It would be a disservice to those that trust you.
Scrumblob
08. Oct 2024 · 22:05 UTC
@TolMera Thanks for your response.
I believe my concern is valid, it's possible the QR code is safe yes, but the other person you responded to made some very fair points regarding convenience rather than security.
If your game starts working online I'd be happy to play it and delete my old comment (However there's no reason to play to my "demands", from my perspective initially I saw a non-functional game that wanted location data & QR code scans. I hope you can empathize why this raised red flags for me.), I really don't want to start any trouble or anything like this. I do want to play your project!
Laywelin
08. Oct 2024 · 22:16 UTC
EDIT: I'm removing my comment, strongly believing Ludum Dare is not the place to have this conversation.
My point focusing on LD is - your submission is not a game, and people will generally not review a tech prototype. Most people will only check and rate games that have an embedded html version.

I still stand by my words: I would be delighted to review and play any game you would share using the tools you worked on!
swaglazio
09. Oct 2024 · 11:21 UTC
cant get the game to work
bacalear
12. Oct 2024 · 10:10 UTC
Loved idea!