"# RunewalkerPublicFiles"
This is a collection of some files I'm happy to make public facing to show the complexity of the project and the type of code I have been writing:
-
Mesh folder shows a novel way of storing 3D meshes through a corner based data structure and using loop subdivision to take prisms and smooth them into refined shapes. This method is used to create the fish in the game.
-
Objpool is an object pool for fast object instantiation and re-use.
-
IslandTileSpawn handles the logic for spawning island tiles of different terrain types and culling configurations of land tiles that lead to terrain anomalies.
-
TreeBuilder shows procedural generation of trees using techniques from computer graphics research to simulate the growth and death of each bud in each branch of the tree. Cinammon tree shows a configuration of a tree and the easy setup it takes to make one using TreeBuilder.
-
RiverSpawn creates river points placed across the map using noise which then can be used to get the river height and width, information passed to the island physics and river water shaders.
This output from a python script for counting C# and .shader lines shows the number of files and classes within the project, amounting to 61,788 lines of C# and 7070 lines of HLSL.
323 C# classes and files. ['Cameras.cs', 'GameCursor.cs', 'GameScreen.cs', 'GameSprites.cs', 'ISequential.cs', 'KGame.cs', 'LoadSaveScreen.cs', 'LoadScreen.cs', 'NewSaveScreen.cs', 'Pauser.cs', 'TitleScreen.cs', 'UserKeyCodes.cs', 'Animal.cs', 'AnimalSpawn.cs', 'BirdFlockSpawn.cs', 'BirdMeshBuilder.cs', 'Boid.cs', 'Butterfly.cs', 'Flock.cs', 'LightBug.cs', 'Coral.cs', 'CoralSpawn.cs', 'Elkhorn.cs', 'GroovedBrain.cs', 'Staghorn.cs', 'BabyTrout.cs', 'BlacktipReefShark.cs', 'Bluegill.cs', 'BlueTang.cs', 'BrownTrout.cs', 'CaribbeanReefShark.cs', 'Fish.cs', 'FishSpawn.cs', 'GreaterAmberjack.cs', 'Mamo.cs', 'MangroveSnapper.cs', 'Pintano.cs', 'RainbowTrout.cs', 'RedSnapper.cs', 'RoyalGramma.cs', 'VermilionSnapper.cs', 'YellowTang.cs', 'Abalone.cs', 'Bonnet.cs', 'CommonDoveShell.cs', 'Conch.cs', 'Cowrie.cs', 'Mussel.cs', 'PurpleDwarfOlive.cs', 'RedScallopShell.cs', 'SandDollar.cs', 'Shell.cs', 'ShellSpawn.cs', 'SurfClam.cs', 'WhiteDwarfOlive.cs', 'WhiteScallopShell.cs', 'DebugCount.cs', 'DebugDraw.cs', 'DebugLog.cs', 'DebugLoopSubdivision.cs', 'DebugProfiler.cs', 'AnimalCaughtDialogue.cs', 'DialogueBox.cs', 'DialogueManager.cs', 'FishCaughtDialogue.cs', 'InputBox.cs', 'TestDialogue.cs', 'Enemy.cs', 'Oni.cs', 'Skele.cs', 'SkeleArcher.cs', 'BowCombatEmitter.cs', 'CombatEmitter.cs', 'FleeInputEmitter.cs', 'FlyOverInputEmitter.cs', 'InputEmitter.cs', 'IslandSpawnInputEmitter.cs', 'WanderInputEmitter.cs', 'Inventory.cs', 'Coin.cs', 'Crop.cs', 'FishItem.cs', 'HandTorch.cs', 'Heart.cs', 'Interactable.cs', 'Item.cs', 'ItemDict.cs', 'ItemDist.cs', 'ItemMagnet.cs', 'ItemPickup.cs', 'ItemSpawner.cs', 'RuneXp.cs', 'SkippingStone.cs', 'Blob.cs', 'Building.cs', 'GiantSkele.cs', 'Kodama.cs', 'Npc.cs', 'NpcAudio.cs', 'NpcCollider.cs', 'NpcFace.cs', 'NpcFx.cs', 'NpcInput.cs', 'NpcRb.cs', 'NpcShadow.cs', 'NpcSpawn.cs', 'NpcSprite.cs', 'NpcStatus.cs', 'Pathos.cs', 'ShrineSpirit.cs', 'Tanuki.cs', 'DamagePP.cs', 'Dust.cs', 'Emotion.cs', 'Footprint.cs', 'ICollider.cs', 'IEntity.cs', 'KPlayer.cs', 'PAudio.cs', 'PCollider.cs', 'PDetector.cs', 'PDetectorStealth.cs', 'PFace.cs', 'PFx.cs', 'PInput.cs', 'Player.cs', 'PlayerShadow.cs', 'PRb.cs', 'PSprite.cs', 'PStatus.cs', 'RunTrail.cs', 'TerrainRayCaster.cs', 'Arrow.cs', 'Bobber.cs', 'Bow.cs', 'BugNet.cs', 'FishingPole.cs', 'Guitar.cs', 'Hand.cs', 'ITool.cs', 'MonoBlade.cs', 'OniSword.cs', 'Scythe.cs', 'ScytheCollider.cs', 'ScytheLine.cs', 'Shovel.cs', 'SkeleBow.cs', 'SkeleSword.cs', 'Sword.cs', 'SwordCollider.cs', 'SwordLine.cs', 'SwordShadow.cs', 'Tiller.cs', 'ToolAnimation.cs', 'ToolExample.cs', 'WateringCan.cs', 'AlertBoxUI.cs', 'ArrowBounceUI.cs', 'BounceBorderUI.cs', 'BounceScaleUI.cs', 'ButtonPressBar.cs', 'CoinTextUI.cs', 'CoinUI.cs', 'CompassUI.cs', 'CursorUI.cs', 'EquipBorderUI.cs', 'FloaterDialogueUI.cs', 'FloaterTextUI.cs', 'Frames.cs', 'HeartUI.cs', 'HudUI.cs', 'InventorySlot.cs', 'InventoryUI.cs', 'LoadingScreen.cs', 'MapIconUI.cs', 'MapUI.cs', 'MeterBarUI.cs', 'NpcHealthUI.cs', 'NpcHeartUI.cs', 'PauseScreenUI.cs', 'PauseUI.cs', 'RuneStone.cs', 'RuneStoneInfoUI.cs', 'RuneStoneTrackerUI.cs', 'RuneStoneUI.cs', 'SaveSlotUI.cs', 'StaminaBar.cs', 'TimeUI.cs', 'Toolbelt.cs', 'ToolSlot.cs', 'ValueBarUI.cs', 'XpMeterUI.cs', 'XpTextUI.cs', 'AnimationCurveUtils.cs', 'BounceBack.cs', 'Cache.cs', 'CopyLight.cs', 'DestroyOnFall.cs', 'DontDestroy.cs', 'DontDestroyManager.cs', 'GameColor.cs', 'GenerateTerrain.cs', 'InstantiateUtil.cs', 'MaterialUtils.cs', 'NightBloom.cs', 'NightBloomHouseLight.cs', 'NoFall.cs', 'Notifications.cs', 'ObjPool.cs', 'ObserverPattern.cs', 'SandWadeFx.cs', 'ScreenFade.cs', 'Singleton.cs', 'Sound.cs', 'SoundManager.cs', 'SpriteAnimation.cs', 'SpriteSlicer.cs', 'Squish.cs', 'States.cs', 'ThreadLauncher.cs', 'ThreadWorker.cs', 'TimedEnumerator.cs', 'TransformUtility.cs', 'Utils.cs', 'Vector2Comparer.cs', 'VectorUtils.cs', 'CMesh.cs', 'CpState.cs', 'Edge.cs', 'LoopSubdivision.cs', 'MeshUtils.cs', 'AfterImage.cs', 'FastNoise.cs', 'NoisePCG.cs', 'BloomPP.cs', 'ChromaticPP.cs', 'CombatBloom.cs', 'GrainPP.cs', 'LevelUpBloom.cs', 'Save.cs', 'SerializableQuaternion.cs', 'SerializableVector3.cs', 'Storage.cs', 'Biome.cs', 'Culture.cs', 'GameTime.cs', 'KWorld.cs', 'SceneHandler.cs', 'Sun.cs', 'Villager.cs', 'Wind.cs', 'World.cs', 'WorldFog.cs', 'Door.cs', 'Forest.cs', 'HouseLoader.cs', 'Indoor.cs', 'IndoorBloom.cs', 'IndoorLight.cs', 'IndoorPhysics.cs', 'IndoorTile.cs', 'IndoorTilemap.cs', 'BeachOcean.cs', 'BeachSand.cs', 'ForestSpawn.cs', 'Island.cs', 'IslandColliders.cs', 'IslandPhysicsGrid.cs', 'IslandSpawn.cs', 'IslandTextures.cs', 'IslandTile.cs', 'IslandTilemap.cs', 'IslandTileSpawn.cs', 'IslandUtils.cs', 'KIsland.cs', 'LakeSpawn.cs', 'Ocean.cs', 'RiverSpawn.cs', 'RockSpawn.cs', 'SoilSpawn.cs', 'Aonori.cs', 'Bouncy.cs', 'Fruit.cs', 'Grass.cs', 'Kombu.cs', 'Nori.cs', 'Plant.cs', 'PlantSpawn.cs', 'PlantStage.cs', 'PlantTile.cs', 'Seaweed.cs', 'SeaweedSpawn.cs', 'SetPixels.cs', 'StemSway.cs', 'TreePlant.cs', 'BananaTree.cs', 'Branch.cs', 'Bud.cs', 'CanopyTree.cs', 'CinnamonTree.cs', 'CoconutPalm.cs', 'JackfruitTree.cs', 'Leaf.cs', 'LemonTree.cs', 'MangoTree.cs', 'OrangeTree.cs', 'PomeloTree.cs', 'PonderosaPine.cs', 'TreeBuilder.cs', 'TreeTypes.cs', 'BathroomFloorTile.cs', 'BlackBrickTile.cs', 'BlackWallTile.cs', 'CarpetFloorTile.cs', 'DotsWallTile.cs', 'FlowerWallTile.cs', 'KitchenFloorTile.cs', 'ScriptableBeachTile.cs', 'ScriptableLandTile.cs', 'ScriptableOceanTile.cs', 'WhiteBrickTile.cs', 'WoodDiagonalFloorTile.cs', 'WoodFloorTile.cs']
75 shaders. ['Aonori.shader', 'BeachOcean.shader', 'BeachOceanTundra.shader', 'BeachSand.shader', 'BeachSandTundra.shader', 'BlacktipReefSharkBody.shader', 'BlacktipReefSharkFin.shader', 'Bluegill.shader', 'BluegillFin.shader', 'BlueTangBody.shader', 'BlueTangEye.shader', 'BlueTangFin.shader', 'BlurUI.shader', 'Bobber.shader', 'BrownTrout.shader', 'BrownTroutFin.shader', 'ButterflyWing.shader', 'CaribbeanReefSharkBody.shader', 'CaribbeanReefSharkFin.shader', 'CoconutPalmLeaf.shader', 'ConchBase.shader', 'ConchTop.shader', 'Coral.shader', 'FishEye.shader', 'FishingLine.shader', 'Flower.shader', 'Fresnel.shader', 'Grass.shader', 'GreaterAmberjackBody.shader', 'HitAnimation.shader', 'HitRipple.shader', 'Kombu.shader', 'LilyPad.shader', 'LoadAttack.shader', 'MagicRiver.shader', 'MamoBody.shader', 'MamoFin.shader', 'MangroveSnapperBody.shader', 'MangroveSnapperFin.shader', 'Mussel.shader', 'Nori.shader', 'Ocean.shader', 'OceanMap.shader', 'OverflowRiver.shader', 'PineNeedle.shader', 'PintanoBody.shader', 'PintanoFin.shader', 'RainbowTrout.shader', 'RainbowTroutFin.shader', 'RedSnapperBody.shader', 'RedSnapperFin.shader', 'RGBCube.shader', 'Ripple.shader', 'River.shader', 'RiverMap.shader', 'RiverSand.shader', 'RoyalGrammaBody.shader', 'RoyalGrammaFin.shader', 'RoyalGrammaFinPurple.shader', 'RoyalGrammaFinYellow.shader', 'SandDollar.shader', 'SharkEye.shader', 'Shell.shader', 'SnapperEye.shader', 'Soil.shader', 'SpriteBloom.shader', 'SpritePixel.shader', 'SpriteShadows.shader', 'SpriteShadowsPixel.shader', 'Tree.shader', 'TrippyRiver.shader', 'VermilionSnapperBody.shader', 'YellowfinTunaBody.shader', 'YellowTangBody.shader', 'YellowTangFin.shader']