{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":583725080,"defaultBranch":"main","name":"Frank.GameEngine","ownerLogin":"frankhaugen","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-12-30T17:48:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13543585?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1703894907.0","currentOid":""},"activityList":{"items":[{"before":"e5a195835f24e0326e1a3fd8e248b3befaaece29","after":"680cc7bb2555d4fb8ab89eed9fc4d8bdc75fa0ba","ref":"refs/heads/main","pushedAt":"2023-12-29T23:58:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Refactor workflows and improve game engine primitives\n\nThe main CI/CD workflow is split into separate workflows for each type of trigger event to improve efficiency and maintainability. The game engine's Board class now supports nullable types to enhance flexibility in game design. Additionally, a new 2D array type is implemented alongside auxiliary services to facilitate 2D game scenarios. Adjustments are made to the Battleship sample game to align with these improvements.","shortMessageHtmlLink":"Refactor workflows and improve game engine primitives"}},{"before":"0f4027abb2422352d3c4df50457dfb1ebf5947cd","after":"e5a195835f24e0326e1a3fd8e248b3befaaece29","ref":"refs/heads/main","pushedAt":"2023-12-27T02:13:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Add Board primitives with relevant tests and functionality\n\nThis commit introduces a series of new primitives and extensions for a Board component within the Frank.GameEngine project. This includes classes for handling the Board itself, Board positions, as well as Board history for state management, each equipped with relevant functionality. Corresponding tests have also been included to ensure proper operation of the new features. The changes aim to provide greater functionality and versatility when working with game boards.","shortMessageHtmlLink":"Add Board primitives with relevant tests and functionality"}},{"before":"b3cc3d7000c79369f7f22c78278454bdaffe1427","after":"0f4027abb2422352d3c4df50457dfb1ebf5947cd","ref":"refs/heads/main","pushedAt":"2023-12-26T00:51:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update project configurations to non-packable\n\nThis commit updates the configuration of numerous projects to set IsPackable to false, ensuring they're not included in the NuGet package. In addition, it prunes unnecessary white spaces and edits the Directory.Build.props to set IsPackable to true at the directory level.","shortMessageHtmlLink":"Update project configurations to non-packable"}},{"before":"57258258fecd4ca3e14f2e26d0773a87530a3541","after":"b3cc3d7000c79369f7f22c78278454bdaffe1427","ref":"refs/heads/main","pushedAt":"2023-12-26T00:43:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Disable test in EmbeddedResourceGeneratorTests\n\nThe 'Use' test in the EmbeddedResourceGeneratorTests.cs file has been commented out. It was decided to temporarily stop running this test. More updates and a possible revision of the test are expected in the future.","shortMessageHtmlLink":"Disable test in EmbeddedResourceGeneratorTests"}},{"before":"9f1fd0d97f312a3380fb73d98c30d44dce7e7406","after":"57258258fecd4ca3e14f2e26d0773a87530a3541","ref":"refs/heads/main","pushedAt":"2023-12-26T00:41:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Disable EmbeddedResourceGenerator test\n\nThe test method 'Generate' in the 'EmbeddedResourceGeneratorTests' class has been temporarily disabled. The Fact attribute has been commented out, meaning this test will not run. Additional modifications may be needed to reactivate this test.","shortMessageHtmlLink":"Disable EmbeddedResourceGenerator test"}},{"before":"d80ef16d4f23401c2435cf8518d5ce6abe2e84b7","after":"9f1fd0d97f312a3380fb73d98c30d44dce7e7406","ref":"refs/heads/main","pushedAt":"2023-12-26T00:34:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update project reference in Assets.csproj\n\nThe Analyzer reference in the Frank.GameEngine.Assets.csproj has been replaced with a ProjectReference to the AssetsGenerator.csproj. This will ensure that changes to the AssetsGenerator project are properly reflected when building the Assets project.","shortMessageHtmlLink":"Update project reference in Assets.csproj"}},{"before":"434726ddca633195a5ee0403a89f9b28c8e6a93a","after":"d80ef16d4f23401c2435cf8518d5ce6abe2e84b7","ref":"refs/heads/main","pushedAt":"2023-12-25T23:32:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update resource and analyzer paths\n\nThe resource path in the EmbeddedResourceGeneratorTests has been updated to point to AdditionalResources2, and in the game engine assets project file, the analyzer now references the net8.0 version of the assets generator DLL. These adjustments ensure the test and assets projects are up to date with the current project configuration.","shortMessageHtmlLink":"Update resource and analyzer paths"}},{"before":"6deb03b1b8e2bce16c62e0e978d4f5ebd64cbc93","after":"434726ddca633195a5ee0403a89f9b28c8e6a93a","ref":"refs/heads/main","pushedAt":"2023-12-25T23:28:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Create main.yml","shortMessageHtmlLink":"Create main.yml"}},{"before":"e85ec7ff414b05aae9557a781a8064d86c8814c9","after":"6deb03b1b8e2bce16c62e0e978d4f5ebd64cbc93","ref":"refs/heads/main","pushedAt":"2023-12-25T23:13:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update code base with various enhancements and adjustments\n\nThis update includes several changes across multiple files. Modifications include namespace reorganizations for better structuring, necessary code adjustments in classes like 'KeyboardKeyConverter.cs' and 'ConsoleKeyConverter.cs', updating package dependencies to their latest versions, and addition of a code snippet for calculating note frequencies in 'fff.cs' file. The README.md has also been updated for more clarity.","shortMessageHtmlLink":"Update code base with various enhancements and adjustments"}},{"before":"b3d8738afc01488bda55a659dde07d1f98231db1","after":"e85ec7ff414b05aae9557a781a8064d86c8814c9","ref":"refs/heads/main","pushedAt":"2023-12-25T22:50:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update project configurations and remove SadConsoleRenderer\n\nThis commit specifically updates target framework to net8.0 in multiple projects, centralizes project configurations into a Directory.Build.props file, and removes SadConsoleRenderer.cs. It also removes redundant project configurations from all project files due to centralization.","shortMessageHtmlLink":"Update project configurations and remove SadConsoleRenderer"}},{"before":"ffc9d0929eaff4a5ffdd8c7642d8afb28da3f9b1","after":"b3d8738afc01488bda55a659dde07d1f98231db1","ref":"refs/heads/main","pushedAt":"2023-12-25T22:37:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update rendering, add new samples and improve project structure\n\nThis commit updates the rendering for MonoGame, RayLib, Console and SadConsole. Implemented further logic to ConsoleRenderer and RaylibRenderer.","shortMessageHtmlLink":"Update rendering, add new samples and improve project structure"}},{"before":"f50139d437d2e0ead91a42f56fc3717ed4caf7db","after":"ffc9d0929eaff4a5ffdd8c7642d8afb28da3f9b1","ref":"refs/heads/main","pushedAt":"2023-08-15T03:40:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Add BouncingBall sample, optimize polygon intersection, improve ConsoleDrawer\n\nThis commit introduces a new sample project, BouncingBall, that demonstrates the core capabilities of the game engine. It also brings performance optimizations to the polygon intersection calculations in PolygonExtensions.cs by switching from a List to a ConcurrentBag and utilizing parallel computation.\n\nFurthermore, additional functionality has been introduced to ConsoleDrawer.cs to improve visualization of polygons. Other minor code improvements were made for readability and performance. The sample for Pong was also updated to align with these changes.\n\nLastly, additional unit tests were added and existing tests were updated to assert the correct behavior of the updated functions.","shortMessageHtmlLink":"Add BouncingBall sample, optimize polygon intersection, improve Conso…"}},{"before":"d47d841b254edc791094f208e115e6401a7cf79b","after":"f50139d437d2e0ead91a42f56fc3717ed4caf7db","ref":"refs/heads/main","pushedAt":"2023-08-14T17:23:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"\"Refactor the code to follow good formatting practices\n\nThe files were slightly reformatted - removed trailing whitespaces, added new lines between code blocks and structured imports in several .cs files. Also, the README.md file is reformatted for better readability. These changes make the code cleaner and adhere to best practices for different file types. Additionally, new file PolygonFactory2D.cs and new project Frank.GameEngine.Rendering.RayLib were added to the code directory and solution respectively.\"","shortMessageHtmlLink":"\"Refactor the code to follow good formatting practices"}},{"before":"79419ea1b89e048498a799587ca1b716c4e9ba7f","after":"d47d841b254edc791094f208e115e6401a7cf79b","ref":"refs/heads/main","pushedAt":"2023-07-24T07:52:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Add MIDI song creation and playing capabilities\n\nImplement audio component in the game engine, focusing specifically on MIDI song playing. This includes the MIDI song factory, song player interface as well as their implementations as classes in the `Audio` project. Generated song definitions using source generators to automatically include the MIDI files from the Assets folder into the build. This allows the song to be changed / added simply by changing / adding the corresponding MIDI file. The solution file and related project files are also updated to include and manage the newly added classes and files. Finally, provided a console audio player with simple controls and tune library to demonstrate the audio playback capabilities in a console environment. This improvement is critical for audio support in the game engine, enhancing the game atmosphere and player experience.","shortMessageHtmlLink":"Add MIDI song creation and playing capabilities"}},{"before":"6eac3795d98b11df7172fcc6827b59410eb9d8bf","after":"79419ea1b89e048498a799587ca1b716c4e9ba7f","ref":"refs/heads/main","pushedAt":"2023-07-21T09:14:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update physics and collision logic in game engine\n\n- Improve collision detection logic and handling by adding intersection point calculation for edges and polygons.\n- Implement NullCollisionHandler for cases where collision handling is not necessary such as testing.\n- Separate physical forces into a dedicated directory for better code organization.\n- Transfer and separate the TeapotTestScene from TestScene to improve the modularity of the test scenes.\n- Introduce nextDirection and nextEnum extension methods for random to aid in generating random velocities for Rigidbody objects.\n- Add new intersection methods to PolygonExtension to determine if polygons intersect and get the intersection points.\n- Create CollisionDetectorV2 and ICollisionHandler interface to better handle collisions using more robust collision detection logic.\n- Add getCollision method in GameObjectExtension to get collisions between a game object and others.\n- Update Collision structure to include more information regarding the collisions such as the involved objects, force, and normal vector.\n- Move ScoreBoard from Scenes to GameObjects directory in the Pong sample to better adhere to the organization structure.\n- Property IsBouncy added to Rigidbody for better collision reflection behavior.\n- Implement the logic for CollisionHandler to handle collisions including the necessary force application.","shortMessageHtmlLink":"Update physics and collision logic in game engine"}},{"before":"44f4d578e3403091f7961f8917179d97cae95395","after":"6eac3795d98b11df7172fcc6827b59410eb9d8bf","ref":"refs/heads/main","pushedAt":"2023-07-20T21:30:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Update to scene and object properties/behaviors\n\nCleaned up building of scenes and objects with properties, controllers, models, and views. Descriptions were added for specific functionalities, more properties were defined, and some properties were renamed for clarity, much of the positioning and manipulations methods underwent refactoring for more efficient behavior. Removal of the camera from the testing of scenes was necessary as it is no longer a suitable test method. Overall, this change set should improve the clarity and functionality, and provide a more solid base for future development.","shortMessageHtmlLink":"Update to scene and object properties/behaviors"}},{"before":"08dc9f97b9e806b1466cf07b85376570c6b56e4a","after":"44f4d578e3403091f7961f8917179d97cae95395","ref":"refs/heads/main","pushedAt":"2023-07-20T11:26:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"\"Remove redundant and unused files and classes\"\n\nThis commit deletes a series of unused files and classes that were cluttering the project. These included calculations for game physics, scene rendering, game engine tests, and file settings that are no longer necessary. Removing these files makes the project cleaner and easier to navigate. This change doesn't affect the functionality of the existing codebase as these were unused and redundant files/classes. Hence, it improves overall code maintainability.","shortMessageHtmlLink":"\"Remove redundant and unused files and classes\""}},{"before":"cc00f258d59b3a5d53982feb4de00bbbf2727fae","after":"08dc9f97b9e806b1466cf07b85376570c6b56e4a","ref":"refs/heads/main","pushedAt":"2023-07-19T12:15:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Refactor game engine code and add physics functionality\n\n- Code has been refactored across the Frank Game Engine giving emphasis on improving object transformations, adding new functionalities and improving the test application.\n- A PhysicsEngine has been introduced and integrated into the game engine's update cycle. The PhysicsEngine updates every object in a scene, applying each of the forces defined in its list.\n- A new \"Rigidbody\" class has been added to handle physical properties of game objects used in physics simulations.\n- Changes in the test application include better keyboard control for a test game object, changes in logging information, increased scene refresh rate, and an addition of player position reset functionality.\n- New Shape and Polygon extension methods have been added, providing better support for object transformations.\n- All these changes make the game engine more robust and extend its functionality, improving support for real-time physics simulations.","shortMessageHtmlLink":"Refactor game engine code and add physics functionality"}},{"before":"1347526cf06c94bad9448c061e81616309b1e591","after":"cc00f258d59b3a5d53982feb4de00bbbf2727fae","ref":"refs/heads/main","pushedAt":"2023-07-19T10:32:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Remove obsolete and unused files.\n\nThe commit includes the removal of several obsolete and unused files across the project. This is part of a wider cleanup and refactoring operation aimed at improving the codebase quality and maintainability. Files include old calculators, configurations, and experimental scripts that are no longer needed or being used.","shortMessageHtmlLink":"Remove obsolete and unused files."}},{"before":"e3d38a06307cae9739532b1901135a0333ab117e","after":"1347526cf06c94bad9448c061e81616309b1e591","ref":"refs/heads/main","pushedAt":"2023-07-19T00:16:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Remove unused primitives and game engine files\n\nRemoved unnecessary files related to primitives in the game engine\nlike Cone.cs, Cube.cs, Cylinder.cs etc. Also removed unused game\nengine files and shaders. These files were not contributing to\nthe main functionality of the game engine, thus causing unnecessary\nclutter in the code base. This will help keep the code base clean\nand easier to manage as it grows.","shortMessageHtmlLink":"Remove unused primitives and game engine files"}},{"before":"e76f78cf7bc4f464ade011e0d9bbb976cbaaa907","after":"e3d38a06307cae9739532b1901135a0333ab117e","ref":"refs/heads/main","pushedAt":"2023-04-05T01:30:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Added even more stuff and made it less usable","shortMessageHtmlLink":"Added even more stuff and made it less usable"}},{"before":"1043390a7f0c907dbdd2f5246e2e1e0da7aa30ca","after":"e76f78cf7bc4f464ade011e0d9bbb976cbaaa907","ref":"refs/heads/main","pushedAt":"2023-04-03T17:51:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Now base components added","shortMessageHtmlLink":"Now base components added"}},{"before":"4db3cf88ca12a869882882c3fa9227e4679d3227","after":"1043390a7f0c907dbdd2f5246e2e1e0da7aa30ca","ref":"refs/heads/main","pushedAt":"2023-04-02T17:48:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankhaugen","name":"Frank R. Haugen","path":"/frankhaugen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13543585?s=80&v=4"},"commit":{"message":"Complete dumping of old code","shortMessageHtmlLink":"Complete dumping of old code"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD1FqxfQA","startCursor":null,"endCursor":null}},"title":"Activity · frankhaugen/Frank.GameEngine"}