ਅੰਬੀਨਟ ਉੱਚ-ਪ੍ਰਦਰਸ਼ਨ ਵਾਲੀਆਂ ਮਲਟੀਪਲੇਅਰ ਗੇਮਾਂ ਅਤੇ 3D ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਣਾਉਣ ਲਈ ਇੱਕ ਰਨਟਾਈਮ ਹੈ, ਜੋ WebAssembly, Rust, ਅਤੇ WebGPU ਦੁਆਰਾ ਸੰਚਾਲਿਤ ਹੈ।
ਵਿਕਾਸ ਦੇ ਇੱਕ ਸਾਲ ਬਾਅਦ, ਐਸe ਨੇ ਪਹਿਲੀ ਰੀਲੀਜ਼ ਦਾ ਪਰਦਾਫਾਸ਼ ਕੀਤਾ ਨਵੇਂ ਓਪਨ ਸੋਰਸ ਗੇਮ ਇੰਜਣ ਦਾ ਅੰਬੀਨਟ। ਮੋਟਰ ਮਲਟੀਪਲੇਅਰ ਗੇਮਾਂ ਅਤੇ 3D ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਣਾਉਣ ਲਈ ਇੱਕ ਰਨਟਾਈਮ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜੋ ਇੱਕ WebAssembly ਨੁਮਾਇੰਦਗੀ ਵਿੱਚ ਕੰਪਾਇਲ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ ਰੈਂਡਰਿੰਗ ਲਈ WebGPU API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।
ਅੰਬੀਨਟ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਦਾ ਮੁੱਖ ਟੀਚਾ ਅਜਿਹੇ ਟੂਲ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੈ ਜੋ ਮਲਟੀਪਲੇਅਰ ਗੇਮਾਂ ਦੇ ਵਿਕਾਸ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦੇ ਹਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਸਿਰਜਣਾ ਨੂੰ ਸਿੰਗਲ-ਪਲੇਅਰ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਮੁਸ਼ਕਲ ਨਹੀਂ ਬਣਾਉਂਦੇ ਹਨ।
ਇੰਜਣ ਦਾ ਸ਼ੁਰੂਆਤੀ ਤੌਰ 'ਤੇ ਇੱਕ ਯੂਨੀਵਰਸਲ ਰਨਟਾਈਮ ਬਣਾਉਣਾ ਹੈ ਜੋ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਗੇਮ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਡਿਵੈਲਪਮੈਂਟ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਜਿਸ ਲਈ ਇੰਟਰਮੀਡੀਏਟ ਵੈੱਬ ਅਸੈਂਬਲੀ ਕੋਡ ਦਾ ਸੰਕਲਨ ਸੰਭਵ ਹੈ। ਹਾਲਾਂਕਿ, ਪਹਿਲਾ ਸੰਸਕਰਣ ਹੁਣ ਤੱਕ ਸਿਰਫ ਜੰਗਾਲ ਵਿਕਾਸ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ.
ਅੰਬੀਨਟ ਬਾਰੇ
ਅੰਬੀਨਟ ਤੋਂ ਬਾਹਰ ਖੜ੍ਹੇ ਹੋਣ ਵਾਲੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚੋਂ, ਇਹ ਜ਼ਿਕਰ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿ ਨੈੱਟਵਰਕਿੰਗ ਲਈ ਪਾਰਦਰਸ਼ੀ ਸਹਿਯੋਗ ਹੈ. ਇੰਜਣ ਇੱਕ ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਦੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਜੋੜਦਾ ਹੈ, ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਤਰਕ ਬਣਾਉਣ ਲਈ ਸਾਰੇ ਲੋੜੀਂਦੇ ਹਿੱਸੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਅਤੇ ਕਲਾਇੰਟਸ 'ਤੇ ਸਰਵਰ ਸਥਿਤੀ ਨੂੰ ਆਪਣੇ ਆਪ ਸਮਕਾਲੀ ਬਣਾਉਂਦਾ ਹੈ।
ਇਹ ਵੀ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਇੱਕ ਆਮ ਡਾਟਾ ਮਾਡਲ ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਸਾਈਡਾਂ 'ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਕਿ ਬੈਕਐਂਡ ਅਤੇ ਫਰੰਟਐਂਡ ਵਿਚਕਾਰ ਕੋਡ ਟ੍ਰਾਂਸਫਰ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਗੈਰ-ਭਰੋਸੇਯੋਗ ਕੋਡ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਸੀਮਤ ਕਰਨ ਲਈ ਹਰੇਕ ਮੋਡੀਊਲ ਨੂੰ ਇਸਦੇ ਆਪਣੇ ਅਲੱਗ-ਥਲੱਗ ਵਾਤਾਵਰਣ ਵਿੱਚ ਚਲਾਉਂਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਮੋਡੀਊਲ ਨੂੰ ਕ੍ਰੈਸ਼ ਕਰਨ ਨਾਲ ਪੂਰੀ ਐਪਲੀਕੇਸ਼ਨ ਕ੍ਰੈਸ਼ ਨਹੀਂ ਹੁੰਦੀ ਹੈ।
ਅੰਬੀਨਟ, ਸੀਇਸ ਵਿੱਚ ਇੱਕ ਡੇਟਾ-ਅਧਾਰਿਤ ਆਰਕੀਟੈਕਚਰ ਹੈ, ਇਸ ਤਰ੍ਹਾਂ ਭਾਗਾਂ ਦੀ ਇੱਕ ਪ੍ਰਣਾਲੀ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਡੇਟਾ ਮਾਡਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਹਰੇਕ WASM ਹੇਰਾਫੇਰੀ ਕਰ ਸਕਦਾ ਹੈ। ਈਸੀਐਸ (ਐਂਟਿਟੀ ਕੰਪੋਨੈਂਟ ਸਿਸਟਮ) ਡਿਜ਼ਾਈਨ ਪੈਟਰਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਵੀ ਸਰਵਰ ਉੱਤੇ ਇੱਕ ਕੇਂਦਰੀ ਡੇਟਾਬੇਸ ਵਿੱਚ ਸਾਰੇ ਭਾਗਾਂ ਦੇ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਦਾ ਹੈr, ਜਿਸਦੀ ਸਥਿਤੀ ਕਲਾਇੰਟ ਨੂੰ ਆਪਣੇ ਆਪ ਹੀ ਦੁਹਰਾਈ ਜਾਂਦੀ ਹੈ, ਜੋ ਬਦਲੇ ਵਿੱਚ ਸਥਾਨਕ ਰਾਜ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ ਡੇਟਾ ਨੂੰ ਵਧਾ ਸਕਦਾ ਹੈ।
ਕਿਸੇ ਵੀ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਅੰਬੀਨਟ ਮੋਡੀਊਲ ਬਣਾਉਣ ਦੀ ਯੋਗਤਾ ਜੋ WebAssembly (ਹੁਣ ਤੱਕ ਸਿਰਫ਼ Rust ਸਮਰਥਿਤ ਹੈ), ਯੂਨੀਵਰਸਲ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਆਉਟਪੁੱਟ ਫਾਈਲਾਂ ਤਿਆਰ ਕਰਦੇ ਹੋਏ, ਵਿੰਡੋਜ਼, ਮੈਕੋਸ, ਅਤੇ ਲੀਨਕਸ 'ਤੇ ਚੱਲ ਸਕਦੀ ਹੈ, ਅਤੇ ਇੱਕ ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਵਜੋਂ ਕੰਮ ਕਰ ਸਕਦੀ ਹੈ।
ਦੂਜੇ ਪਾਸੇ, ਇਹ ਵੀ ਉਜਾਗਰ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿਇਸਦੇ ਆਪਣੇ ਹਿੱਸੇ ਅਤੇ "ਸੰਕਲਪਾਂ" ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਹੈ (ਭਾਗਾਂ ਦਾ ਸੰਗ੍ਰਹਿ) ਉਹ ਪ੍ਰੋਜੈਕਟ ਜੋ ਸਮਾਨ ਭਾਗਾਂ ਅਤੇ ਸੰਕਲਪਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਡੇਟਾ ਪੋਰਟੇਬਲ ਅਤੇ ਸਾਂਝਾ ਕੀਤਾ ਗਿਆ ਹੈ, ਭਾਵੇਂ ਡੇਟਾ ਖਾਸ ਤੌਰ 'ਤੇ ਖਾਸ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।
ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚੋਂ ਜੋ ਅੰਬੀਨਟ ਤੋਂ ਵੱਖ ਹਨ:
- ".glb" ਅਤੇ ".fbx" ਸਮੇਤ ਵੱਖ-ਵੱਖ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਸਰੋਤਾਂ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨ ਲਈ ਸਮਰਥਨ। ਨੈਟਵਰਕ ਉੱਤੇ ਸਰੋਤਾਂ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰਨ ਦੀ ਸਮਰੱਥਾ: ਸਰਵਰ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਵੇਲੇ ਕਲਾਇੰਟ ਸਾਰੇ ਲੋੜੀਂਦੇ ਸਰੋਤ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ (ਤੁਸੀਂ ਸਾਰੇ ਸਰੋਤਾਂ ਦੇ ਲੋਡ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੇ ਬਿਨਾਂ ਖੇਡਣਾ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ)।
- FBX ਅਤੇ glTF ਮਾਡਲ ਫਾਰਮੈਟ, ਵੱਖ-ਵੱਖ ਧੁਨੀ ਅਤੇ ਚਿੱਤਰ ਫਾਰਮੈਟ ਸਮਰਥਿਤ ਹਨ।
- ਇੱਕ ਉੱਨਤ ਰੈਂਡਰਿੰਗ ਸਿਸਟਮ ਜੋ GPU ਦੀ ਵਰਤੋਂ ਰੈਂਡਰਿੰਗ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਲਈ ਕਰਦਾ ਹੈ ਅਤੇ GPU-ਸਾਈਡ LOD ਅਤੇ ਕਲਿੱਪਿੰਗ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ।
- ਮੂਲ ਰੂਪ ਵਿੱਚ ਭੌਤਿਕ ਤੌਰ 'ਤੇ ਆਧਾਰਿਤ ਰੈਂਡਰਿੰਗ (PBR) ਦੀ ਵਰਤੋਂ, ਐਨੀਮੇਸ਼ਨ ਲਈ ਸਮਰਥਨ ਅਤੇ ਸ਼ੈਡੋ ਨਕਸ਼ੇ ਕੈਸਕੇਡਿੰਗ।
- ਫਿਜ਼ਐਕਸ ਇੰਜਣ ਦੇ ਅਧਾਰ ਤੇ ਭੌਤਿਕ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੇ ਸਿਮੂਲੇਸ਼ਨ ਲਈ ਸਮਰਥਨ.
- ਪ੍ਰਤੀਕਿਰਿਆ-ਵਰਗੇ UI ਬਿਲਡਿੰਗ ਸਿਸਟਮ।
- ਮੌਜੂਦਾ ਪਲੇਟਫਾਰਮ ਤੋਂ ਸੁਤੰਤਰ ਯੂਨੀਫਾਈਡ ਐਂਟਰੀ ਸਿਸਟਮ।
- ਪਲੱਗ-ਇਨ ਫਿਲਟਰਾਂ ਦੇ ਨਾਲ ਸਥਾਨਿਕ ਸਾਊਂਡ ਸਿਸਟਮ।
- ਵਿਕਾਸ ਅਜੇ ਵੀ ਅਲਫ਼ਾ ਪੜਾਅ ਵਿੱਚ ਹੈ। ਅਜੇ ਤੱਕ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਗਈ ਕਾਰਜਸ਼ੀਲਤਾ ਵਿੱਚੋਂ, ਅਸੀਂ ਵੈੱਬ 'ਤੇ ਚੱਲਣ ਦੀ ਯੋਗਤਾ, ਇੱਕ ਕਲਾਇੰਟ API, ਮਲਟੀ-ਥ੍ਰੈਡਿੰਗ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਇੱਕ API, ਇੱਕ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਬਣਾਉਣ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ, ਤੁਹਾਡੇ ਆਪਣੇ ਸ਼ੇਡਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਇੱਕ API, ਸਾਊਂਡ ਸਪੋਰਟ, ਲੋਡ ਨੂੰ ਨੋਟ ਕਰ ਸਕਦੇ ਹਾਂ। ਅਤੇ ਬਚਾਓ
- ਈਸੀਐਸ (ਐਂਟਿਟੀ ਕੰਪੋਨੈਂਟ ਸਿਸਟਮ) ਕੰਪੋਨੈਂਟ, ਫਲਾਈ 'ਤੇ ਸਰੋਤਾਂ ਨੂੰ ਰੀਲੋਡ ਕਰਨਾ, ਆਟੋਮੈਟਿਕ ਸਰਵਰ ਸਕੇਲਿੰਗ, ਗੇਮ ਦੇ ਨਕਸ਼ੇ ਅਤੇ ਗੇਮ ਦੇ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਸਹਿ-ਬਣਾਉਣ ਲਈ ਇੱਕ ਸੰਪਾਦਕ।
ਅੰਤ ਵਿੱਚ, ਇਸ ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਵਿੱਚ ਦਿਲਚਸਪੀ ਰੱਖਣ ਵਾਲਿਆਂ ਲਈ, ਉਹਨਾਂ ਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕੋਡ ਜੰਗਾਲ ਵਿੱਚ ਲਿਖਿਆ ਗਿਆ ਹੈ ਅਤੇ ਹੈ MIT ਲਾਇਸੰਸ ਦੇ ਤਹਿਤ ਵੰਡਿਆ ਗਿਆ.
ਟਿੱਪਣੀ ਕਰਨ ਲਈ ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਹੋਵੋ