### # Credits text, rendered as-is from the "Credits" menu button ### [credits] text = """ # Martian Chess An Icehouse game by Andrew Looney Art by Sam Hall Programming by Elijah Voigt --- # Third Party Tools Bevy Engine: bevyengine.org FMOD/FMOD Studio: fmod.com --- # Art Assets Image Textures retrieved from textures.com: Concrete Energy Pole - https://www.textures.com/download/PBR0340/136381 Space Blanket Folds - https://www.textures.com/download/PBR0152/133187 Background 2D art by NASA: LINK HERE Silkscreen Font by Jason Kottke - https://www.kottke.org/plus/type/silkscreen/ """ ### # Intro text, typed out during normal gameplay ### [intro] # Colors are in hex (RED GREEN BLUE ALPHA) rgba_hidden = "#00000000" rgba_visible = "#FFFFFFFF" rgba_background = "#000000FF" # Higher rate is slower typing speed. Integers only! delay = 1.0 text = [ """ At the intersection of humanity's wildest imaginations and the infinite of the cosmos, the lines between possible and real fall apart like dissolving paper. """, """ On Earth, a long tradition of combat and destruction amongst different groups has been upheld and respected; given a place in the social mind. As spacetime stretches ever on, the rhyme of the universe reveals itself, and even includes such traditions. """, """ And so, humanity came face to face with a curiosity. Looking to our martian analogues, we find a twin destructive tradition, but one which seems backwards. In their tradition, each victory is also a loss. Each battle is waged simultaneously with opponent and self, and a mutual pact of annihilation and tactics unfolds until one side lays barren, just as likely to be the victor. """, """ But Can you adapt? Will you be a part of the universal rhyme, and if so, which side are you on? """, ] ### # Tutorial text, revealed interactively based on context ### [tutorial] # Hex colors for in/visible text (only visible used for now) rgba_hidden = "#00000000" rgba_visible = "#FFFFFFFF" rgba_background = "#000000FF" intro = [ """ Greetings general, and welcome to 'Martian Advanced Rules for Generals: Long-Term engagement strategies'. As a part of your assignment to operation Red Rocks, it is in your best interest to thoroughly utilize this simulation to best prepare you for engagement with, and strategic domination of, Martian forces. """, """ ... """, """ But first things first! How do you play the dang game? """, ] objective = [ "The Goal of Martian Chess is to have more points than your opponent when the game ends.", "You get points by capturing your opponent's pieces.", "The game ends when one player has no more pieces in their zone.", ] ownership = [ """ > When player or AI moves a piece across the canal, This here line is called the canal. And blow me down if she aint a beaut! See herein lies the kicker of Martian warfare: You control any and only the pieces on your side of the canal. When you move a piece across the canal, your opponent assumes control over it. """, "Keep playing and try to score some points!", ] promotions = [ """ > When player has either no drones or no Queens Oh and one last thing: real nerds occasionally employ the field promotions strategy. Here's how it works: If you control no drones, you may combine two pawns to make a drone. Similarly, if you control no Queens, you may combine two drones to make a queen. """, ] outro = [ """ Ok I gotta go now, but You now know enough to prevent human extinction. Do you want to finish this practice round? """, ] [tutorial.pieces] prompt = ["Try picking up a piece"] pawn = ["Pawn. The Pawn is worth 1 point, and moves 1 space diagonally. This thing ain't worth your time. Put it down."] drone = ["Drone. The Drone is worth 2 points, and moves 1 or 2 spaces horizontally or vertically. Neat. Back on the board."] queen = ["Queen. The Queen is worth 3 Points, and moves any distance in a straight line. Woah, watch where you point that thing. Best put it back down."] jumping = ["Note that jumping is not allowed. Martians banned any and all jumping in their society long ago."] end = ["Ok, now move some pieces somewheres!"] [resolution] x = 640 y = 480 ######################################################################### # Audio settings ######################################################################### ### # Main music track ### [audio.music] main = "/Music/Main Track2" ### # Menu SFX ### [audio.menu] select = "/SFX/MenuSelect" hover = "/SFX/MenuHover" ### # 3D Mode SFX ### [audio.display3d] pick_up = "/SFX/3D/3DPickUpPiece" put_down = "/SFX/3D/3DPutDownPiece" idle = "/SFX/3D/3DPickup-Idle-PutdownWhirr" invalid = "/sfx/3D/3DInvalidMove" #################### # Display3d settings #################### [display3d] ### # Multi-sample Anti-Aliasing # https://docs.rs/bevy/0.11.3/bevy/prelude/enum.Msaa.html # Options: Off, Sample2, Sample4, Sample8 # Requires: display3d.ssoa.quality_level = "Off" ### msaa = "Sample4" ### # Enable HDR lighting ### hdr = true ### # Screen Space Ambient Occlusion # https://docs.rs/bevy/0.11.3/bevy/pbr/enum.ScreenSpaceAmbientOcclusionQualityLevel.html # Options: Off, Low, Medium, High, Ultra # Requires: display3d.msaa = "Off" ### ssoa.quality_level = "Off" [display3d.models] assets_file = "models/Martian Chess.glb" skybox_file = "images/skybox.png" [display3d.models.scenes] queen = "Queen" drone = "Drone" pawn = "Pawn" board = "Gameboard" valid_move = "Valid Move Spot" [display3d.models.animations] intro_a = "GameCamIntro1" intro_b = "GameCamIntro2" turn_b = "GameCamSide2>1" turn_a = "GameCamSide1>2" [display3d.models.animations.pick_up] pawn = "PawnPiecePickup" drone = "DronePiecePickup" queen = "QueenPiecePickup" [display3d.models.animations.put_down] pawn = "PawnPiecePutDown" drone = "DronePiecePutDown" queen = "QueenPiecePutDown" [display3d.models.animations.idle] pawn = "PawnPieceIdle" drone = "DronePieceIdle" queen = "QueenPieceIdle" [display3d.models.materials] queen_red = "Queen" queen_blue = "QueenBlue" drone_red = "Drone" drone_blue = "DroneBlue" pawn_red = "Pawn" pawn_blue = "DroneBlue" dots_red = "Dots" dots_blue = "DotsBlue" [display3d.lights.scaling] # https://docs.rs/bevy/0.11.3/bevy/pbr/struct.SpotLight.html spot = 1.0 # https://docs.rs/bevy/0.11.3/bevy/pbr/struct.PointLight.html point = 0.01 # https://docs.rs/bevy/0.11.3/bevy/pbr/struct.DirectionalLight.html directional = 1.0 ### # Fog # Only seems to affect objects and not skyboxes ### [display3d.fog] directional_light_exponent = 0.0 [display3d.fog.color] Rgba = { red = 1.0, green = 1.0, blue = 1.0, alpha = 0.0 } [display3d.fog.directional_light_color] Rgba = { red = 1.0, green = 1.0, blue = 1.0, alpha = 0.0 } ### # Fog Faloff # https://docs.rs/bevy/0.11.3/bevy/pbr/enum.FogFalloff.html ### [display3d.fog.falloff] Exponential = { density = 1.0 } # Examples: # * Linear = { start = 1.0, end = 10.0 } # * Exponential = { density = 1.0 } # * ExponentialSquared = { density = 1.0 } # * Atmospheric = { extinction = [1.0, 1.0, 1.0], inscattering = [1.0, 1.0, 1.0] } ### # Display 3D Coloring ### [display3d.color] ### # Tonemapping # https://docs.rs/bevy/0.11.3/bevy/core_pipeline/tonemapping/enum.Tonemapping.html # Options: None, Reinhard, ReinhardLuminance, AcesFitted, AgX, SomewhatBoringDisplayTransform, TonyMcMapface, BlenderFilmic ### tonemapping = "ReinhardLuminance" ### # Color grading # https://docs.rs/bevy/0.11.3/bevy/render/view/struct.ColorGrading.html ### [display3d.color.grading] exposure = 2.0 gamma = 1.0 pre_saturation = 1.0 post_saturation = 1.0 [display3d.bloom] intensity = 0.15