To get started with PFF, follow these simple steps:
- Clone the repository using:
git clone --recursive https://github.com/Mich-Dich/PFF
Windows:
- Execute the following file to create a VS 2022 solution:
AutoGenerateSolution.bat
Linux/Apple: (currently not supported)
PFF relies on the following dependencies:
- premake5
- glfw
- ImGui
- ImGuizmo
- glm
- Vulkan install Vulkan SDK and add it to your PATH or update the variable [VULKAN_SDK] in [dependencies.lua]
You can start using PFF by either utilizing the provided project, [Sandbox], or creating your own project and linking it by adjusting the premake5.lua
file.
Your game (main class) has to inherit from the application
class.
To help you get familiar with PFF, a wiki is available and currently under development. The wiki will provide detailed documentation, guides, and examples to assist you in navigating and utilizing the framework effectively. Check back regularly for updates as more content is added.
You can also find this wiki in the editor under: Windows->Engine Wiki
At the heart of PFF lies its commitment to procedural generation, an innovative approach that opens up a realm of possibilities for game developers. Procedural generation empowers creators to generate content algorithmically, dynamically shaping game worlds and assets. This technique not only enhances replayability but also optimizes resource utilization, offering an efficient and scalable solution for game environments.
-
Infinite Worlds: Generate vast, ever-changing landscapes without the need for extensive manual design, providing players with a unique experience in each playthrough.
-
Dynamic Level Design: Create levels on-the-fly, adapting to player actions and choices, ensuring a tailored and engaging gameplay experience.
-
Randomized Assets: Generate diverse and unique assets, such as textures, models, and environments, promoting diversity and creativity in game design.
-
Efficient Resource Management: Procedural generation minimizes the need for static, pre-designed assets.
-
Adaptive Challenges: Generate challenges and obstacles based on player skill level or in-game progression, ensuring a balanced and responsive difficulty curve.
- Dynamically generate character animations, offering fluid and realistic movements that adapt to in-game scenarios.
- Create immersive audio experiences through algorithmic sound generation, enhancing the atmosphere and realism of the game environment.
- Generate diverse and complex 3D meshes on-the-fly, allowing for unique and intricate designs without the need for pre-made assets.
Examples:
- Terrain Generation: Procedurally generate realistic terrains with varying elevations, landscapes, and biomes.
- Dungeon Layouts: Dynamically create intricate dungeon layouts, ensuring no two dungeons are the same.
- Weather Systems: Generate diverse weather conditions, affecting gameplay and immersion.
By leveraging procedural generation, PFF empowers game developers to break free from conventional constraints, fostering creativity, and delivering unique and immersive gaming experiences. Explore the endless possibilities with PFF! 🌐✨
- Linux/Apple support
- Launcher
- Asset manager
- Texture Editor
- Material Editor
- Mesh generation
- Composite-mesh
- Tree
- Terrain
- Voxel
- Sound
- Animation
- Texture
- Materials
Feel free to contribute and help shape the future of PFF. Thank you for your interest and support!
This project ia a significant undertaking, and I owe a debt of gratitude to the following individuals and projects:
PFF is open-source under the Apache License 2.0. Feel free to explore, contribute, and build upon this framework.
Happy coding with PFF! 🚀