Over the past few weeks we’ve been pushing ourselves that much further to ensure that everything would be ready on time for the Stage 2 Alpha. As a result lots of bugs have been squashed along with a plethora of new & fixed functions. Interface got a complete rework, making it a lot more efficient and diverse with the choice of widgets. Project Encryption has also gone into the works. With the completion of string encryption, we applied our same formula for files and assets so that once you finish your game, you won’t have to worry about encrypting all your files!
ANNOUNCEMENT - Alpha Stage 2 has Begun!
The Stage 2 Alpha is finally here, 50 developers from various engines have signed up to test & try out what our technology can do!
We’re eager to hear their feedback and what they achieve! :D
ANNOUNCEMENT - Caffeinated3D Site is LIVE!
It’s been under-development for a long time and it’s finally ready to be shown off! You’ll be able to find full details about our technology, how it works, why we made it and most importantly, what it can do!
ANNOUNCEMENT - Support us on Patreon!
With things getting closer and closer to the final release this year the costs have really started to rack up. We do have a small but stable budget supporting this project but we could really do with more funding. So if you believe in Caffeinated3D, please take a look at our Patreon page and help us make Caffeinated3D a reality!
NEW TOOL - World Editor
The World Editor is something every engine needs to allow the developers to quickly design and create their environments. While Caffeinated3D’s World Editor is still being developed its getting close and will soon be released for the Alpha testers to try!
NEW TOOL - Texture Welder
The Texture Welder is something we have added to make life much much easier for you if you are using the engine’s PBR pipeline and not your own. So that performance remains at its best our PBR Pipeline uses 3 texture with all 9 shader maps (Albedo, Normal, Roughness, Metalness, Height, Cavity, Ambient Occlusion, Emissive & Alpha) slotted into the RGBA channels of each of these 3 textures. While this does boost performance significantly it can be a tedious process for you to prepare these textures for every material you have to make. This is where the Texture Welder comes in. All you have to do is select your various shader maps and it will export the 3 textures correctly packaged ready for you to start using straight away!
NEW FEATURE - PBR Lighting
Physically Based Rendering is dependent on a proper lighting system to be able to produce results using its full potential, and while this system does have a long way to go the results so far have been awesome!
NEW FEATURE - Version Management
To make your life easier, the engine is now equipped with a version patcher that will check for any updates when the engine starts. If it finds one it will notify you and give you the option to download. Projects made on earlier versions of the engine will need to be converted to become compatible with the engine updates. Fortunately this is all done automatically for you and keeps a backup of your previously installed version in case you want to switch back at any time!
UPDATED - Material Functions
With our PBR system getting very close to being finished we’ve recently updated it and made it work very nicely with Material Blending. GaborD one of the Alpha testers and now new Developer made a short video showing off this system in action:
UPDATED - Interface Revamp
It was only last patch notes when we introduced the interface system and since then we’ve already rebuilt it from scratch. Seems counter productive but what we had in place just simply wasn’t good enough. The new system is much more efficient supports a lot more default widgets and is generally all round better than before!
UPDATED - Project Manager & Definitions List
We’ve touched up the panels so that navigation of your project, assets and code is now much much easier and more efficient. We’ve also added a Global List to work with the Function list so you can easily navigate your functions as well as all your handles.
New Functions
(See full Function List: Docs.google.com )
String
- Truncate
- IndexOf
- Contains
- Encrypt
- Decrypt
Interface
- CreateWidget
- CreateUIWindow
- MinimiseUIWindow
- MaximiseUIWindow
- CloseUIWindow
- CreateImageView
- SetViewImage
- CreateButton
- SetButtonText
- GetButtonText
- SetButtonDraggable
- CreateCheckBox
- SetCheckBoxText
- GetCheckBoxText
- SetChecked(handle, bool)
- IsChecked
- CreateColorWheel
- SetWheelColor
- SetWheelRed
- SetWheelGreen
- SetWheelBlue
- SetWheelAlpha
- GetWheelColor
- GetWheelRed
- GetWheelGreen
- GetWheelBlue
- GetWheelAlpha
- CreateForm
- AddGroup
- AddVariable
- AddVariableI
- AddVariableS
- AddVariableE
- AddVariableB
- AddVariableC
- AddVariableSb
- AddVariableD
- AddVariableFb
- AddButton
- CreateLineEdit
- SetLineText
- GetLineText
- SetLineReadOnly
- SetLineFormat
- GetLineFormat
- SetLineUnit
- GetLineUnit
- SetLineAllignment
- GetLineAllignment
- CreateSpinBox
- SetSpinValue
- SetSpinMaxValue
- SetSpinMinValue
- GetSpinValue
- SetSpinStepValue
- SetSpinEditable
- CreateDoubleSpinBox
- SetDSpinValue
- SetDSpinMaxValue
- SetDSpinMinValue
- GetDSpinValue
- SetDSpinStepValue
- SetDSpinEditable
- CreateSlider
- SetSliderValue
- SetSliderMinValue
- SetSliderMaxValue
- GetSliderValue
- GetMinValue
- GetMaxValue
- CreateLabel
- SetLabelText
- GetLabelText
- SetLabelFont
- GetLabelFont
- SetLabelColor
- GetLabelColor
- CreateProgressBar
- SetProgressBarValue
Shaders
- LoadShader
- SetMaterialShader
- GetDefaultMeshShader
- CopyShader
Materials
- CreateMaterial
- AddTexture
- AddCubemap
- SetSampler
- SetMat4
- SetVec3
- SetFloat
- SetMeshMaterial
Fixed Functions
Input
- KeyUp
- MouseDown
- MouseHit
- MouseUp
- MouseX
- MouseY
- MouseMoveX
- MouseMoveY
Core
- Pause
- SetLateUpdateFunction
- GetWindowDefaultWorld
- SetWindowDefaultWorld
Entity
- TranslateEntity
- MoveEntity
- TranslateEntity
- EntityXPos
- EntityYPos
- EntityZPos
- TurnEntity
- EntityPitch
- EntityYaw
- EntityRoll
- EntityXRot
- EntityYRot
- EntityZRot
- ScaleEntity
- EntityXScale
- EntityYScale
- EntityZScale
- SetEnityPosition
- SetEntityXPos
- SetEntityYPos
- SetEntityZPos
- SetEntityScale
- SetEntityXScale
- SetEntityYScale
- SetEntityZScale
- SetEntityRotation
- SetEntityPitch
- SetEntityYaw
- SetEntityRool
- SetEntityXRot
- SetEntityYRot
- SetEntityZRot
Texture
- ReleaseTexture
- TextureWidth
- TextureHeight
Mesh
- ReleaseMesh
Removed Functions
Input
- MouseXSpeed (redundant)
- MouseYSpeed (redundant)
Entity
- EntityAlpha (redundant)
- GetEntityAlpha (redundant)
- SetEntityTexture (redundant)
Texture
- CreateTexture (redundant)
- PositionTexture (redundant)
- ScaleTexture (redundant)
- CopyTexture (redundant)
- ClearTextureFilters (redundant)
Interface
- CreateTable(Replaced by GridLayout)
- InsertRow
- InsertColumn
- DeleteRow
- DeleteColumn
- TableInsertWidget
- CreateGroupBox (Replaced by GroupLayout)
- GetText
- SetText
- SetLineMask (redundant)
Bug Fixes
- Fixed bug where mathematical expressions weren’t being calculated in the correct order.
- Fixed bug where string autocompletion wasn’t inputting the correct data
- Fixed bug where Else If would only work if called once.
- Fixed bug where the Find & Replace system caused strange performance issues.
- Fixed bug where the Function List started adding random null text at the end of each function
- Fixed Memory Leak caused when opening and closing files.
What’s Next?
Collaborative Editing has been something we’ve slowly been working on in the background and have already made some decent strides into getting it to work perfectly but it certainly needs more time. Given that the base for the engine is now completed we will be spending more time and resources into finishing this system.
Audio is something we’ve touched on and pushed to the side in the past but now we have very fortunately gained an engine license for FMOD audio library. This means not only will Caffeinated 3D have industry standard audio but also give you the power to have a master controller of your game while it's running allowing you to get your audio perfect for every scene as well as a fully integrated audio suite!