{"id":21374876,"url":"https://github.com/banool/comp30019-assn2","last_synced_at":"2025-03-16T09:21:13.865Z","repository":{"id":90881340,"uuid":"68301624","full_name":"banool/comp30019-assn2","owner":"banool","description":"Assignment 2 for COMP30019 - Graphics and Interactions, a ball rolling game made in Unity. WebGL version here:","archived":false,"fork":false,"pushed_at":"2020-05-03T01:09:32.000Z","size":88190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-14T23:43:22.575Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rollymountain.dport.me","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/banool.png","metadata":{"files":{"readme":"readme.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-15T14:31:57.000Z","updated_at":"2020-05-03T01:09:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"c2a56185-8637-4f50-b97a-c4818d03d25e","html_url":"https://github.com/banool/comp30019-assn2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banool%2Fcomp30019-assn2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banool%2Fcomp30019-assn2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banool%2Fcomp30019-assn2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banool%2Fcomp30019-assn2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/banool","download_url":"https://codeload.github.com/banool/comp30019-assn2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243848117,"owners_count":20357493,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T08:45:58.529Z","updated_at":"2025-03-16T09:21:13.842Z","avatar_url":"https://github.com/banool.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Rolly Mountain - a game by Daniel Porteous (696965) and Hugh Edwards (584183). \nIt was built for the University of Melbourne subject Graphics and Interaction, \nand made with Unity 5.3 for the Microsoft Surface.\n\n================================================================================\n\n-- YouTube demonstration\n    https://www.youtube.com/watch?v=fTZ0RdtsIEg\u0026feature=youtu.be\n\n-- Versions\n    Version 1 - completed 13th October 2016.\n\nThe Windows Store certification report can be found in AssignmentFiles.\n\n================================================================================\n\n-- Description\n\tRolly Mountain is a game where the player controls a ball with the aim of \n    surviving for the longest period and maximising their score. The ball is \n    rolling down a pseudo-endless slope with randomly spawning obstacles. The \n    player controls the left and right motion of the ball, and can jump over \n    obstacles. The game ends if the player falls into the water, or collides \n    with an obstacle. The game has a menu from which the gameplay can be \n    accessed. A score keeps track player performance (and the rate at which \n    score increases is proportional to player speed). It was designed for the \n    Microsoft Surface.\n\n-- Welcome Screen (UI)\n    Easy to use, just a Play and Exit button, with instructions to the right.\n\n-- Controls\n\tThe menu may be navigated with touch (algernatively, with mouse clicks).\n\t\n    Horizontal movement - Tilt the device from side to side (alternatively, \n    use the left and right arrow keys).\n    \n    Jump - Tap the screen (alternatively, press the space bar).\n\n-- Object Modelling\n\t\n    -- Objects\n\t\tObjects are all basic, default three dimension geometric objects as \n        sets of polygons in Unity (quads, cubes, a pseudo-sphere). \n\t\n    -- Physics\n\t\tThe unity physics engine is used to govern the interaction between the \n        ball and the world. Player control is implemented via the addition of \n        forces to the ball.\n\n    -- Terrain\n        The physical collider with which the obstacles and player interract is\n        a really long quad. It is practically impossible to reach the end of it\n        considering how fast you would be going, I've  never gotten within even\n        1/100th of its length. The actual physical terrain that you see, being\n        the textured plane and the trees, are spawned in one chunk at a time in\n        front of the player and then deleted a safe length behind the player.\n        The custom fog obscures the unspawned regions.\n\n-- Graphics\n\t\n    --Shaders\n\t\t\n        -- Phong\n\t\t\tGeneric objects are displayed with a custom shader implementing the \n            Phong Shader. Textures are used to enhance object presenttation.\n\t\t\n        -- Bump-mapping\n\t\t\tThe player's sphere is a bump-mapped sphere made to look like \n            bricks. This is done by applying a normal map to the object as well \n            as a texture.\n\t\t\n        -- Water\n\t\t\tThe water is a semi-transparent textureless shader which also \n            implements phong components (ambient, diffuse, specular). This was \n            achieved by alterring the alpha component of the vertex colour \n            values, and setting the RenderType to transparent. Specularity is \n            increased to create a shiny effect. This allows the player to see \n            the dirt moving beneath the water.\n\t\t\n        -- Shadow volumes\n\t\t\tShadow volumes are implemented with Unity's built in shadow maps in\n             the shaders of certain objects, such as the terrain.\n\t\t\n        -- Fog\n\t\t\tFog is implemented on certain objects (eg the slope, obstacles) to \n            obscure those that are 'fading' into the distance. A custom fog \n            shader is used here. These objects are also textured, so that the \n            fog colour is blended onto the texture based on how far the object\n            is from the camera. The attenuation factor determines how much of \n            the original vertex colour is attenuated by the fog colour.\n\t\n    -- Particles\n\t\tThe Unity particle system is utilised to create dust particles when the \n        player impacts the terrain\n\t\n    -- Camera Motion\n\t\tThe transform component of the camera is associated with the player such \n        that it remains a fixed offset above and behind the player. The camera \n        orientation is such that the 'action' is visible.\n\n\n-- Resources\n\t\n    -- Textures\n\t\tThe brick texture and normal maps are taken from workshop 7.\n\n\t\tTree textures were taken from:\n\t\there: https://goo.gl/gpJB9G\n\t\there: https://goo.gl/Y2fmAl\n\n\t\tThe terrain, obstacle and dirt textures are taken from the Unity \n        Standard Assets.\n\n\t-- Code inspiration\n\t\tThe shader PhongShaderTransparent is based upon a shader implemented in \n        our Project 1 solution. Portions of the two shaders PhongShaderBumpTex \n        and CubeShaderTex are inspired by lab code written by Alexandre Mutel,\n        with edits by Jeremy Nicholson, Chris Ewin, and Alex Zable.\n        PassArrayToShader: a generic script used to pass arrays to shaders. \n        The script, and its use in TexApplier, is inspired by lab material, from\n        http://www.alanzucconi.com/2016/01/27/arrays-shaders-heatmaps-in-unity3d\n\n\t-- Sound\n\t\tThe explosion sound on player death was taken from \n        https://www.freesoundeffects.com/free-sounds/explosion-10070/\n\n\t-- Music\n\t\tMusic was written and performed by Daniel Porteous.\n\n\t-- Skybox\n\t\tThe skybox (not visible in final game, but visible on the welcome \n        screen) was painted by Daniel Porteous.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbanool%2Fcomp30019-assn2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbanool%2Fcomp30019-assn2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbanool%2Fcomp30019-assn2/lists"}