├── FSharpGame ├── FSharpGame.fsproj ├── Icon.fs ├── IconFp.fs └── obj │ ├── Debug │ └── net45 │ │ ├── FSharpGame.dll │ │ ├── FSharpGame.fsproj.CopyComplete │ │ ├── FSharpGame.fsproj.CoreCompileInputs.cache │ │ ├── FSharpGame.fsproj.FileListAbsolute.txt │ │ ├── FsharpGame.fsprojResolveAssemblyReference.cache │ │ └── FsharpGame.pdb │ ├── FSharpGame.fsproj.nuget.g.targets │ ├── FSharpGame.fsproj.proj-info.targets │ ├── FsharpGame.fsproj.nuget.cache │ ├── FsharpGame.fsproj.nuget.g.props │ ├── fsac.cache │ └── project.assets.json ├── Game ├── .import │ └── icon.png-487276ed1e3a0c39cad0279d744ee560.stex ├── Game.csproj ├── Game.sln ├── Icon.cs ├── MainScene.tscn ├── Properties │ └── AssemblyInfo.cs ├── default_env.tres ├── icon.png ├── icon.png.import └── project.godot └── README.md /FSharpGame/FSharpGame.fsproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net45 5 | 6 | 7 | 8 | 9 | $(ProjectDir)/../Game/.mono/assemblies/GodotSharp.dll 10 | False 11 | 12 | 13 | $(ProjectDir)/../Game/.mono/assemblies/GodotSharpEditor.dll 14 | False 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /FSharpGame/Icon.fs: -------------------------------------------------------------------------------- 1 | namespace FSharpGame 2 | 3 | open Godot 4 | 5 | module Icon = 6 | type Class() = 7 | inherit Sprite() 8 | override this._Ready () = GD.Print("FSharp is ready") 9 | override this._Process (delta) = 10 | let pos = this.GetPosition() 11 | let increment = Vector2(50.0f * delta, 0.0f) 12 | if Input.IsActionPressed("key_left") then 13 | this.SetPosition(pos - increment) 14 | if Input.IsActionPressed("key_right") then 15 | this.SetPosition(pos + increment) -------------------------------------------------------------------------------- /FSharpGame/IconFp.fs: -------------------------------------------------------------------------------- 1 | namespace FSharpGame 2 | 3 | open Godot 4 | 5 | module IconFp = 6 | // All pure code is outside the class. Everything is immutable and there are 7 | // no side effects. This has the main game logic. 8 | 9 | type State = { 10 | velocity: Vector2 11 | acceleration : float32 12 | drag : float32 13 | minXVelocity : float32 14 | } 15 | 16 | type Input = { 17 | isLeftKeyPressed: bool 18 | isRightKeyPressed: bool 19 | position: Vector2 20 | } 21 | 22 | type Output = { 23 | position: Vector2 24 | } 25 | 26 | let initialState : State = { 27 | velocity = Vector2(0.0f, 0.0f) 28 | acceleration = 70.0f 29 | drag = 30.0f 30 | minXVelocity = 10.0f 31 | } 32 | 33 | let applyXAcceleration acceleration state delta = 34 | { state with velocity = state.velocity + Vector2(acceleration * delta, 0.0f) } 35 | 36 | let applyDrag state delta = 37 | if abs state.velocity.x < state.minXVelocity then 38 | { state with velocity = Vector2(0.0f, 0.0f) } 39 | else 40 | applyXAcceleration 41 | (state.drag * float32 (sign state.velocity.x) * -1.0f) 42 | state 43 | delta 44 | 45 | let stateToOutput (input: Input) state delta = 46 | { position = input.position + (state.velocity * delta) } 47 | 48 | let processFrame (input: Input) (state: State) (delta: float32) = 49 | let newState = 50 | if input.isLeftKeyPressed then 51 | applyXAcceleration (state.acceleration * -1.0f) state delta 52 | else if input.isRightKeyPressed then 53 | applyXAcceleration state.acceleration state delta 54 | else 55 | applyDrag state delta 56 | (newState, stateToOutput input newState delta) 57 | 58 | // All impure code goes inside the class. The class only has plumbing for 59 | // the side effects and for keeping state between frames. 60 | type Class() = 61 | inherit Sprite() 62 | let mutable state : State = initialState 63 | override this._Process delta = 64 | let (newState, output) = 65 | processFrame 66 | { isLeftKeyPressed = Input.IsActionPressed("key_left") 67 | isRightKeyPressed = Input.IsActionPressed("key_right") 68 | position = this.GetPosition() 69 | } 70 | state 71 | delta 72 | state <- newState 73 | this.SetPosition(output.position) -------------------------------------------------------------------------------- /FSharpGame/obj/Debug/net45/FSharpGame.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FSharpGame.dll -------------------------------------------------------------------------------- /FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CopyComplete -------------------------------------------------------------------------------- /FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | a99cb231e807e7134713631ceb89adc2ee6bf62c 2 | -------------------------------------------------------------------------------- /FSharpGame/obj/Debug/net45/FSharpGame.fsproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll 2 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.pdb 3 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharp.Core.dll 4 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/System.ValueTuple.dll 5 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.fsprojResolveAssemblyReference.cache 6 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CoreCompileInputs.cache 7 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.dll 8 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.pdb 9 | -------------------------------------------------------------------------------- /FSharpGame/obj/Debug/net45/FsharpGame.fsprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FsharpGame.fsprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /FSharpGame/obj/Debug/net45/FsharpGame.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FsharpGame.pdb -------------------------------------------------------------------------------- /FSharpGame/obj/FSharpGame.fsproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | -------------------------------------------------------------------------------- /FSharpGame/obj/FSharpGame.fsproj.proj-info.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 9 | 10 | 16 | 17 | 21 | 22 | 25 | 26 | 27 | 33 | 34 | 38 | 39 | 40 | 43 | 44 | 45 | <_Inspect_GetProperties_OutLines Include="P0"> 46 | TargetPath 47 | $(TargetPath) 48 | 49 | 50 | <_Inspect_GetProperties_OutLines Include="P1"> 51 | IsCrossTargetingBuild 52 | $(IsCrossTargetingBuild) 53 | 54 | 55 | <_Inspect_GetProperties_OutLines Include="P2"> 56 | TargetFrameworks 57 | $(TargetFrameworks) 58 | 59 | 60 | <_Inspect_GetProperties_OutLines Include="P3"> 61 | OutputType 62 | $(OutputType) 63 | 64 | 65 | <_Inspect_GetProperties_OutLines Include="P4"> 66 | IsTestProject 67 | $(IsTestProject) 68 | 69 | 70 | <_Inspect_GetProperties_OutLines Include="P5"> 71 | Configuration 72 | $(Configuration) 73 | 74 | 75 | <_Inspect_GetProperties_OutLines Include="P6"> 76 | IsPackable 77 | $(IsPackable) 78 | 79 | 80 | <_Inspect_GetProperties_OutLines Include="P7"> 81 | TargetFramework 82 | $(TargetFramework) 83 | 84 | 85 | <_Inspect_GetProperties_OutLines Include="P8"> 86 | TargetFrameworkIdentifier 87 | $(TargetFrameworkIdentifier) 88 | 89 | 90 | <_Inspect_GetProperties_OutLines Include="P9"> 91 | TargetFrameworkVersion 92 | $(TargetFrameworkVersion) 93 | 94 | 95 | <_Inspect_GetProperties_OutLines Include="P10"> 96 | MSBuildAllProjects 97 | $(MSBuildAllProjects) 98 | 99 | 100 | <_Inspect_GetProperties_OutLines Include="P11"> 101 | ProjectAssetsFile 102 | $(ProjectAssetsFile) 103 | 104 | 105 | <_Inspect_GetProperties_OutLines Include="P12"> 106 | RestoreSuccess 107 | $(RestoreSuccess) 108 | 109 | 110 | <_Inspect_GetProperties_OutLines Include="P13"> 111 | Configurations 112 | $(Configurations) 113 | 114 | 115 | <_Inspect_GetProperties_OutLines Include="P14"> 116 | TargetFrameworks 117 | $(TargetFrameworks) 118 | 119 | 120 | <_Inspect_GetProperties_OutLines Include="P15"> 121 | RunArguments 122 | $(RunArguments) 123 | 124 | 125 | <_Inspect_GetProperties_OutLines Include="P16"> 126 | RunCommand 127 | $(RunCommand) 128 | 129 | 130 | <_Inspect_GetProperties_OutLines Include="P17"> 131 | IsPublishable 132 | $(IsPublishable) 133 | 134 | 135 | 141 | 142 | 143 | 146 | 147 | 148 | <_Inspect_GetProperties_OutLines Include="P0"> 149 | TargetPath 150 | $(TargetPath) 151 | 152 | 153 | <_Inspect_GetProperties_OutLines Include="P1"> 154 | IsCrossTargetingBuild 155 | $(IsCrossTargetingBuild) 156 | 157 | 158 | <_Inspect_GetProperties_OutLines Include="P2"> 159 | TargetFrameworks 160 | $(TargetFrameworks) 161 | 162 | 163 | <_Inspect_GetProperties_OutLines Include="P3"> 164 | OutputType 165 | $(OutputType) 166 | 167 | 168 | <_Inspect_GetProperties_OutLines Include="P4"> 169 | IsTestProject 170 | $(IsTestProject) 171 | 172 | 173 | <_Inspect_GetProperties_OutLines Include="P5"> 174 | Configuration 175 | $(Configuration) 176 | 177 | 178 | <_Inspect_GetProperties_OutLines Include="P6"> 179 | IsPackable 180 | $(IsPackable) 181 | 182 | 183 | <_Inspect_GetProperties_OutLines Include="P7"> 184 | TargetFramework 185 | $(TargetFramework) 186 | 187 | 188 | <_Inspect_GetProperties_OutLines Include="P8"> 189 | TargetFrameworkIdentifier 190 | $(TargetFrameworkIdentifier) 191 | 192 | 193 | <_Inspect_GetProperties_OutLines Include="P9"> 194 | TargetFrameworkVersion 195 | $(TargetFrameworkVersion) 196 | 197 | 198 | <_Inspect_GetProperties_OutLines Include="P10"> 199 | MSBuildAllProjects 200 | $(MSBuildAllProjects) 201 | 202 | 203 | <_Inspect_GetProperties_OutLines Include="P11"> 204 | ProjectAssetsFile 205 | $(ProjectAssetsFile) 206 | 207 | 208 | <_Inspect_GetProperties_OutLines Include="P12"> 209 | RestoreSuccess 210 | $(RestoreSuccess) 211 | 212 | 213 | <_Inspect_GetProperties_OutLines Include="P13"> 214 | Configurations 215 | $(Configurations) 216 | 217 | 218 | <_Inspect_GetProperties_OutLines Include="P14"> 219 | TargetFrameworks 220 | $(TargetFrameworks) 221 | 222 | 223 | <_Inspect_GetProperties_OutLines Include="P15"> 224 | RunArguments 225 | $(RunArguments) 226 | 227 | 228 | <_Inspect_GetProperties_OutLines Include="P16"> 229 | RunCommand 230 | $(RunCommand) 231 | 232 | 233 | <_Inspect_GetProperties_OutLines Include="P17"> 234 | IsPublishable 235 | $(IsPublishable) 236 | 237 | 238 | 244 | 245 | 246 | 248 | 249 | -------------------------------------------------------------------------------- /FSharpGame/obj/FsharpGame.fsproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "X8yZz5Ya6EUjspj1xXT/0ZEt5o8IOBdtzZoFCjCYDjPUhiNtQIEqep+TMKNvBtDrxHfhjYtypoYgXlEFAQ0goA==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /FSharpGame/obj/FsharpGame.fsproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/project.assets.json 7 | /Users/leo/.nuget/packages/ 8 | /Users/leo/.nuget/packages/;/usr/local/share/dotnet/sdk/NuGetFallbackFolder 9 | PackageReference 10 | 4.4.0 11 | 12 | 13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 14 | 15 | -------------------------------------------------------------------------------- /FSharpGame/obj/fsac.cache: -------------------------------------------------------------------------------- 1 | 3/20/2018 1:19:49 AM 2 | {"Options":{"ProjectFileName":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FSharpGame.fsproj","SourceFiles":[],"OtherOptions":["-o:/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.dll","-g","--debug:portable","--noframework","--define:TRACE","--define:DEBUG","--define:NET45","--optimize-","-r:/Users/leo/.nuget/packages/fsharp.core/4.2.3/lib/net45/FSharp.Core.dll","-r:/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/../Game/.mono/assemblies/GodotSharp.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/mscorlib.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Core.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Data.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Drawing.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.IO.Compression.FileSystem.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Numerics.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Runtime.Serialization.dll","-r:/usr/local/share/dotnet/sdk/NuGetFallbackFolder/system.valuetuple/4.4.0/ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.Linq.dll","--target:library","--warn:3","--warnaserror:76","--fullpaths","--flaterrors","--subsystemversion:6.00","--highentropyva+","--targetprofile:mscorlib","--simpleresolution","--nocopyfsharpcore","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/Icon.fs","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/IconFp.fs"],"ReferencedProjects":[],"IsIncompleteTypeCheckEnvironment":false,"UseScriptResolutionRules":false,"LoadTime":"2018-03-19T20:19:51.335329-05:00","UnresolvedReferences":null,"OriginalLoadReferences":[],"ExtraProjectInfo":{"Case":"Some","Fields":[{"ProjectOutputType":{"Case":"Library"},"ProjectSdkType":{"Case":"DotnetSdk","Fields":[{"IsTestProject":false,"Configuration":"Debug","IsPackable":true,"TargetFramework":"net45","TargetFrameworkIdentifier":".NETFramework","TargetFrameworkVersion":"v4.5","MSBuildAllProjects":["/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.SupportedTargetFrameworks.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.props","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.BeforeCommon.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultOutputPaths.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.TargetFrameworkInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.RuntimeIdentifierInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.NuGetOfflineCache.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.Targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.props","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FSharpGame.fsproj","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.Common.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/NuGet.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.NETFramework.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.TestPlatform.ImportAfter.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.TestPlatform.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.nuget.g.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.proj-info.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.Common.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.PackageDependencyResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.GenerateAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ComposeStore.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.CrossGen.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Publish.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.PreserveCompilationContext.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ConflictResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets"],"MSBuildToolsVersion":"","ProjectAssetsFile":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/project.assets.json","RestoreSuccess":false,"Configurations":["Debug","Release"],"TargetFrameworks":[],"TargetPath":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll","RunArguments":{"Case":"Some","Fields":[""]},"RunCommand":{"Case":"Some","Fields":[""]},"IsPublishable":{"Case":"Some","Fields":[true]}}]}}]},"Stamp":null},"Files":["/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/Icon.fs","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/IconFp.fs"],"OutFile":{"Case":"Some","Fields":["/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll"]},"References":["/Users/leo/.nuget/packages/fsharp.core/4.2.3/lib/net45/FSharp.Core.dll","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/../Game/.mono/assemblies/GodotSharp.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/mscorlib.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Core.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Data.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Drawing.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.IO.Compression.FileSystem.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Numerics.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Runtime.Serialization.dll","/usr/local/share/dotnet/sdk/NuGetFallbackFolder/system.valuetuple/4.4.0/ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.Linq.dll"],"Log":{},"ExtraInfo":{"ProjectOutputType":{"Case":"Library"},"ProjectSdkType":{"Case":"DotnetSdk","Fields":[{"IsTestProject":false,"Configuration":"Debug","IsPackable":true,"TargetFramework":"net45","TargetFrameworkIdentifier":".NETFramework","TargetFrameworkVersion":"v4.5","MSBuildAllProjects":["/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.SupportedTargetFrameworks.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.props","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.BeforeCommon.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultOutputPaths.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.TargetFrameworkInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.RuntimeIdentifierInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.NuGetOfflineCache.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.Targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.props","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FSharpGame.fsproj","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.Common.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/NuGet.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.NETFramework.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.TestPlatform.ImportAfter.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.TestPlatform.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.nuget.g.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.proj-info.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.Common.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.PackageDependencyResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.GenerateAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ComposeStore.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.CrossGen.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Publish.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.PreserveCompilationContext.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ConflictResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets"],"MSBuildToolsVersion":"","ProjectAssetsFile":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/project.assets.json","RestoreSuccess":false,"Configurations":["Debug","Release"],"TargetFrameworks":[],"TargetPath":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll","RunArguments":{"Case":"Some","Fields":[""]},"RunCommand":{"Case":"Some","Fields":[""]},"IsPublishable":{"Case":"Some","Fields":[true]}}]}}} 3 | -------------------------------------------------------------------------------- /FSharpGame/obj/project.assets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "targets": { 4 | ".NETFramework,Version=v4.5": { 5 | "FSharp.Core/4.2.3": { 6 | "type": "package", 7 | "compile": { 8 | "lib/net45/FSharp.Core.dll": {} 9 | }, 10 | "runtime": { 11 | "lib/net45/FSharp.Core.dll": {} 12 | } 13 | }, 14 | "System.ValueTuple/4.4.0": { 15 | "type": "package", 16 | "compile": { 17 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {} 18 | }, 19 | "runtime": { 20 | "lib/netstandard1.0/System.ValueTuple.dll": {} 21 | } 22 | } 23 | }, 24 | ".NETFramework,Version=v4.5/win": { 25 | "FSharp.Core/4.2.3": { 26 | "type": "package", 27 | "compile": { 28 | "lib/net45/FSharp.Core.dll": {} 29 | }, 30 | "runtime": { 31 | "lib/net45/FSharp.Core.dll": {} 32 | } 33 | }, 34 | "System.ValueTuple/4.4.0": { 35 | "type": "package", 36 | "compile": { 37 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {} 38 | }, 39 | "runtime": { 40 | "lib/netstandard1.0/System.ValueTuple.dll": {} 41 | } 42 | } 43 | }, 44 | ".NETFramework,Version=v4.5/win-x64": { 45 | "FSharp.Core/4.2.3": { 46 | "type": "package", 47 | "compile": { 48 | "lib/net45/FSharp.Core.dll": {} 49 | }, 50 | "runtime": { 51 | "lib/net45/FSharp.Core.dll": {} 52 | } 53 | }, 54 | "System.ValueTuple/4.4.0": { 55 | "type": "package", 56 | "compile": { 57 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {} 58 | }, 59 | "runtime": { 60 | "lib/netstandard1.0/System.ValueTuple.dll": {} 61 | } 62 | } 63 | }, 64 | ".NETFramework,Version=v4.5/win-x86": { 65 | "FSharp.Core/4.2.3": { 66 | "type": "package", 67 | "compile": { 68 | "lib/net45/FSharp.Core.dll": {} 69 | }, 70 | "runtime": { 71 | "lib/net45/FSharp.Core.dll": {} 72 | } 73 | }, 74 | "System.ValueTuple/4.4.0": { 75 | "type": "package", 76 | "compile": { 77 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {} 78 | }, 79 | "runtime": { 80 | "lib/netstandard1.0/System.ValueTuple.dll": {} 81 | } 82 | } 83 | } 84 | }, 85 | "libraries": { 86 | "FSharp.Core/4.2.3": { 87 | "sha512": "PthzJd0cY9L7+mPHoMB0B9Z9moR4oO1rU5RDrVW44cfMm0R9AYFf+F3BsuTvP9clr9w/Wa0wbSfEwbJV8sV80A==", 88 | "type": "package", 89 | "path": "fsharp.core/4.2.3", 90 | "files": [ 91 | "fsharp.core.4.2.3.nupkg.sha512", 92 | "fsharp.core.nuspec", 93 | "lib/net45/FSharp.Core.dll", 94 | "lib/net45/FSharp.Core.optdata", 95 | "lib/net45/FSharp.Core.sigdata", 96 | "lib/net45/FSharp.Core.xml", 97 | "lib/netstandard1.6/FSharp.Core.dll", 98 | "lib/netstandard1.6/FSharp.Core.optdata", 99 | "lib/netstandard1.6/FSharp.Core.sigdata", 100 | "lib/netstandard1.6/FSharp.Core.xml" 101 | ] 102 | }, 103 | "System.ValueTuple/4.4.0": { 104 | "sha512": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==", 105 | "type": "package", 106 | "path": "system.valuetuple/4.4.0", 107 | "files": [ 108 | "LICENSE.TXT", 109 | "THIRD-PARTY-NOTICES.TXT", 110 | "lib/MonoAndroid10/_._", 111 | "lib/MonoTouch10/_._", 112 | "lib/net461/System.ValueTuple.dll", 113 | "lib/net461/System.ValueTuple.xml", 114 | "lib/net47/System.ValueTuple.dll", 115 | "lib/net47/System.ValueTuple.xml", 116 | "lib/netcoreapp2.0/_._", 117 | "lib/netstandard1.0/System.ValueTuple.dll", 118 | "lib/netstandard1.0/System.ValueTuple.xml", 119 | "lib/netstandard2.0/_._", 120 | "lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll", 121 | "lib/portable-net40+sl4+win8+wp8/System.ValueTuple.xml", 122 | "lib/xamarinios10/_._", 123 | "lib/xamarinmac20/_._", 124 | "lib/xamarintvos10/_._", 125 | "lib/xamarinwatchos10/_._", 126 | "ref/MonoAndroid10/_._", 127 | "ref/MonoTouch10/_._", 128 | "ref/net461/System.ValueTuple.dll", 129 | "ref/net461/System.ValueTuple.xml", 130 | "ref/net47/System.ValueTuple.dll", 131 | "ref/net47/System.ValueTuple.xml", 132 | "ref/netcoreapp2.0/_._", 133 | "ref/netstandard2.0/_._", 134 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll", 135 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.xml", 136 | "ref/xamarinios10/_._", 137 | "ref/xamarinmac20/_._", 138 | "ref/xamarintvos10/_._", 139 | "ref/xamarinwatchos10/_._", 140 | "system.valuetuple.4.4.0.nupkg.sha512", 141 | "system.valuetuple.nuspec", 142 | "useSharedDesignerContext.txt", 143 | "version.txt" 144 | ] 145 | } 146 | }, 147 | "projectFileDependencyGroups": { 148 | ".NETFramework,Version=v4.5": [ 149 | "FSharp.Core >= 4.2.*", 150 | "System.ValueTuple >= 4.*" 151 | ] 152 | }, 153 | "packageFolders": { 154 | "/Users/leo/.nuget/packages/": {}, 155 | "/usr/local/share/dotnet/sdk/NuGetFallbackFolder": {} 156 | }, 157 | "project": { 158 | "version": "1.0.0", 159 | "restore": { 160 | "projectUniqueName": "/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FsharpGame.fsproj", 161 | "projectName": "FsharpGame", 162 | "projectPath": "/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FsharpGame.fsproj", 163 | "packagesPath": "/Users/leo/.nuget/packages/", 164 | "outputPath": "/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/", 165 | "projectStyle": "PackageReference", 166 | "fallbackFolders": [ 167 | "/usr/local/share/dotnet/sdk/NuGetFallbackFolder" 168 | ], 169 | "configFilePaths": [ 170 | "/Users/leo/.config/NuGet/NuGet.Config" 171 | ], 172 | "originalTargetFrameworks": [ 173 | "net45" 174 | ], 175 | "sources": { 176 | "https://api.nuget.org/v3/index.json": {} 177 | }, 178 | "frameworks": { 179 | "net45": { 180 | "projectReferences": {} 181 | } 182 | } 183 | }, 184 | "frameworks": { 185 | "net45": { 186 | "dependencies": { 187 | "System.ValueTuple": { 188 | "target": "Package", 189 | "version": "4.*" 190 | }, 191 | "FSharp.Core": { 192 | "target": "Package", 193 | "version": "4.2.*" 194 | } 195 | } 196 | } 197 | }, 198 | "runtimes": { 199 | "win": { 200 | "#import": [] 201 | }, 202 | "win-x64": { 203 | "#import": [] 204 | }, 205 | "win-x86": { 206 | "#import": [] 207 | } 208 | } 209 | } 210 | } -------------------------------------------------------------------------------- /Game/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/Game/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex -------------------------------------------------------------------------------- /Game/Game.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2} 7 | Library 8 | .mono/temp/bin/$(Configuration) 9 | Game 10 | Game 11 | v4.5 12 | .mono/temp/obj 13 | $(BaseIntermediateOutputPath)/$(Configuration) 14 | 15 | 16 | true 17 | full 18 | false 19 | DEBUG; 20 | prompt 21 | 4 22 | false 23 | 24 | 25 | full 26 | true 27 | prompt 28 | 4 29 | false 30 | 31 | 32 | true 33 | full 34 | false 35 | DEBUG;TOOLS; 36 | prompt 37 | 4 38 | false 39 | 40 | 41 | 42 | 43 | 44 | 45 | $(ProjectDir)/.mono/assemblies/GodotSharp.dll 46 | False 47 | 48 | 49 | $(ProjectDir)/.mono/assemblies/GodotSharpEditor.dll 50 | False 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /Game/Game.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 12.00 2 | # Visual Studio 2012 3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Game", "Game.csproj", "{ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}" 4 | EndProject 5 | Global 6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 7 | Debug|Any CPU = Debug|Any CPU 8 | Release|Any CPU = Release|Any CPU 9 | Tools|Any CPU = Tools|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Release|Any CPU.Build.0 = Release|Any CPU 16 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Tools|Any CPU.ActiveCfg = Tools|Any CPU 17 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Tools|Any CPU.Build.0 = Tools|Any CPU 18 | EndGlobalSection 19 | EndGlobal 20 | -------------------------------------------------------------------------------- /Game/Icon.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using System; 3 | 4 | public class Icon : FSharpGame.IconFp.Class 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /Game/MainScene.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=2] 2 | 3 | [ext_resource path="res://icon.png" type="Texture" id=1] 4 | [ext_resource path="res://Icon.cs" type="Script" id=2] 5 | 6 | [node name="icon" type="Sprite" index="0"] 7 | 8 | position = Vector2( 439, 201 ) 9 | texture = ExtResource( 1 ) 10 | script = ExtResource( 2 ) 11 | 12 | 13 | -------------------------------------------------------------------------------- /Game/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | // Information about this assembly is defined by the following attributes. 4 | // Change them to the values specific to your project. 5 | 6 | [assembly: AssemblyTitle("Game")] 7 | [assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("")] 10 | [assembly: AssemblyProduct("")] 11 | [assembly: AssemblyCopyright("")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 16 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 17 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 18 | 19 | [assembly: AssemblyVersion("1.0.*")] 20 | 21 | // The following attributes are used to specify the signing key for the assembly, 22 | // if desired. See the Mono documentation for more information about signing. 23 | 24 | //[assembly: AssemblyDelaySign(false)] 25 | //[assembly: AssemblyKeyFile("")] 26 | -------------------------------------------------------------------------------- /Game/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | radiance_size = 4 6 | sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 ) 7 | sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 ) 8 | sky_curve = 0.25 9 | sky_energy = 1.0 10 | ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 ) 11 | ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 ) 12 | ground_curve = 0.01 13 | ground_energy = 1.0 14 | sun_color = Color( 1, 1, 1, 1 ) 15 | sun_latitude = 35.0 16 | sun_longitude = 0.0 17 | sun_angle_min = 1.0 18 | sun_angle_max = 100.0 19 | sun_curve = 0.05 20 | sun_energy = 16.0 21 | texture_size = 2 22 | 23 | [resource] 24 | 25 | background_mode = 2 26 | background_sky = SubResource( 1 ) 27 | background_sky_custom_fov = 0.0 28 | background_color = Color( 0, 0, 0, 1 ) 29 | background_energy = 1.0 30 | background_canvas_max_layer = 0 31 | ambient_light_color = Color( 0, 0, 0, 1 ) 32 | ambient_light_energy = 1.0 33 | ambient_light_sky_contribution = 1.0 34 | fog_enabled = false 35 | fog_color = Color( 0.5, 0.6, 0.7, 1 ) 36 | fog_sun_color = Color( 1, 0.9, 0.7, 1 ) 37 | fog_sun_amount = 0.0 38 | fog_depth_enabled = true 39 | fog_depth_begin = 10.0 40 | fog_depth_curve = 1.0 41 | fog_transmit_enabled = false 42 | fog_transmit_curve = 1.0 43 | fog_height_enabled = false 44 | fog_height_min = 0.0 45 | fog_height_max = 100.0 46 | fog_height_curve = 1.0 47 | tonemap_mode = 0 48 | tonemap_exposure = 1.0 49 | tonemap_white = 1.0 50 | auto_exposure_enabled = false 51 | auto_exposure_scale = 0.4 52 | auto_exposure_min_luma = 0.05 53 | auto_exposure_max_luma = 8.0 54 | auto_exposure_speed = 0.5 55 | ss_reflections_enabled = false 56 | ss_reflections_max_steps = 64 57 | ss_reflections_fade_in = 0.15 58 | ss_reflections_fade_out = 2.0 59 | ss_reflections_depth_tolerance = 0.2 60 | ss_reflections_roughness = true 61 | ssao_enabled = false 62 | ssao_radius = 1.0 63 | ssao_intensity = 1.0 64 | ssao_radius2 = 0.0 65 | ssao_intensity2 = 1.0 66 | ssao_bias = 0.01 67 | ssao_light_affect = 0.0 68 | ssao_color = Color( 0, 0, 0, 1 ) 69 | ssao_quality = 0 70 | ssao_blur = 3 71 | ssao_edge_sharpness = 4.0 72 | dof_blur_far_enabled = false 73 | dof_blur_far_distance = 10.0 74 | dof_blur_far_transition = 5.0 75 | dof_blur_far_amount = 0.1 76 | dof_blur_far_quality = 1 77 | dof_blur_near_enabled = false 78 | dof_blur_near_distance = 2.0 79 | dof_blur_near_transition = 1.0 80 | dof_blur_near_amount = 0.1 81 | dof_blur_near_quality = 1 82 | glow_enabled = false 83 | glow_levels/1 = false 84 | glow_levels/2 = false 85 | glow_levels/3 = true 86 | glow_levels/4 = false 87 | glow_levels/5 = true 88 | glow_levels/6 = false 89 | glow_levels/7 = false 90 | glow_intensity = 0.8 91 | glow_strength = 1.0 92 | glow_bloom = 0.0 93 | glow_blend_mode = 2 94 | glow_hdr_threshold = 1.0 95 | glow_hdr_scale = 2.0 96 | glow_bicubic_upscale = false 97 | adjustment_enabled = false 98 | adjustment_brightness = 1.0 99 | adjustment_contrast = 1.0 100 | adjustment_saturation = 1.0 101 | 102 | -------------------------------------------------------------------------------- /Game/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/Game/icon.png -------------------------------------------------------------------------------- /Game/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | 7 | [deps] 8 | 9 | source_file="res://icon.png" 10 | source_md5="bce529128d4c6f2c656429244db7ce4e" 11 | 12 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 13 | dest_md5="4363fbc16b1ee0a53904fa4c09ce5421" 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/normal_map=0 21 | flags/repeat=0 22 | flags/filter=true 23 | flags/mipmaps=false 24 | flags/anisotropic=false 25 | flags/srgb=2 26 | process/fix_alpha_border=true 27 | process/premult_alpha=false 28 | process/HDR_as_SRGB=false 29 | stream=false 30 | size_limit=0 31 | detect_3d=true 32 | svg/scale=1.0 33 | -------------------------------------------------------------------------------- /Game/project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=3 10 | 11 | [application] 12 | 13 | config/name="Game" 14 | run/main_scene="res://MainScene.tscn" 15 | config/icon="res://icon.png" 16 | 17 | [input] 18 | 19 | key_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) 20 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null) 21 | ] 22 | key_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) 23 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null) 24 | ] 25 | 26 | [rendering] 27 | 28 | environment/default_environment="res://default_env.tres" 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # godot-fsharp-boilerplate 2 | Boilerplate for using F# to develop games using GODOT 3 | --------------------------------------------------------------------------------