Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1347842 Posts in 61924 Topics- by 53576 Members - Latest Member: pragmaticus

September 25, 2018, 07:55:23 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsExploration Experience (Project 3, 2018)
Pages: [1] 2
Print
Author Topic: Exploration Experience (Project 3, 2018)  (Read 1419 times)
HuvaaKoodia
Level 1
*



View Profile WWW
« on: June 06, 2018, 02:10:13 PM »

Project 3 out of five is a go! cancelled!

A digital experience in the exploration genre. Also about taking pictures.

Try the demo here.






« Last Edit: July 08, 2018, 01:53:43 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #1 on: June 06, 2018, 02:21:58 PM »

Design stream in the morning. Editing the video took too long, link tomorrow...

Got some work done. Went through old code for first person walking; flying; and local, surface based gravity (basically, sticking to arbitrary meshes). Got it all in, not that it shows in a screenshot, but believe me, you can walk around the donuts and even fly from one to another.



Cheers!  
« Last Edit: June 21, 2018, 10:30:54 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #2 on: June 07, 2018, 01:03:31 AM »

Editing and uploading done.



Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #3 on: June 08, 2018, 10:17:11 AM »

Got the basic screenshot system done yesterday. Behold!



The pictures can be browsed in an in-world album, removed, favorited, etc.

Realized today that the mesh surface movement system has an issue. Collisions! The system directly moves the transform and only checks for the mesh triangles, not any colliders in the scene. Scratched my head for a while, quickly trying out rigidbody based solutions, but in the end decided to go with what I have. The current system perfectly follows the mesh and I'm not going to settle for anything less.

This means I cannot have arbitrary, static obstacles while walking. Physics based fluff objects are fine as long as they don't obstruct movement. Flying is driven by rigidbody forces, so the same issue does not apply. I will have to mark all walkable areas separately while crafting the world 3D models. Setting a different material on them in Blender does the trick, a little bit of elbow grease is enough then.

Tweaking the flying mode tomorrow. A few effects and some camera shake will make it feel much better. Should be able to release the prototype as well.

Cheers!
« Last Edit: June 21, 2018, 10:31:08 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #4 on: June 09, 2018, 12:51:32 PM »

Took a while longer than expected due to Unity issues. Was supposed to be a light work day this, but in the end put in 7 hours anyways.



Try the prototype here

Guess what? It was WebGL issues again!

For starters WebGL has a problem with MeshColliders. Something to do with precision of something, no hard data on it. For this prototype it means that the raycasts don't recognize smaller meshes. Odd, makes it impossible to land on a few objects.

Another issue is the PlayerPrefs size on WebGL. In standalone builds the pictures are saved in memory as ordinary files. Wrote a PlayerPrefs implementation and it works just fine in the editor. Problem is, the actual WebGL build (on Firefox at least) only saves a single image and then pukes out an error. This error apparently means that the max storage space of whopping 1mb is reached, yet a single serialized png byte array is only about 17 kb?! I don't even...

Well there is no picture saving in the prototype then, and there probably won't be a WebGL demo of the project as a result of these issues. I'm not holding hope that Unity fixes anything in mere two months. Desktop demos aren't too bad, right?

Cheers!
« Last Edit: June 21, 2018, 10:30:26 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #5 on: June 11, 2018, 01:47:52 PM »

Started the day with graphics testing. Made a simple spherical cell with a hexagonal surface for the first world. Thinking of having caverns inside one of the big ones at least. The idea for the first world is also coming together, a blockage of cells, bacteria and them phages inside a vein. Will mish and mash all sorts of microscopic entities together in the scene. No need to be realistic. Colorful would be a nice change of pace too.



Rest of the day on optimization! Yes, already had to do some. The cell model is about 4000 triangles in total and my old mesh data script, needed for the surface walking, calculated the required data for each instance of the mesh at scene awake. A single mesh took 25 seconds to process, so you can imagine sharing the data was in order. Better yet I decided to do the whole thing in editor to save even those seconds at scene load.

Unity editor scripting, we meet again... Mostly no issues this time. Looked at examples from Project 1 and 2 to quickly do things the right way. No way I can remember all of the idiosyncrasies in the editor GUI system.

A problem arose right in the end when everything else had already fallen into place. Unity serializer cannot deal with nested lists or arrays, both used by the mesh data script. One way to solve this issue is to to create wrapper classes for the arrays and have an array of those classes. Ugly and slow. Not good enough!

Though about it and realized that a string obviously serializes just fine, so why not turn the data into a json string and deserialize it at runtime? Works great and it only takes two seconds to load all the data at scene start. Sure, there are going to be many more such 3D models to parse in the actual production scenes, but it should not be too bad. Pretty pleased with it. As an added bonus the editor inspector is also easy to use, the mesh data objects can be updated individually or all at the same time.

Cheers!
« Last Edit: June 21, 2018, 10:30:13 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #6 on: June 13, 2018, 11:02:45 AM »

Got tired of the age old Unity default skybox. A microscopic scene inside a blood vessel ought to look pink, yes? Just ambient light for now (where does it come from?). Actual textures needed eventually, of course.



That there is a phage by the way. They can already fly from surface to surface. Initially I thought they could walk about like 6 legged spiders (so, not spiders at all), but that is pure fantasy. Makes my life easier, though; no need for pathfinding and additional animations.

More Unity issues, this time with Rigidbodies. MeshColliders don't go well with them so had to write my own mesh raycast function (actually found the required ray-triangle-intersect and point-to-barycentric-coordinates algorithms online, but I put them together competently at least!) to be able to check for the start triangle without a need for a Mesh Collider at all. This will be very slow for complex geometry, so I will only be using it for spherical objects. I can first test for a sphere collider before going through all the triangles. Good enough for now.

Another issue is landing and walking on such an object. The capsule collider of the player character actually pushes the 10 ton object around all crazy like. Luckily there is a solution for that too in the form of Physics.IgnoreCollision. There is only one Player at anytime which makes things even easier to manage.

Streaming tomorrow at 15.00 UTC, the late prototype stream. Trying to get a few more things in before that.

Cheers!
« Last Edit: June 21, 2018, 10:29:56 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #7 on: June 14, 2018, 01:00:00 PM »





Nothing else to add.

Cheers?
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #8 on: June 18, 2018, 10:21:24 AM »

Wanted to do this last week already. It feels pretty good to snap pictures now.


There's sound too, but you know...

Initial menu logic, reusing as much from the prior projects as I can codewise. Not going to have a main menu this time, just the escape menu. Fancy rotation effects for the panels (well, the same as for the camera above). More on the menus in the next update, visuals need improvement before then.

Unity can be weird sometimes. Could not make a build; 12 errors stood in the way, but neither the console or the editor log revealed any specifics on the matter! Found out via the process of elimination that a few of the 3D models in the scene were the culprit. Oddly enough removing and adding them back was enough of a fix. Builds just fine. Why Unity, why? 20 minutes down the drain there.

Cheers...
Logged
Daywalker
Level 0
**



View Profile
« Reply #9 on: June 18, 2018, 10:33:40 AM »

That's looking really cool
Logged

but a shadow of the past ..
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #10 on: June 19, 2018, 09:13:31 AM »

That's looking really cool

Thanks!

I take it, you mean the project as a whole. Graphics development isn't my strongest suit, so making the actual visuals look cool is another thing altogether!
Logged
Daywalker
Level 0
**



View Profile
« Reply #11 on: June 19, 2018, 09:35:38 AM »

Thanks!

I take it, you mean the project as a whole. Graphics development isn't my strongest suit, so making the actual visuals look cool is another thing altogether!

I suppose I just think it's really cool you have a freaky virus jumping around lol
Logged

but a shadow of the past ..
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #12 on: June 20, 2018, 05:44:38 AM »

I suppose I just think it's really cool you have a freaky virus jumping around lol

I see and agree: bacteriophages are quite cool indeed.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #13 on: June 20, 2018, 01:11:15 PM »

Here it is then. The GUI finished, for now at least...


A record amount of keybinds!

Added small bits and bobs to the camera viewfinder too. Revealing those next week in the alpha stream.

Yesterday took the bull by the horns and implemented collision detection for the walking mode. I expected it to involve lots of vector math and premature grey hairs, but lo! Unity had me covered for once. Eyeballing the Physics class reference revealed a function called ComputePenetration which performed all the nasty delta calculations from bumping ugly colliders. Little jitter in some corner cases is present, other than that it is more than enough. Phew, that was the last major issue affecting the 3D modelling and level design. I basically have the freedom to mix and match 3D models in anyway I want, intersecting or not. Great!

Figured out why readding the 3D models fixed the build issue last time. I'd been playing around with light baking and there was a broken lightmap in the oven. Cleared it and presto, that's that. It seems the light baker cannot deal with models without UVs. Hopefully I can get it working for the latter worlds; they might need baking.

Unfortunately I also realized another issue with static objects, batching them break the mesh movement system... I could save the vertices and triangles to the database to get around the issue as it currently only saves the extra generated data. Mesh collider hitInfo would probably give garbage data though. Will look into it once I get to optimization in the last two weeks; better not anguish over it at the moment.

Cheers!
« Last Edit: June 21, 2018, 10:29:23 AM by HuvaaKoodia » Logged
TebiFestival
Level 0
***


View Profile WWW
« Reply #14 on: June 20, 2018, 01:40:07 PM »

I have to agree that seeing that virus jumping around is quite amazing haha.

About the GUI, I like what you have, I think it would look and sound amazing if it were similar to the feel the MGS2 Menu Screen have, with the lines and movements https://youtu.be/BANB2CvfKPs?t=46s

Keep it up with the game, it looks like you can do a lot with what you have!
Logged

Caiam Piter and the Mushroom Kingdom TIGSource DevBlog || Twitter || Facebook
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #15 on: June 21, 2018, 10:27:47 AM »

I have to agree that seeing that virus jumping around is quite amazing haha.

About the GUI, I like what you have, I think it would look and sound amazing if it were similar to the feel the MGS2 Menu Screen have, with the lines and movements https://youtu.be/BANB2CvfKPs?t=46s

Keep it up with the game, it looks like you can do a lot with what you have!

Thanks! Tweaked the phage visuals today in fact, a more authentic dome to match the real thing.



The font did remind me of MGS once implemented. I have panel rotation effects already in; not going to emulate the style further than the accidental, that is.

This is going be an experience about exploration (name pending). I'm certainly aiming for minimalism; less is more, I hope.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #16 on: June 22, 2018, 10:34:53 AM »

Had amassed many small features (and a few bugs) onto the TODO list including camera zoom, player movement tweaks, photo album GUI improvements and a FOV slider!

Got them all in. Here's fancy GIF to celebrate the Alpha milestone.



Proper alpha stream on Tuesday next week. Other than that it is going to be level design and graphics development for the next 4 weeks.

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #17 on: June 25, 2018, 11:30:12 AM »

Spent the morning on implementing object spawner prewarming (objects are added to the scene at start, similar to the setting in the particle system) and object killboxes (to get rid of the phages and bacteria once they've moved through the level).

Evening on the first 3D model, which isn't even world 1 specific. The checkpoint podium.


Here seen with its custom meshcollider. Haven't had to make one of those before.

Lastly made sure walking from one mesh to the other was smooth.

Feeling slightly unmotivated for the first time in this project. Didn't get that at all when building Building Buildings (project 2, that is). It might just be having to decided on the visual style this week, a daunting task. Not looking forward to it.

To the good news then. Took part in Alakajam 3 this weekend. Didn't put too much to it, due to an overly complicated initial design, but ended up with something nonetheless.

As mentioned before, tomorrow's the alpha stream. Now that I think about it there is not a lot to show which hasn't already been show... Oh well!

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #18 on: June 27, 2018, 10:36:43 AM »

Managed to get a single model textured today.


Nasty, nasty bacteria!

Messed up the UV and only realized after texturing half the darn thing! Basically allocated way too much space for the spikes, which of course are a tiny portion of the actual area of the mesh. The surface seams are also quite visible in places... Live and learn!

The bumpmap salvaged the mesh, I think. Looked quite naff with diffuse only. Using the same technique on the phage should be adequate. Working with 4k textures btw. Never done that before and the computer is dealing with it just fine. Blender's UV layout export is a bit slow at 4K resolution, but that doesn't need to be used too often. Krita png export is only about 5-6 seconds. Not bad!

Also started modifying the bigger bacteria mesh, but I have to say I should have gotten a lot more done today. Will have to texture at least three models tomorrow, four would be better. Technically I can leave the lighting settings until later. That should be a cinch.

Alpha stream yesterday. Went ok, did some 3D modelling live! Will not have time to edit the video until the weekend though.

Cheers...
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #19 on: June 29, 2018, 01:45:14 PM »

Could not keep up with the schedule. Here are the highlights, nonetheless.


Striking blue!

Looks kind of nice at a distance. Problem is, the first person perspective allows a much closer inspection of the textures.


Colors are off. Didn't bother tweaking them.

The environment texture turned out quite alright, I reckon. Got the UV right which made texturing a breeze using a few GIMP filters.

In general the UVs are an issue though. The more complex the mesh, the longer and more tedious the task. All this time is away from modelling and texturing, the important, visible aspects.

As per the schedule I will move on to the second world next week. It should be easier, less organic and I can settle on a different style. This weekend I'll commit to extra research on UV mapping and look into blender plugins for "architectural" modelling. Something like that will probably be very useful taken what is to come.

Tough, but there is still hope everything will turn out juuuuust fine.

Cheers...
Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic