tdmultiverse
tdmultiverse
TdMultiverse
36 posts
Don't wanna be here? Send us removal request.
tdmultiverse · 4 years ago
Text
Multithreading: Parallel Luau
To understand multithreading and running code in Parallel you must first understand how code is usually processed and execututed. Every script in your game has a “thread”, a script can have multiple threads if you use multithreading but I digress, these threads are then lined up down a buffer;
Think like a que at a themepark, except so fast you think everythings happening at once (so nothing like a themepark). What Parallel code allows us to do however is open up multiple ques so code can run Asynchronously.
Tumblr media
This means if you’re running code which is resource intensive, i.e will take a long time that you can place it in this seperate que without disturbing anything else.
This is great news as it means we can build much larger, immersive worlds and effects without worrying so much about lag (of course it still carries the same cost so we have to be careful in that sense). A good example of this would be NPC systems.
You can find a more detailed explanation here: https://devforum.roblox.com/t/parallel-luau-developer-preview/925304
0 notes
tdmultiverse · 4 years ago
Text
Final Evaluation
We live in crazy times at the moment, even if it is from one room for too many hours each day. Yet I feel like I was being really quite productive during this time and successfully achieved a lot of the things I set out to do...even if I can’t say “hey, here’s a triple A MMORPG I created in 5 weeks” which was, unlikely, to begin with.
What has gone well in this project?
I managed to use a lot of the new tools  I was itching to use, whether that be multithreading, mesh deformation, clouds, PBR, Terrain etc. - I also learnt a ton about:
writing good code,
finding solutions (especially when there’s little on the topic)
and just experimenting with cool things.
I also used tons of new tools I hadn’t experimented with before and went back to some classics. These tools include (but are not limited to):
Roblox Studio
Pinterest (and other asset/inspiration sites)
Visual Studio Code
Trello and Clickup
Github
Substance and Autodesk
SpeedTree, Megascan, xNormal, ZBrush and WorldMachine
Working in lockdown has definitly been an adjustment but there’s always something new and interesting to explore and that’s the best part of this project - just enhancing what I’d done before while learning new things.
What could have gone better?
I think the loss of chris and sam, that in classroom communication was definitly a pain although they were both reachable at any time which I really appreciated. Everything I needed was avaliable to me, although I did go back and redo my UI once we got hold of Photoshop (thanks Chris).
I slowed down on my blogs as I neared to end of my project and started working on less research and more practacle and definitly could have done a better job showing proof of concepts; That said I’m glad that unlike previous projects my research really played an impact and steered my project rather than the other way around.
What are you planning to do in the future?
I think i’m going to leave this project alone for a bit, maybe comeback in the future with a couple friends and make something more of it but I just don’t have the skills on my own to finish this.
I’m instead putting my focus into my FMP and job.
0 notes
tdmultiverse · 4 years ago
Text
The benefit of open source
When I started on this project for my FMP last year, I was very much against using them - I didn’t want to use someone elses work to enhance my own.
Tumblr media
Ever since i have started working on larger projects i’ve learnt of the benefits of open source, using Knit an open source framework etc. As well as releasing my own modules for others to use.
On this project i’ve learnt a lot building off others modules, for instance using a camera shake system that’d been converted from C# (Unity) to Lua (Roblox) by Sleitnick, a well known developer.
youtube
Using this I could build a much better experience for that beginning opening cutscene using these tools and make my system much better and modular.
0 notes
tdmultiverse · 4 years ago
Text
WindShake and what it taught me
WindShake is a module built by BoatBomber, it’s an awesome, performant module which easily adds wind to foliage, trees etc.
youtube
While I found this really added to the experience, it more importantly taught me how I can move objects on mass while not hurting performance or looking poor thanks to talking to him and its being open source.
WorldRoot:BulkMoveTo()
Is the gold in his system, something I’d never heard of but it allows you to move as many objects CFrames as posssible, i.e change their Position and Rotational matrixes.
Tumblr media
The benefit of this rather than .CFrame or MoveTo() was this doesn’t fire anything behind the scenes, no .Changed events, simply moving the static objects matrixes thereby cutting down on the performance cost A LOT as it’s so direct.
0 notes
tdmultiverse · 4 years ago
Text
World Building - Execution
RA big focus was building interesting stories through the world and landscape, from the title screen (a floating island with some neon substance) to the intro cutscene or the barron landscape.
A Thank you
I had a lot to get done in not so many weeks and as such am more than appreciative of Zack who offered me some prefabs to build with. This allowed me to build things amazingly fast and put a lot more time into thinking the story i’m trying to tell with it.
Technical Details & Photos
A new feature I was anxious to try (and a private beta) was the new Terrain materials which are much more realistic with proper terrain blending as shown below:
Tumblr media Tumblr media
(https://devforum.roblox.com/t/new-terrain-and-parts-and-built-in-materials-oh-my/932576)
Alongside this, it went well with Robloxs new Cloud feature, this one an open beta and one I tested earlier: https://tdmultiverse.tumblr.com/post/641479493030215680/test-making-something-part-2
Material Essentials
Tumblr media
I’m not really a blender guy, I struggle to remember keybinds and found their camera system a little clunky. That said I found a really awesome plugin called “Material Essentials which is an absolutly awesome tool for quickly building environments with interesting designs, textures and of course materials.
Tumblr media
Especially now we can use Normal, Metalness and Roughness maps. We also now have an AlphaMode which is perfect for small foliage as they not longer require detailed meshes.
Results
Intro Area -
Before: https://gyazo.com/98bed52395e145966fe6058974d1026c
Before we’re using some basic fog, skybox and lights with a neon glow. The result is an eerie but a little slugish environment which was good for the time but now looks outdated.
Now: https://gyazo.com/58bcf95768c6df8940b390bde61351ab
We’re making use of Per Pixel Lighting with proper shadows and a PBR workflow which adds more detail. Sadly I wasn’t able to get the new terrain but still happy with the result.
Tumblr media
My one issue with the new lighting would be the underwater lighting, it’s not nearly as dispersed as it was with a 4x4 lighting grid and my workaround, while successful has some drawbacks.
For instance I could no longer project lights from under the water but above which made it impossible to stop light refraction on objects above the water.
Tumblr media
A Handful of Joint Builds
(These were made in collaboration - really appreciate all the amazing advice)
https://fmp-tdgamesterm3.tumblr.com/post/611213031569063936/elevator-pitch-2
Tumblr media
0 notes
tdmultiverse · 4 years ago
Text
World Building - References
Something i’ve been really interested in and have mentioned in previous posts is world building, speedbuilds and specifically Steampunk. As such i’ve collected tons of references and used lots of new applications to bring it to life:
References
Tumblr media
The curvy roof design and mismatched/deterioating style have a very specific and memorable style that I just absalitly love, as well as the sheer detail depsite being a very simplistic model.
Tumblr media
The goggle and general character/adventurer design is really nice although i’m not a fan of how toned back the colour is.
Tumblr media
One thing I really wanted to get into but couldn’t find the time was making a lot of prefab objects and building these amazing worlds found here. Going to do my best to find some timer over the half term.
Tumblr media
This really captured exactly what I’m looking for, this rustic/rural design mixed with more functinal futuristic yet victorian contraptions.
The disposition of the bright colourful foreground and empty barron background is really interesting and i’d loved capturing these empty barrons between civilisation.
Tumblr media
One idea that’s stuck with me from last year is the islands, whether that be in the sky or just between bodies of water or rural landscape.
0 notes
tdmultiverse · 4 years ago
Text
Weekly Reflection
What has gone well in the past week?
This week I put all my focus on improving the initial cutscene (rewriting the entire codebase, I was being really inefficient in areas and using new lighting techniques) and the loading screen.
I’m really glad with how this week went, I tend to speed up during the end of the project but had a major migraine which was difficult to work through.
What could have gone better?
Aside that I managed to get a lot of stuff flinished although I wasn’t able to expand on character personalisation unlike last year as I ran out of time, instead limiting the player to two choices.
0 notes
tdmultiverse · 4 years ago
Text
Recording Feedback
I’ve made a complimation of videos/gifs and photos which I’ve sent throughout their development to various game development servers and my professional twitter handle and received critiques.
[responses]
0 notes
tdmultiverse · 4 years ago
Text
A Theoretical Problem: Procedural Animation
Near the beginning of the project I had my eyes on making these two creatures ridable but the one thing that stumped me while developing it was realistic animations.
Tumblr media
The solution to this is procedural animation that can adapt to the landscape, otherwise it looks really unnatural, and has been used on games such as Red Dead Redemption 2 for the horses.
Tumblr media
The other issues that come along with this are more solvable such as solving for the rotation of the landscape that a good friend and someone I used to work with helped me out with (he’s great at solving matrixes).
Inspiration
I initially got this idea from seeing someone develop said system (procedural animation) for a spider but sadly couldn’t find said post, I was however able to find some other awesome examples such as:
Tumblr media
0 notes
tdmultiverse · 4 years ago
Text
Camera Pan with c3d Logo
Problem
Probem 1: To achieve this effect I would need to Adornee a piece of UI onto an object in the world but I’m also using a screen blur which would blur out the UI on said object.
Problem 2: I also have a semi transparent background (white layer) which gives the UI a bit more prominance, I didn’t want to lose this so needed a work around.
As such I tried multiple things to fix this including viewport frames which would allow me to place the part over any effects but this wasn’t possible as you can’t adornee to objects inside viewports.
The Solution
To currect this issue I had to use a combination of UI Modifiers, ScreenGuis and SurfaceGuis. My first challenge was displaying the title in 3d space but in front of the blur.
Tumblr media
To achieve this I used a surface gui in PlayerGui and Adorneed it there with a Zindex of 1 and “AlwaysInFront” ticked and light influence at 0.This combination excludes it from any lighting effects and pulls it in from of anything else.
The second problem was the background, to fix this I took what I learnt for the first problem then added in some UI Modifiers to display it behind the other Gui and add a fade so as the camera pans down it fades out seamlessly.
The result: https://jumpshare.com/v/b81fj7XDI9iYemc0jmUm
0 notes
tdmultiverse · 4 years ago
Text
Polish
The three things I really focussed on improving have been:
Realistic Characters
Improving the intro cutscene
reforming the codebase w/ what i’ve learnt since
Realistic Characters
One thing I put a lot of heart and pain into have been developing realistic characters. This only recently became possible and as such has some hard edges attached.
I was really pleased with how they turned out after a lot of research and youtube videos (where 15mins in it turns out i’m on the wrong video).
Tumblr media
( my character from last year, no mesh deformation)
When I started the first iteraction of this game last year for my FMP I tried to make realistic characters but roblox was just not ready (and neither were my modelling skills - pic attached).
Tumblr media
Since then roblox has really been dedicating time and resources to developing more realistic and technically advanced features; And since seeing how well it could work in games such as World // Zero which may not use mesh deformation but shows that non default rigs can work well and add to the experience.
Improving the intro cutscene 
Another area I wanted to focus my energy on was improving not just the code behind the scenes, but the players experience. Taking the skills and tricks i’ve learnt since my FMP and improving on my old work.
One area I was pretty proud of the first time around was my intro area, I felt it really came together well but never got to finish it. As such I wanted to:
Complete it, players avatar spawns in the menu
Add a little visual flair to it
The first of these two was pretty simple, Roblox has an API I could use to switch out the characters pretty effortlessly but as i’m trying to make this compatable for mobile I had to keep the MB low which made it a little more tricky as I had to give the client assets on the go rather than loading them onto the client straight away.
The second was a little more tricky and at times I thought wasn’t possible, my idea came in two parts: Fill up the logo with colour and pan the camera down to the menu, keeping the logo in place.
Fill up the logo:
This idea came from a good friend of mine and co founder of Topple Studios. They have a running tradition of using this effect in all their releases and i’ve long wanted to recreate it in some way.
Tumblr media
Instead of going from black & White to colour as they do I wanted to see how I could create something with the magical and colour pallete I use for the game. (Above is Topple Games loading screen, below my logo - u may need to open it in a new tab)
Tumblr media
As you can see, we already had this purple undertone so I wanted to play with this and see If I could use this to create a cool effect. This is covered in more detail here: ______
Camera Pan with c3d logo:
This was a bit of a pain to get together but super fun and required some creative twists and turns. Having completed the above effect I wanted to move onto the pan but was presented with a problem which I cover in more detail here: _____
The Result - See it in better detail here: https://jmp.sh/2SATKZ1
Tumblr media
0 notes
tdmultiverse · 4 years ago
Text
Playlist
One of the more interesting things I played this last week was Path to Greatness: Treasure Hun; A Low Poly Parkour Game with puzzles.
youtube
The gameplay was given a lot of care with really smooth character controls (which is something I often struggle with parkour games).
The kept the controls as simplistic as possible, changing the action depending on what you’re doing at the time (i.e close to this wall, wall jump).
0 notes
tdmultiverse · 4 years ago
Text
Mesh Deformation Success!
Roblox has put the couple of years into catching up with industry standard on a lot of basic things that simply weren’t priorities until they wanted to catch an older demographic.
One of these things is Mesh Deformation which allow rigid bodies (meshes) to deform around bones. And while it may not be possible, it is by no means easy (especially for characters).
Test
Tumblr media
First I tried playing with bone transforms via script in roblox before pulling a rigged model with a texture to see how that reacts.
To do this I just pulled a model from work to test, one of our pets (then deformed to hell and back):
Tumblr media
Rigging a character
To rig my character I first had to find some models that reflected what I was looking for. i knew I wanted a male and female option in the game but didn’t have time to learn to rig and model so used robloxs provided Rthro deformed character example as it fit suprisingly well for the female.
Tumblr media
As such I just needed to find a male counterpart. My saviour turned out to come from a free VR character examples which were low poly and a variety of genres.
The Beginning
This was quite easily one of the more frustrating parts of the project for me. To start off I looked over pages and pages of documentation on roblox characters and maya rigging.
The first thing I had to do was break the model to follow the Rthro structure which requires the mesh to be splitten up into 15 different objects. This came with a host of problems, especially material wise but I managed to figure it out (thankfully).
Rigging & Skinning  in Maya
Next came rigging my character, this is something you have to do for non skinned characters in the past so I had a litttle experience from when I was writing the game dev book for Pearson.
As such this was fairly easily but I had to go back and redo, redo again and again later on after skinning. Often starting from Step 1.
Now that i’ve confirmed everything works I had to skin the character. I tried this in combination with the easy rigger but eventually by hand seemed the easiest way as the Easy Rig had it’s own drawbacks thanks to robloxs very specific requirements.
Weighting
Horrible. That’s all this was. I restarted so many times, between robloxs restrictions and the pain that usually comes with weight painting this was really difficult and to make matters worse I had a really low poly character to work with that didn’t come in a TPose.
I ended up remodelling the LowerTorso and left/right UpperArms, including (trying) to fix their UV’s which wasn’t perfect. Once I’d finished it for the first 2/3 times i’d run into a wall on the roblox end whether that be:
HumanoidRootPart incorrect (not at 0,0,0)
Geometry not alligned (have to freeze transforms)
Incorrect Hierarchy (old documentation)
It got so bad that by the end I had a graveyard of failed models:
Tumblr media
Saviour
Once I was done with weighting, which took about 2 days, I moved onto importing to roblox which worked fine in the end. With one hickup.
When I remodelled the arms to T-Pose robloxs animations played from the tpose instead of the rig transform. As such I reached to a few devs i’d worked with in the past all helped their best but couldn’t figure out the problem.
Change Attachment Axis and orientation
workspace.StarterCharacterLola.Humanoid:BuildRigFromAttachments() (magic code)
In the end I messaged the engineer who released the feature, not expecting a response but received one despite. He’d made a video for me and step by step fix after a few correspondances which fixed the problem.
Final
Tumblr media
I ended up with these two models, both of which deform and act as you’d expect as well as being compatable with all roblox scripts, animations, tools etc.
1 note · View note
tdmultiverse · 4 years ago
Text
Weekly Reflection
What Went Well?
This week I focussed on some character creation using robloxs new character skinning which was super cool as it hasn’t been used for characters to a full extent before.
What Could Have Gone Better?
I wish I could have gotten more completed progress done, I spent about a day and a half just on the character which isn’t something I anticipated.
What are you planning to do next week?
I’m intending to get back onto my Gnatt sheet as well as maybe stream my work to document it as I go alongside my blog.
0 notes
tdmultiverse · 4 years ago
Text
Discuss Your Win and Lose States
Win State
The game has no “Win State” as you never complete it; But There are smaller wins along the way built off repeatable missions and sidequests.These can take the form of:
Visual Effects, gold tint and brighter.
Sound Effects and vfx effects.
Cutscenes.
Money and Item Rewards.
Lose State
For Loosing we can use robloxs built in health system but I’m not a huge fan of this as it resets all player states that can be a pain from a programming standpoint.
Visual Effects, gold tint and Darker.
Sound Effects and vfx effects.
Camera Pan.
As such i’m using the new “Attributes” system they just released with a custom Health system. Taking from Red Dead Redemption 2, when a player dies they get the above.
Note: I really didn’t want to do permadeath as I don’t think it fits the target audience well and would only serve to frustrate, as such i’m allowing certain objects to be ‘dropped’ but that’s it.
0 notes
tdmultiverse · 4 years ago
Text
Test Making Something Part 2
I’ve been playing around with different performance and graphical improvements. Including Procedural Clouds and fireflys.
Clouds
Tumblr media
This is a new feature which just recently got added in at Phase 1. I’ve found a few issues with it at certain heights where the shader appears to break:
Tumblr media
Fireflys and Performance
I’ve found roblox absalutly HATES adding any physics at all to lots of fireflys, anything over a few hundred. Any Property aside CFrame (when used on mass) proves to be stupidly expensive as well.
https://devforum.roblox.com/t/partcache-for-all-your-quick-part-creation-needs/246641
As such I needed to figure out a way to: One create new fireflys in a non-expensive manner as well as move these fireflies in an easy way.
Creating hundreds of fireflies
To achieve this I used an awesome open source module called “PartCache” which takes a very simple premise and builds it up into something really cool. It allows you to create a predefined number of an asset then, taking a very simple premis, allows you to:
Organise them, “Spawn” them and “Despawn” as well as destroy them. Spawning/Despawning simply CFrames the objects into and out of the scene.
Moving hundreds of fireflies
Changing the CFrame of this number of objects is way too expensive to be done in a loop as they’ll start to stutter. As such I needed to figure out a better way around this.
Using a good old Knit Framework Component as well as multithreading (which just came to roblox) which completely removes both the stutter and the amount of nested code.
0 notes
tdmultiverse · 4 years ago
Text
Playlist
The media i’ve taken in this last week were really quite varying; From Cyberpunk 2077, to Overcooked 2 and ‘the trial of the chicago 7‘ an amazing movie about the infomous trial of 1969.
Cyberpunk 2077
Cyberpunk 2077 has received a..lot..of attention the last few months and years, releasing just last month. It’s an action roleplay game (mainly action) based in the cyberpunk genre and a boardgame of the same name.
Tumblr media
It’s received mixed fanfair but no matter what you think of it, you have to admit it’s gorgious (on PC). The story feels lacking, I loved my first 15 or so hours with it in the prologue where it felt like it was setting up to be an amazing game but sadly once you move past the prologue you’re dropped into a completely foreign game that holds little resemblance to your first 15hrs.
Overcooked 2
This game came with Xbox Game Pass so was able to play it at no additional cost. I was looking into Overcooked as we’re currently making a similar system for BloopVille (The game I’m working for) and was looking for inspiration.
youtube
The control scheme on keyboard is a little unconventional but you soon get used to and while I played solo, am sure it’d be fun as anything with a group of people.
The trial of the chicago 7
I really enjoyed this movile (and may be on my third watch through, one by myself, one with my dad and now with my mum). It tells the story of the infamous 1969 trial with a corrupt judge and interference from the highest levels.
youtube
It takes place during the Democratic National Convention of the previous year as a group of protesters decide to take advantage of the fanfare to protest the Vietnam War (which was becoming less and less popular by that time).
It’s also worth mentioning the democrats were largely responsible for the conflict in vietnam.
0 notes