Trying to get ideas here on how I could do this:
I have created a game for a university coursework assignment using a custom game engine (internal to my university, but it's based on OpenGL).
The game loads levels and menus from a file, this happens at initialization to increase performance while playing the game. At the moment the game loading time is 4.1s, but the loading time without the levels and menus is 0.961s- that's over 3s. As more levels are added the loading time will become longer and I want to add a loading screen.
I've tried to add one, but loading the levels and menus is blocking everything else, including rendering the loading screen. This means that the loading screen doesn't appear until the game has loaded and is overridden by the main menu. The game loading is done via its update function and via calling initialization functions of the various game classes, and the loading screen is rendered within the game's render function (the rendering is done on a separate thread, according to the game engine's documentation).
Any suggestions on how I can show the loading screen without the other loading activity blocking it from being shown?
I know that I can use threading but am unsure how thread-safe the operation would be to init the game on another thread.
Project Name:The Legends Gate:Battle Of Sorrugar
Studio: Inbound Entertainment.
Engine: Unreal Engine 4
Platforms: PC And Mac(Steam) & Xbox One/PS4 (Very Very Far Future)
Compensation: Royalty/Payback After Funding
Roles Required:Environment Artist/3D Animator/Level Designer And Unreal Engine Programmer And Any Others!
Project Length: Hoping For Release In 2020/2022
[3D ANIMATOR/ENVIRONMENT ARTIST] - Realistic Assets/Textures - GUI Creation - Environment Asset Creation - Create Animations
[PROGRAMMER REQUIREMENTS] - Fluent Programming - Work With Other Programmers And 3D Artists - Must Be Able To Create Combat Systems And NPC AI Systems
About Me: I’m A Game Designer With A Bit Of Experience, I’ve Been Working On This Project Game Design Wise For Nearly 4 years.
The Project Has Changed So Much, especially Story And GamePlay Wise.
Project Description: Hello! Me And A Concept Artist Are Looking To Start Up This Team, You Can See What We Are Looking For Above, The Game Is A First Person RPG And Is Also Open World, This Is An Ambitious Project That I’ve Been Working On For 4 Years Game Design Wise And Story Wise. I Will Tell You More About The Story When You Apply Below. Also We Welcome Any Other Skills You Want To Offer As The Game Is Currently In Pre Production And Building A Team Is Very Important.
Apply:DM Me On Discord riobio55#1958 or email me at firstname.lastname@example.org
I have a particle system with the following layout:
system / emitter / particle
particle is driven by particle data, which contains a range of over lifetime properties, where some can be random between two values or even two curves. to maintain a smooth evaluation between two ranges, i randomize a "lerp offset" on particle init and use that value when evaluating curves. the issue is that i'm using that same offset value for all properties (10ish) and as a result i'm seeing some patterns, which i'd like to remove. The obvious way is to just add more storage for floats, but i'd like to avoid that. The other way is to generate a seed of some sort and a random table, and use that to generate 10 values, ie: start with short/integer, mask it, then renormalize to float 0-1.
I just wanted to share a VS extension. It's useful for other people who are debugging multiple processes (aka server, player1, player2) with breakpoints that will break across those processes. It just puts up a (user defined sized) label in your window telling you which process the debugger dropped into. It's simple, but useful for rapid fire debugging for multiple processes to make it obvious that process you broke in. Just put some cookie text in your command lines and configure it from View -> Other Windows -> Process Hint.
Feedback or questions welcome.
Hey all ,
For a few days I'm trying to solve some problems with my engine's memory management.Basically what is have is a custom heap with pre allocated memory.Every block has a header and so on.I decided to leave it like that(not cache friendly) because my model is that every block will be large and I will have a pool allocators and stack allocators dealing with those blocks internally. So far so good I figure out how to place my per scene resources . There is one thing that I really don't know how to do and thats dealing with containers.What kind of allocation strategy to use here.
If I use vector for my scene objects(entities , cameras , particle emitters .. ) I will fragment my custom heap if I do it in a standard way , adding and removing objects will cause a lot of reallocations . If I use a linked list this will not fragment the memory but it's not cache friendly.I guess if a reserve large amount of memory for those vectors it will work but then I will waste a lot memory.I was thinking for some sort of mix between a vector and a linked list , where you have block of memory that can contain lets say 40 items and if you go over that number a new one will be created and re location of the data would not be needed.There would be some cache misses but it will reduce the fragmentation.
How you guys deal with that ? Do you just reserve a lot data ?