commit dd26b0b6a6306a485554892259f1844bade43a2c Author: R Date: Sat Jul 24 06:41:43 2021 -0500 Initial commit diff --git a/.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.md5 b/.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.md5 new file mode 100644 index 0000000..78c081f --- /dev/null +++ b/.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.md5 @@ -0,0 +1,3 @@ +source_md5="428e01f433cc72b4beb7b21aec27cb54" +dest_md5="672cd2d0ea0cb7cc0326c77399f1be91" + diff --git a/.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.stex b/.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.stex new file mode 100644 index 0000000..bf5f910 Binary files /dev/null and b/.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.stex differ diff --git a/.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.md5 b/.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.md5 new file mode 100644 index 0000000..792ecc0 --- /dev/null +++ b/.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.md5 @@ -0,0 +1,3 @@ +source_md5="9c522f1d5df32283ff25895e4d52250e" +dest_md5="e0c2d0e789751c01694776980edb8a75" + diff --git a/.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.stex b/.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.stex new file mode 100644 index 0000000..ef3619c Binary files /dev/null and b/.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.stex differ diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 new file mode 100644 index 0000000..f75f542 --- /dev/null +++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 @@ -0,0 +1,3 @@ +source_md5="8dd9ff1eebf38898a54579d8c01b0a88" +dest_md5="da70afec3c66d4e872db67f808e12edb" + diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex new file mode 100644 index 0000000..46e6d2a Binary files /dev/null and b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex differ diff --git a/.import/mature.png-27c0fc735eaea015bf41c50426921c11.md5 b/.import/mature.png-27c0fc735eaea015bf41c50426921c11.md5 new file mode 100644 index 0000000..32c55e4 --- /dev/null +++ b/.import/mature.png-27c0fc735eaea015bf41c50426921c11.md5 @@ -0,0 +1,3 @@ +source_md5="69bb8a74ed6e7b24cf76c0c3a1795423" +dest_md5="bf6fa8a5369dd41a84a5c4815a0e8784" + diff --git a/.import/mature.png-27c0fc735eaea015bf41c50426921c11.stex b/.import/mature.png-27c0fc735eaea015bf41c50426921c11.stex new file mode 100644 index 0000000..e2250ec Binary files /dev/null and b/.import/mature.png-27c0fc735eaea015bf41c50426921c11.stex differ diff --git a/.import/mature_selected.png-885a6114c4511b881c88af5425658571.md5 b/.import/mature_selected.png-885a6114c4511b881c88af5425658571.md5 new file mode 100644 index 0000000..38e9712 --- /dev/null +++ b/.import/mature_selected.png-885a6114c4511b881c88af5425658571.md5 @@ -0,0 +1,3 @@ +source_md5="1519fe4136f64c3d579f177a1f6770d4" +dest_md5="1afb6115c6d33c34bfb97ba79abb3704" + diff --git a/.import/mature_selected.png-885a6114c4511b881c88af5425658571.stex b/.import/mature_selected.png-885a6114c4511b881c88af5425658571.stex new file mode 100644 index 0000000..b61cb06 Binary files /dev/null and b/.import/mature_selected.png-885a6114c4511b881c88af5425658571.stex differ diff --git a/.import/progression.png-8d06365128b0c38682e640fcfac43fe1.md5 b/.import/progression.png-8d06365128b0c38682e640fcfac43fe1.md5 new file mode 100644 index 0000000..6988ddd --- /dev/null +++ b/.import/progression.png-8d06365128b0c38682e640fcfac43fe1.md5 @@ -0,0 +1,3 @@ +source_md5="11a271cad35c0900da5351568f390e79" +dest_md5="70091782efe83a60983da09504a16dfa" + diff --git a/.import/progression.png-8d06365128b0c38682e640fcfac43fe1.stex b/.import/progression.png-8d06365128b0c38682e640fcfac43fe1.stex new file mode 100644 index 0000000..e670275 Binary files /dev/null and b/.import/progression.png-8d06365128b0c38682e640fcfac43fe1.stex differ diff --git a/.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.md5 b/.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.md5 new file mode 100644 index 0000000..c46340b --- /dev/null +++ b/.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.md5 @@ -0,0 +1,3 @@ +source_md5="e054da3aa543e4caa4fb0ac6db5091bd" +dest_md5="cf9afb8dd73dc75fb2ea5c11591fa15a" + diff --git a/.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.stex b/.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.stex new file mode 100644 index 0000000..754026b Binary files /dev/null and b/.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.stex differ diff --git a/.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.md5 b/.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.md5 new file mode 100644 index 0000000..dc2e93d --- /dev/null +++ b/.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.md5 @@ -0,0 +1,3 @@ +source_md5="1dc430a11a6679409b625a77d2730eaf" +dest_md5="930d44d324588c0037b896f4cbb1a9c8" + diff --git a/.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.stex b/.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.stex new file mode 100644 index 0000000..d2a6bda Binary files /dev/null and b/.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.stex differ diff --git a/Assets/Theme/NotoMono-Regular.ttf b/Assets/Theme/NotoMono-Regular.ttf new file mode 100644 index 0000000..3560a3a Binary files /dev/null and b/Assets/Theme/NotoMono-Regular.ttf differ diff --git a/Assets/Theme/OGDT_theme.tres b/Assets/Theme/OGDT_theme.tres new file mode 100644 index 0000000..e922850 --- /dev/null +++ b/Assets/Theme/OGDT_theme.tres @@ -0,0 +1,10 @@ +[gd_resource type="Theme" load_steps=3 format=2] + +[ext_resource path="res://Assets/Theme/NotoMono-Regular.ttf" type="DynamicFontData" id=1] + +[sub_resource type="DynamicFont" id=1] +font_data = ExtResource( 1 ) + +[resource] +default_font = SubResource( 1 ) + diff --git a/Assets/Theme/progression.png b/Assets/Theme/progression.png new file mode 100644 index 0000000..f0fc3c9 Binary files /dev/null and b/Assets/Theme/progression.png differ diff --git a/Assets/Theme/progression.png.import b/Assets/Theme/progression.png.import new file mode 100644 index 0000000..df23a0f --- /dev/null +++ b/Assets/Theme/progression.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/progression.png-8d06365128b0c38682e640fcfac43fe1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Theme/progression.png" +dest_files=[ "res://.import/progression.png-8d06365128b0c38682e640fcfac43fe1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/audience/everyone.png b/Assets/audience/everyone.png new file mode 100644 index 0000000..66d50b8 Binary files /dev/null and b/Assets/audience/everyone.png differ diff --git a/Assets/audience/everyone.png.import b/Assets/audience/everyone.png.import new file mode 100644 index 0000000..5897bae --- /dev/null +++ b/Assets/audience/everyone.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/audience/everyone.png" +dest_files=[ "res://.import/everyone.png-d3ea48e0b26f558e24cfa7ea659dfca7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/audience/everyong_selected.png b/Assets/audience/everyong_selected.png new file mode 100644 index 0000000..b18817c Binary files /dev/null and b/Assets/audience/everyong_selected.png differ diff --git a/Assets/audience/everyong_selected.png.import b/Assets/audience/everyong_selected.png.import new file mode 100644 index 0000000..aab5f33 --- /dev/null +++ b/Assets/audience/everyong_selected.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/audience/everyong_selected.png" +dest_files=[ "res://.import/everyong_selected.png-6ad60bdf8cce7c4fc469be54147b2c7f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/audience/mature.png b/Assets/audience/mature.png new file mode 100644 index 0000000..648103b Binary files /dev/null and b/Assets/audience/mature.png differ diff --git a/Assets/audience/mature.png.import b/Assets/audience/mature.png.import new file mode 100644 index 0000000..cf3dfbb --- /dev/null +++ b/Assets/audience/mature.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/mature.png-27c0fc735eaea015bf41c50426921c11.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/audience/mature.png" +dest_files=[ "res://.import/mature.png-27c0fc735eaea015bf41c50426921c11.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/audience/mature_selected.png b/Assets/audience/mature_selected.png new file mode 100644 index 0000000..af56af8 Binary files /dev/null and b/Assets/audience/mature_selected.png differ diff --git a/Assets/audience/mature_selected.png.import b/Assets/audience/mature_selected.png.import new file mode 100644 index 0000000..027cd05 --- /dev/null +++ b/Assets/audience/mature_selected.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/mature_selected.png-885a6114c4511b881c88af5425658571.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/audience/mature_selected.png" +dest_files=[ "res://.import/mature_selected.png-885a6114c4511b881c88af5425658571.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/audience/young.png b/Assets/audience/young.png new file mode 100644 index 0000000..2b2c22b Binary files /dev/null and b/Assets/audience/young.png differ diff --git a/Assets/audience/young.png.import b/Assets/audience/young.png.import new file mode 100644 index 0000000..c3b4837 --- /dev/null +++ b/Assets/audience/young.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/audience/young.png" +dest_files=[ "res://.import/young.png-50c5f0ff70cda3ce83e362918c4afabe.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/audience/young_selected.png b/Assets/audience/young_selected.png new file mode 100644 index 0000000..c7ee4ae Binary files /dev/null and b/Assets/audience/young_selected.png differ diff --git a/Assets/audience/young_selected.png.import b/Assets/audience/young_selected.png.import new file mode 100644 index 0000000..f399323 --- /dev/null +++ b/Assets/audience/young_selected.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/audience/young_selected.png" +dest_files=[ "res://.import/young_selected.png-35e9bebfb8086d36758c67bf5775ea34.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/GUI/HUD.tscn b/GUI/HUD.tscn new file mode 100644 index 0000000..72a7a35 --- /dev/null +++ b/GUI/HUD.tscn @@ -0,0 +1,72 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Assets/Theme/OGDT_theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/HUD.gd" type="Script" id=2] +[ext_resource path="res://Assets/Theme/progression.png" type="Texture" id=3] + +[node name="HUD" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) + +[node name="bottonbar" type="HBoxContainer" parent="."] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = -20.0 + +[node name="Work" type="MenuButton" parent="bottonbar"] +margin_right = 52.0 +margin_bottom = 25.0 +text = "Work" +items = [ "New Game", null, 0, false, false, -1, 0, null, "", false, "Find Publisher", null, 0, false, false, -1, 0, null, "", false, "Contract work", null, 0, false, false, -1, 0, null, "", false ] + +[node name="Research" type="MenuButton" parent="bottonbar"] +margin_left = 56.0 +margin_right = 148.0 +margin_bottom = 25.0 +text = "Research" +items = [ "Research", null, 0, false, false, -1, 0, null, "", false ] + +[node name="Date" type="Label" parent="."] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -140.0 +margin_bottom = 19.0 +text = "JAN/1988 +Week 1" +align = 2 + +[node name="Timer" type="Timer" parent="Date"] +wait_time = 2.5 +autostart = true + +[node name="Gameindev" type="ScrollContainer" parent="."] +margin_right = 873.0 +margin_bottom = 120.0 + +[node name="Hbox" type="HBoxContainer" parent="Gameindev"] +margin_right = 873.0 +margin_bottom = 120.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Researchpoints" type="TextureRect" parent="."] +self_modulate = Color( 0, 0, 1, 1 ) +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +margin_left = -64.0 +margin_top = -180.0 +margin_bottom = -116.0 +texture = ExtResource( 3 ) + +[node name="Label" type="Label" parent="Researchpoints"] +anchor_right = 1.0 +anchor_bottom = 1.0 +text = "0" +align = 1 +valign = 1 + diff --git a/GUI/Main.tscn b/GUI/Main.tscn new file mode 100644 index 0000000..82be92f --- /dev/null +++ b/GUI/Main.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/Theme/OGDT_theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/Main.gd" type="Script" id=2] + +[node name="Main" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) + +[node name="newgame" type="Button" parent="."] +margin_right = 12.0 +margin_bottom = 20.0 +text = "New Game" + diff --git a/GUI/Phase.tscn b/GUI/Phase.tscn new file mode 100644 index 0000000..d46df6d --- /dev/null +++ b/GUI/Phase.tscn @@ -0,0 +1,157 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Assets/Theme/OGDT_theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/Phase.gd" type="Script" id=2] +[ext_resource path="res://Assets/Theme/progression.png" type="Texture" id=3] + +[node name="Phase" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) + +[node name="staffing" type="VBoxContainer" parent="."] +anchor_bottom = 1.0 +margin_right = 128.0 + +[node name="adjust" type="Control" parent="."] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -262.0 +margin_top = -254.0 +margin_right = 263.0 +margin_bottom = 170.0 + +[node name="bg" type="ColorRect" parent="adjust"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0.909804, 0.815686, 0.654902, 1 ) + +[node name="Title" type="Label" parent="adjust"] +anchor_right = 1.0 +margin_bottom = 19.0 +text = "Game Name HERE" +align = 1 + +[node name="phasenum" type="Label" parent="adjust"] +anchor_right = 1.0 +margin_top = 22.0 +margin_bottom = 49.0 +text = "Phase 1" +align = 1 + +[node name="kindof" type="Label" parent="adjust"] +anchor_right = 1.0 +margin_top = 50.0 +margin_bottom = 77.0 +text = "genre/theme" +align = 1 + +[node name="redbar" type="VSlider" parent="adjust"] +editor/display_folded = true +anchor_top = 0.5 +anchor_bottom = 0.5 +margin_top = -93.5 +margin_right = 115.0 +margin_bottom = 93.5 +min_value = 10.0 +value = 50.0 +tick_count = 7 +ticks_on_borders = true + +[node name="Label" type="Label" parent="adjust/redbar"] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = 20.0 +align = 1 + +[node name="greenbar" type="VSlider" parent="adjust"] +editor/display_folded = true +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -57.5 +margin_top = -93.5 +margin_right = 57.5 +margin_bottom = 93.5 +min_value = 10.0 +value = 50.0 +tick_count = 7 +ticks_on_borders = true + +[node name="Label" type="Label" parent="adjust/greenbar"] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = 20.0 +align = 1 + +[node name="bluebar" type="VSlider" parent="adjust"] +editor/display_folded = true +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +margin_left = -115.0 +margin_top = -93.5 +margin_bottom = 93.5 +min_value = 10.0 +value = 50.0 +tick_count = 7 +ticks_on_borders = true + +[node name="Label" type="Label" parent="adjust/bluebar"] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = 20.0 +align = 1 + +[node name="lasthalf" type="TextureProgress" parent="adjust"] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = -64.0 +value = 71.0 +rounded = true +texture_under = ExtResource( 3 ) +texture_progress = ExtResource( 3 ) +tint_under = Color( 0, 0, 1, 1 ) +tint_progress = Color( 0, 1, 0, 1 ) +nine_patch_stretch = true +stretch_margin_left = 32 +stretch_margin_right = 32 + +[node name="firsthalf" type="TextureProgress" parent="adjust"] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = -64.0 +value = 33.0 +rounded = true +texture_progress = ExtResource( 3 ) +tint_progress = Color( 1, 0, 0, 1 ) +nine_patch_stretch = true +stretch_margin_left = 32 +stretch_margin_right = 32 + +[node name="engineaddons" type="VBoxContainer" parent="."] +anchor_left = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -168.0 + +[node name="confirm" type="Button" parent="."] +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = -47.0 +margin_top = -46.0 +margin_right = 47.0 +text = "Confirm" + diff --git a/GUI/ReleaseDetails.tscn b/GUI/ReleaseDetails.tscn new file mode 100644 index 0000000..52310b0 --- /dev/null +++ b/GUI/ReleaseDetails.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/Theme/OGDT_theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/ReleaseDetails.gd" type="Script" id=2] + +[node name="ReleaseDetails" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) + +[node name="gamename" type="Label" parent="."] +anchor_right = 1.0 +margin_bottom = 29.0 +text = "INSERTTEXT HERE" +align = 1 + +[node name="RichTextLabel" type="RichTextLabel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = 115.0 + +[node name="release" type="Button" parent="."] +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = -66.0 +margin_top = -25.0 +margin_right = 66.0 +text = "Release Game" + diff --git a/GUI/ResearchList.tscn b/GUI/ResearchList.tscn new file mode 100644 index 0000000..55d49b6 --- /dev/null +++ b/GUI/ResearchList.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/Theme/OGDT_theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/Research.gd" type="Script" id=2] + +[node name="ResearchList" type="ItemList"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -424.5 +margin_top = -279.5 +margin_right = 424.5 +margin_bottom = 279.5 +theme = ExtResource( 1 ) +max_columns = 5 +script = ExtResource( 2 ) + +[node name="close" type="Button" parent="."] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -130.0 +margin_bottom = 25.0 +text = "Close" + diff --git a/GUI/devstudio.tscn b/GUI/devstudio.tscn new file mode 100644 index 0000000..5792c92 --- /dev/null +++ b/GUI/devstudio.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Scripts/devstudio.gd" type="Script" id=1] +[ext_resource path="res://GUI/HUD.tscn" type="PackedScene" id=2] + +[node name="devstudio" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) + +[node name="HUD" parent="." instance=ExtResource( 2 )] + diff --git a/GUI/gametab.tscn b/GUI/gametab.tscn new file mode 100644 index 0000000..d148c56 --- /dev/null +++ b/GUI/gametab.tscn @@ -0,0 +1,80 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Scripts/gametab.gd" type="Script" id=1] +[ext_resource path="res://Assets/Theme/progression.png" type="Texture" id=2] + +[node name="gametab" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -818.0 +margin_bottom = -486.0 +size_flags_horizontal = 3 +script = ExtResource( 1 ) + +[node name="Label" type="Label" parent="."] +anchor_right = 1.0 +margin_bottom = 14.0 +text = "GAME NAME" +align = 1 + +[node name="bugs" type="TextureRect" parent="."] +self_modulate = Color( 1, 0.490196, 0.490196, 1 ) +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -32.0 +margin_top = -32.0 +margin_right = 32.0 +margin_bottom = 32.0 +texture = ExtResource( 2 ) + +[node name="Label" type="Label" parent="bugs"] +anchor_right = 1.0 +anchor_bottom = 1.0 +text = "0" +align = 1 +valign = 1 + +[node name="tech" type="TextureRect" parent="."] +self_modulate = Color( 0, 1, 1, 1 ) +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +margin_left = -64.0 +margin_top = -32.0 +margin_bottom = 32.0 +texture = ExtResource( 2 ) + +[node name="Label" type="Label" parent="tech"] +anchor_right = 1.0 +anchor_bottom = 1.0 +text = "0" +align = 1 +valign = 1 + +[node name="design" type="TextureRect" parent="."] +self_modulate = Color( 1, 0.537255, 0, 1 ) +anchor_top = 0.5 +anchor_bottom = 0.5 +margin_top = -32.0 +margin_right = 64.0 +margin_bottom = 32.0 +texture = ExtResource( 2 ) + +[node name="Label" type="Label" parent="design"] +anchor_right = 1.0 +anchor_bottom = 1.0 +text = "0" +align = 1 +valign = 1 + +[node name="Release" type="Button" parent="."] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = -20.0 +disabled = true +text = "Release" + diff --git a/GUI/loader.tscn b/GUI/loader.tscn new file mode 100644 index 0000000..cee6ffc --- /dev/null +++ b/GUI/loader.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Scripts/loader.gd" type="Script" id=1] + +[node name="loader" type="Node"] +script = ExtResource( 1 ) + diff --git a/GUI/makenewgame.tscn b/GUI/makenewgame.tscn new file mode 100644 index 0000000..56ca33c --- /dev/null +++ b/GUI/makenewgame.tscn @@ -0,0 +1,127 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://Scripts/makenewgame.gd" type="Script" id=1] +[ext_resource path="res://Assets/audience/young.png" type="Texture" id=2] +[ext_resource path="res://Assets/audience/young_selected.png" type="Texture" id=3] +[ext_resource path="res://Assets/audience/everyone.png" type="Texture" id=4] +[ext_resource path="res://Assets/audience/everyong_selected.png" type="Texture" id=5] +[ext_resource path="res://Assets/audience/mature.png" type="Texture" id=6] +[ext_resource path="res://Assets/audience/mature_selected.png" type="Texture" id=7] + +[node name="makenewgame" type="VBoxContainer"] +anchor_left = 0.5 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = -164.0 +margin_right = 164.0 +script = ExtResource( 1 ) + +[node name="gamename" type="TextEdit" parent="."] +margin_right = 328.0 +margin_bottom = 46.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.4 +text = "Insert Game Name" + +[node name="gamesize" type="HBoxContainer" parent="."] +margin_top = 50.0 +margin_right = 328.0 +margin_bottom = 90.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.0 + +[node name="Small" type="Button" parent="gamesize"] +margin_right = 47.0 +margin_bottom = 40.0 +text = "Small" + +[node name="Medium" type="Button" parent="gamesize"] +margin_left = 51.0 +margin_right = 116.0 +margin_bottom = 40.0 +text = "Medium" + +[node name="Large" type="Button" parent="gamesize"] +margin_left = 120.0 +margin_right = 166.0 +margin_bottom = 40.0 +text = "Large" + +[node name="TripleA" type="Button" parent="gamesize"] +margin_left = 170.0 +margin_right = 209.0 +margin_bottom = 40.0 +text = "AAA" + +[node name="MMO" type="CheckButton" parent="gamesize"] +margin_left = 213.0 +margin_right = 328.0 +margin_bottom = 40.0 +text = "MMO" + +[node name="targetaudience" type="HBoxContainer" parent="."] +margin_top = 94.0 +margin_right = 328.0 +margin_bottom = 210.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Young" type="TextureButton" parent="targetaudience"] +margin_right = 64.0 +margin_bottom = 116.0 +toggle_mode = true +texture_normal = ExtResource( 2 ) +texture_pressed = ExtResource( 3 ) + +[node name="Everyone" type="TextureButton" parent="targetaudience"] +margin_left = 68.0 +margin_right = 132.0 +margin_bottom = 116.0 +toggle_mode = true +pressed = true +texture_normal = ExtResource( 4 ) +texture_pressed = ExtResource( 5 ) + +[node name="Mature" type="TextureButton" parent="targetaudience"] +margin_left = 136.0 +margin_right = 200.0 +margin_bottom = 116.0 +toggle_mode = true +texture_normal = ExtResource( 6 ) +texture_pressed = ExtResource( 7 ) + +[node name="platforms" type="HBoxContainer" parent="."] +margin_top = 214.0 +margin_right = 328.0 +margin_bottom = 330.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="genres" type="HBoxContainer" parent="."] +margin_top = 334.0 +margin_right = 328.0 +margin_bottom = 450.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="themes" type="HBoxContainer" parent="."] +margin_top = 454.0 +margin_right = 328.0 +margin_bottom = 454.0 + +[node name="engine" type="MenuButton" parent="."] +margin_top = 458.0 +margin_right = 328.0 +margin_bottom = 574.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Engine" + +[node name="confirm" type="Button" parent="."] +margin_top = 578.0 +margin_right = 328.0 +margin_bottom = 598.0 +text = "Start Project" + diff --git a/GUI/reviews.tscn b/GUI/reviews.tscn new file mode 100644 index 0000000..09c2d39 --- /dev/null +++ b/GUI/reviews.tscn @@ -0,0 +1,68 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/Theme/OGDT_theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/reviews.gd" type="Script" id=2] + +[node name="reviews" type="Control"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -359.5 +margin_top = -216.5 +margin_right = 359.5 +margin_bottom = 216.5 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) + +[node name="bg" type="ColorRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0.909804, 0.815686, 0.654902, 1 ) + +[node name="gname" type="Label" parent="."] +anchor_right = 1.0 +margin_bottom = 19.0 +align = 1 + +[node name="confirm" type="Button" parent="."] +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = -16.0 +margin_top = -25.0 +margin_right = 16.0 +text = "OK" + +[node name="Reviewquips" type="VBoxContainer" parent="."] +anchor_right = 1.0 +margin_bottom = 389.0 + +[node name="GamersMag" type="Label" parent="Reviewquips"] +margin_right = 719.0 +margin_bottom = 94.0 +size_flags_vertical = 7 +valign = 1 + +[node name="IGN" type="Label" parent="Reviewquips"] +margin_top = 98.0 +margin_right = 719.0 +margin_bottom = 192.0 +size_flags_vertical = 7 +valign = 1 + +[node name="Kotaco" type="Label" parent="Reviewquips"] +margin_top = 196.0 +margin_right = 719.0 +margin_bottom = 290.0 +size_flags_vertical = 7 +valign = 1 + +[node name="MetaCritic" type="Label" parent="Reviewquips"] +margin_top = 294.0 +margin_right = 719.0 +margin_bottom = 389.0 +size_flags_vertical = 7 +valign = 1 + diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..159e376 --- /dev/null +++ b/README.txt @@ -0,0 +1,7 @@ +### BRAIN STORMING +maybe add in cult followings that slowly push the game sales + +### NOTES +The Orange color is f09c10 +The Tan color is e8d0a7 +The Gamethemes or themes.json have the Themes modular, The Genres are always Action,Adventure,RPG,Simulation,Strategy,& Casual. The number indicates the base score for this combo. \ No newline at end of file diff --git a/Resources/platforms.json b/Resources/platforms.json new file mode 100644 index 0000000..a8543ea --- /dev/null +++ b/Resources/platforms.json @@ -0,0 +1,25 @@ +{ + "Commadare64":{ + "start":[1,1,1988], + "end":[3,1,1990], + "Targetaudience":"Everyone", + "MarketShare":44 + }, + "PersonalComputer":{ + "start":[1,1,1988], + "Targetaudience":"Everyone", + "MarketShare":50 + }, + "NES":{ + "start":[1,1,1988], + "end":[3,1,1992], + "Targetaudience":"Young", + "MarketShare":44 + }, + "SEGA MEGADRIVE":{ + "start":[1,1,1988], + "end":[1,1,1995], + "Targetaudience":"Everyone", + "MarketShare":44 + } +} \ No newline at end of file diff --git a/Resources/research.json b/Resources/research.json new file mode 100644 index 0000000..1362253 --- /dev/null +++ b/Resources/research.json @@ -0,0 +1,5 @@ +{ + "graphics":["TextGraphics","ColorTextGraphics","8bit_2DGraphics","EarlyPoly-3DGraphics"], + "special":["targetaudience","mediumgames","largegames","tripleA","MMO"], + "engine":["3D-Acceleration"], +} \ No newline at end of file diff --git a/Resources/themes.json b/Resources/themes.json new file mode 100644 index 0000000..7f93fd6 --- /dev/null +++ b/Resources/themes.json @@ -0,0 +1,29 @@ +{ + "Castle":{ + "Action":8, + "Adventure":9, + "RPG":9, + "Simulation":6, + "Strategy":9, + "Casual":6, + "targetaudience":"Everyone" + }, + "Western":{ + "Action":8, + "Adventure":9, + "RPG":8, + "Simulation":4, + "Strategy":5, + "Casual":9, + "targetaudience":"Everyone" + }, + "Space":{ + "Action":9, + "Adventure":9, + "RPG":5, + "Simulation":8, + "Strategy":9, + "Casual":8, + "targetaudience":"Everyone" + }, +} \ No newline at end of file diff --git a/Scripts/HUD.gd b/Scripts/HUD.gd new file mode 100644 index 0000000..5a00bf7 --- /dev/null +++ b/Scripts/HUD.gd @@ -0,0 +1,75 @@ +extends Control + +var week = 1 +enum MONTHS { + JAN,FEB,MAR, + APR,MAY,JUN, + JUL,AUG,SEP, + OCT,NOV,DEC +} +var month = 0 +var year = 1988 + +## Research + +## DATE +func interval():#Every invterval the game time changes + week = week+1 + if(week>4): + week = 1 + month += 1 + if(month>10): + month = 0 + year += 1 + $Date.text = str(MONTHS.keys()[month])+"/"+str(year)+"\nWeek:"+str(week) + + #Checkoff dev/phase time + for game in get_parent().games_in_developement: + if(get_parent().games_in_developement[game]["timer"]==0):#Time for a new phase + get_parent().games_in_developement[game]["timer"] = -1 + if(get_parent().games_in_developement[game]["Phase"]<3): + var phasegui = load("res://GUI/Phase.tscn").instance() + phasegui.get_node("adjust/Title").text = game + phasegui.phase = get_parent().games_in_developement[game]["Phase"] + add_child(phasegui) + else:#Final Phase + if($Gameindev/Hbox.has_node(game)): + $Gameindev/Hbox.get_node(game).ready_for_release() + else: + get_parent().games_in_developement[game]["timer"] -= 1 + +## Game in Dev bar +func add_game_dev(gamename):#Adds a new game to the developement cycle + var gametab = load("res://GUI/gametab.tscn").instance() + gametab.gamename = gamename + gametab.name = gamename + $Gameindev/Hbox.add_child(gametab,true) + +## BOTTOM BAR +#work +func work_pressed(idx):#something for the staff to do. + var sw = $bottonbar/Work.get_popup().get_item_text(idx) + match(sw): + "New Game": + if(!has_node("makenewgame")): + var makenewgame = load("res://GUI/makenewgame.tscn").instance() + add_child(makenewgame) + +#research +func research_pressed(idx):#Catch up on the latest fads, tech, and your reputation + var sw = $bottonbar/Research.get_popup().get_item_text(idx) + match(sw): + "Research": + if(!has_node("ResearchList")): + var reee = load("res://GUI/ResearchList.tscn").instance() + add_child(reee) + +## MAIN +func _ready(): + #connections + var connections = [ + $bottonbar/Work.get_popup().connect("id_pressed",self,"work_pressed"), + $bottonbar/Research.get_popup().connect("id_pressed",self,"research_pressed"), + $Date/Timer.connect("timeout",self,"interval") + ] + print_debug(connections) \ No newline at end of file diff --git a/Scripts/Main.gd b/Scripts/Main.gd new file mode 100644 index 0000000..3af9f5d --- /dev/null +++ b/Scripts/Main.gd @@ -0,0 +1,24 @@ +extends Control + +## MENU +func start_game(packscene): + get_tree().change_scene_to(packscene) + print_debug(get_tree().root.has_node("devstudio")) + +## MAIN +func _ready(): + #Newgame prep + var packscene = load("res://GUI/devstudio.tscn").instance() + + var t = $"/root/loader".load_json(ProjectSettings.get("Game/Resources/Themesmod")) + var rech = $"/root/loader".load_json(ProjectSettings.get("Game/Resources/Researchmod")) + packscene.to_research = rech + packscene.to_research["themes"] = t + + var packer = PackedScene.new() + packer.pack(packscene) + #Connections + var connections = [ + $newgame.connect("pressed",self,"start_game",[packer]) + ] + print_debug(connections) \ No newline at end of file diff --git a/Scripts/Phase.gd b/Scripts/Phase.gd new file mode 100644 index 0000000..c8c60e7 --- /dev/null +++ b/Scripts/Phase.gd @@ -0,0 +1,69 @@ +extends Control + +var phase = 0 + +## Bar Adjust +func barmoved(val,which): + print_debug(val,which) + #First calulate the total + var total = $adjust/redbar.value+$adjust/greenbar.value+$adjust/bluebar.value + #Second display it on the bars + $adjust/firsthalf.max_value = total + $adjust/lasthalf.max_value = total + $adjust/firsthalf.value = $adjust/redbar.value + $adjust/lasthalf.value = $adjust/redbar.value+$adjust/greenbar.value + +## Confirmation +func confirm(): + var gamename = $adjust/Title.text# I don't know why I did it this way... + get_parent().get_parent().games_in_developement[gamename]["timer"] = get_parent().get_parent().games_in_developement[gamename]["phasetime"] + var total = $adjust/redbar.value+$adjust/greenbar.value+$adjust/bluebar.value + var rpercent = round(($adjust/redbar.value/total)*100) + var gpercent = round(($adjust/greenbar.value/total)*100) + var bpercent = round(($adjust/bluebar.value/total)*100) + match(get_parent().get_parent().games_in_developement[gamename]["Phase"]): + 0: + get_parent().get_parent().games_in_developement[gamename]["Engine"] = rpercent + get_parent().get_parent().games_in_developement[gamename]["Gameplay"] = gpercent + get_parent().get_parent().games_in_developement[gamename]["Story"] = bpercent + 1: + get_parent().get_parent().games_in_developement[gamename]["Dialog"] = rpercent + get_parent().get_parent().games_in_developement[gamename]["Level Design"] = gpercent + get_parent().get_parent().games_in_developement[gamename]["AI"] = bpercent + 2: + get_parent().get_parent().games_in_developement[gamename]["World Building"] = rpercent + get_parent().get_parent().games_in_developement[gamename]["Graphics"] = gpercent + get_parent().get_parent().games_in_developement[gamename]["Sound"] = bpercent + get_parent().get_parent().games_in_developement[gamename]["Phase"] += 1 + queue_free() + +## MAIN +func _ready(): + $adjust/phasenum.text = "Developement Phase #"+str(phase+1) + var themes = "" + var genres = "" + for i in get_parent().get_parent().games_in_developement[$adjust/Title.text]["genres"]: + genres+=i + for i in get_parent().get_parent().games_in_developement[$adjust/Title.text]["themes"]: + themes+=i + $adjust/kindof.text = genres+"/"+themes + match(get_parent().get_parent().games_in_developement[$adjust/Title.text]["Phase"]): + 0: + $adjust/redbar/Label.text = "Engine" + $adjust/greenbar/Label.text = "Gameplay" + $adjust/bluebar/Label.text = "Story" + 1: + $adjust/redbar/Label.text = "Dialog" + $adjust/greenbar/Label.text = "Level Design" + $adjust/bluebar/Label.text = "AI" + 2: + $adjust/redbar/Label.text = "World Building" + $adjust/greenbar/Label.text = "Graphics" + $adjust/bluebar/Label.text = "Sound" + var connections = [ + $adjust/redbar.connect("value_changed",self,"barmoved",[$adjust/redbar]), + $adjust/greenbar.connect("value_changed",self,"barmoved",[$adjust/greenbar]), + $adjust/bluebar.connect("value_changed",self,"barmoved",[$adjust/bluebar]), + $confirm.connect("pressed",self,"confirm") + ] + print_debug(connections) \ No newline at end of file diff --git a/Scripts/ReleaseDetails.gd b/Scripts/ReleaseDetails.gd new file mode 100644 index 0000000..9a1493a --- /dev/null +++ b/Scripts/ReleaseDetails.gd @@ -0,0 +1,31 @@ +extends Control + +var gamename = "Game" + +## Release game +func release_game():#That's the game folks + get_parent().get_parent().games[gamename] = { + "id":get_parent().get_parent().games.size(), + "score":-1, #-1 means it isn't determined yet + "cost":1200, + "profit":0, + "startdate":get_parent().get_parent().games_in_developement[gamename]["devstart"], + "enddate":[get_parent().month,get_parent().week,get_parent().year], + "highestrank":9999 # How high did it reach in the charts. + } + + var reviews = load("res://GUI/reviews.tscn").instance() + reviews.data = get_parent().get_parent().games_in_developement[gamename] + reviews.gamename = gamename + get_parent().add_child(reviews) + + get_parent().get_parent().games_in_developement.erase(gamename) + queue_free() + +## MAIN +func _ready(): + $gamename.text = gamename + var connections = [ + $release.connect("pressed",self,"release_game") + ] + print_debug(connections) \ No newline at end of file diff --git a/Scripts/Research.gd b/Scripts/Research.gd new file mode 100644 index 0000000..0653f1e --- /dev/null +++ b/Scripts/Research.gd @@ -0,0 +1,8 @@ +extends ItemList + +## MAIN +func _ready(): + for re in get_parent().get_parent().to_research: + for i in get_parent().get_parent().to_research[re]: + add_item(i) + $close.connect("pressed",self,"queue_free") \ No newline at end of file diff --git a/Scripts/devstudio.gd b/Scripts/devstudio.gd new file mode 100644 index 0000000..061927f --- /dev/null +++ b/Scripts/devstudio.gd @@ -0,0 +1,83 @@ +extends Control + +var genreamount = 1 +var themeamount = 1 + +var games = { + #Example + #"Game 1":{ + #"id":0, + #"score":9, #10 is the highest + #"cost":1200, + #"profit":4600, + #"startdate":[3,1,88], #Game dev measured by weeks not days. + #"enddate":[5,4,88], # When the game was released + #"highestrank":5 # How high did it reach in the charts. + #} +} +var games_in_developement = { + #Example +# "Game 2":{ +# "devstart":[1,1,1988], +# "Phase":0,#0=start,1-3 = actual phases, 4 = debug phase/release prep +# "phasetime":2, +# "timer":3, +# "targetaudience":"Everyone", +# "platforms":["Commadare64"], +# "genres":["Action"], +# "themes":["Castle"], +# "engine":"Texty", +# "Engine":34, +# "Gameplay":33, +# "Story":33, +# "Dialog":34, +# "Level Design":33, +# "AI":33, +# "World Building":34, +# "Graphics":33, +# "Sound":33, +# "Engine_Flags":["TextGraphics"], +# "Game_Tags":[,,,,] +# } +} +var engines = { + "Texty":[] +} +var platforms = { + "Commadare64":{ + "start":[1,1,1988], + "end":[3,1,1990], + "Targetaudience":"Everyone", + "MarketShare":44 + }, + "PersonalComputer":{ + "start":[1,1,1988], + "Targetaudience":"Everyone", + "MarketShare":50 + }, + "NES":{ + "start":[1,1,1988], + "end":[3,1,1992], + "Targetaudience":"Young", + "MarketShare":44 + }, + "SEGA MEGADRIVE":{ + "start":[1,1,1988], + "end":[1,1,1995], + "Targetaudience":"Everyone", + "MarketShare":44 + } +} +## RESEARCH +var to_research = { + "themes":[], + "graphics":["EarlyPoly-3DGraphics"], + "special":[], + "engine":["3D-Acceleration"], +} +var researched = {#Already researched + "themes":["Castle","Western","Space"], + "graphics":["TextGraphics","ColorTextGraphics","8bit_2DGraphics"], + "special":["targetaudience","mediumgames","largegames","tripleA","MMO"], + "engine":[], +} \ No newline at end of file diff --git a/Scripts/gametab.gd b/Scripts/gametab.gd new file mode 100644 index 0000000..38c4db2 --- /dev/null +++ b/Scripts/gametab.gd @@ -0,0 +1,26 @@ +extends Control + +var gamename = "Gamename" +var bugs = 0 +var tech = 0 +var design = 0 + +## DONE +func ready_for_release(): + $Release.disabled = false + +func release_the_game(): +# var devstud = get_node("../../../..") +# devstud.games_in_developement[gamename] + var rel = load("res://GUI/ReleaseDetails.tscn").instance() + rel.gamename = gamename + get_parent().get_parent().get_parent().add_child(rel) + queue_free() + +## MAIN +func _ready(): + $Label.text = gamename + var connections = [ + $Release.connect("pressed",self,"release_the_game") + ] + print_debug(connections) diff --git a/Scripts/loader.gd b/Scripts/loader.gd new file mode 100644 index 0000000..9558655 --- /dev/null +++ b/Scripts/loader.gd @@ -0,0 +1,16 @@ +extends Node +# This loads stuff for other nodes, manages filesize, memory, and whatever needs to be externally handled + +## JSON +func load_json(file):#Simple Json loader + var f = File.new() + var dat = {} + if(f.file_exists(file)): + f.open(file,f.READ) + var jparse = JSON.parse(f.get_as_text()) + if(jparse.error == OK): + dat = jparse.result + else: + print_debug("ERROR: "+jparse.error_string+"at line "+str(jparse.error_line)) + f.close() + return dat \ No newline at end of file diff --git a/Scripts/makenewgame.gd b/Scripts/makenewgame.gd new file mode 100644 index 0000000..107539f --- /dev/null +++ b/Scripts/makenewgame.gd @@ -0,0 +1,125 @@ +extends VBoxContainer + +var gamesize = "Small" +var targetaudience = "Young" +var platforms = [] +var genres = [] +var themes = [] +var engine = "Texty" + +## SETTERS +func set_game_size(txt):#This effects how long the developement of the game is + gamesize = txt + +func set_target_audience(txt): + targetaudience = txt + +func set_engine(txt): + engine = txt + +## ADD/REMOVE +func add_platform(txt): + platforms.append(txt) + +func remove_platform(txt): + if(platforms.has(txt)): + platforms.remove(platforms.find(txt)) + +func add_genre(txt): + genres.append(txt) + +func remove_genre(txt): + if(genres.has(txt)): + genres.remove(genres.find(txt)) + +func add_theme(txt): + themes.append(txt) + +func remove_theme(txt): + if(themes.has(txt)): + themes.remove(themes.find(txt)) + +## POPUP MENUS +func add_menu_to(where,items,amount = 1):#Adds a MenuButton to a Hbox + for a in amount: + var butmenu = MenuButton.new() + butmenu.text = where.name + if(amount!=1): + butmenu.text +="# "+str(amount) + for i in items: + butmenu.get_popup().add_item(i) + butmenu.get_popup().connect("id_pressed",self,"popup_menu_change",[butmenu]) + where.add_child(butmenu,true) + +func popup_menu_change(idx,what):#An item changed on a popup menu + what.text = what.get_popup().get_item_text(idx) + var which = what.get_parent().name + match(which): + "makenewgame":#I'm going to assume engine as it is the only MenuButton outside a hbox + set_engine(what.text) + "platforms": + add_platform(what.text) + "genres": + add_genre(what.text) + "themes": + add_theme(what.text) + +## Game Make +func register_game():#Sends the idea off to the studio for developement + var phasetime = 0 + match(gamesize): + "Small": + phasetime+= 3 + "Medium": + phasetime+= 7 + "Large": + phasetime+= 15 + "AAA": + phasetime+= 20 + if($gamesize/MMO.pressed == true): + phasetime += phasetime/2 + get_parent().get_parent().games_in_developement[$gamename.text] = { + "devstart":[get_parent().month,get_parent().week,get_parent().year], + "Phase":0,#0=start,1-3 = actual phases, 4 = debug phase/release prep + "phasetime":phasetime, + "timer":2, + "targetaudience":targetaudience, + "platforms":platforms, + "genres":genres, + "themes":themes, + "engine":engine, + "Engine":34, + "Gameplay":33, + "Story":33, + "Dialog":34, + "Level Design":33, + "AI":33, + "World Building":34, + "Graphics":33, + "Sound":33, + "Engine_Flags":["ColorTextGraphics"], + "Game_Tags":[gamesize,targetaudience,platforms,genres,themes,engine] + } + get_parent().add_game_dev($gamename.text) + queue_free() + +## MAIN +func _ready(): + var t = $"/root/loader".load_json(ProjectSettings.get("Game/Resources/Themesmod")) + add_menu_to($themes,t,get_parent().get_parent().themeamount) + add_menu_to($genres,["Action","Adventure","RPG","Simulation","Strategy"," Casual"],get_parent().get_parent().genreamount) + add_menu_to($platforms,get_parent().get_parent().platforms,get_parent().get_parent().platforms.size()/2) + + for i in get_parent().get_parent().engines: + $engine.get_popup().add_item(i) + + $gamename.text = "Game #"+str(get_parent().get_parent().games.size()+get_parent().get_parent().games_in_developement.size()+1) + var connections = [ + $confirm.connect("pressed",self,"register_game"), + $gamesize/Small.connect("pressed",self,"set_game_size",["Small"]), + $gamesize/Medium.connect("pressed",self,"set_game_size",["Medium"]), + $gamesize/Large.connect("pressed",self,"set_game_size",["Large"]), + $gamesize/TripleA.connect("pressed",self,"set_game_size",["AAA"]), + $engine.get_popup().connect("id_pressed",self,"popup_menu_change",[$engine]) + ] + print_debug(connections) \ No newline at end of file diff --git a/Scripts/reviews.gd b/Scripts/reviews.gd new file mode 100644 index 0000000..22fc1d8 --- /dev/null +++ b/Scripts/reviews.gd @@ -0,0 +1,184 @@ +extends Control + +var gamename = "" +var review_tolerance = 7 #What's the lowest percent off that reviewers are willing to overlook + +var data = { + "devstart":[1,1,1988], + "Phase":0,#0=start,1-3 = actual phases, 4 = debug phase/release prep + "phasetime":2, + "timer":3, + "targetaudience":"Everyone", + "platforms":["Commadare64"], + "genres":["Action"], + "themes":["Castle"], + "engine":"Texty", + "Engine":34, + "Gameplay":33, + "Story":33, + "Dialog":34, + "Level Design":33, + "AI":33, + "World Building":34, + "Graphics":33, + "Sound":33, + "Engine_Flags":["TextGraphics"], + "Game_Tags":["openworld"] +} + +var genre_tally = {#To compare phase dev time + "Action":{ + "Engine":41, + "Gameplay":54, + "Story":5, + "Dialog":5, + "Level Design":51, + "AI":41, + "World Building":5, + "Graphics":54, + "Sound":41}, + "Adventure":{ + "Engine":5, + "Gameplay":31, + "Story":64, + "Dialog":48, + "Level Design":48, + "AI":4, + "World Building":64, + "Graphics":31, + "Sound":5}, + "RPG":{ + "Engine":14, + "Gameplay":29, + "Story":57, + "Dialog":45, + "Level Design":45, + "AI":10, + "World Building":57, + "Graphics":29, + "Sound":14}, + "Simulation":{ + "Engine":63, + "Gameplay":31, + "Story":6, + "Dialog":5, + "Level Design":63, + "AI":31, + "World Building":31, + "Graphics":38, + "Sound":31}, + "Strategy":{ + "Engine":41, + "Gameplay":54, + "Story":5, + "Dialog":9, + "Level Design":30, + "AI":61, + "World Building":33, + "Graphics":33, + "Sound":34}, + "Casual":{ + "Engine":9, + "Gameplay":83, + "Story":8, + "Dialog":8, + "Level Design":83, + "AI":9, + "World Building":4, + "Graphics":48, + "Sound":48}, +} + +var scores = [5,5,5,5] +var final_score = 5 + +## Calculate +func calc_score():#calculation the scores + var i = 0 + var themres = $"/root/loader".load_json(ProjectSettings.get("Game/Resources/Themesmod")) + var platres = $"/root/loader".load_json(ProjectSettings.get("Game/Resources/Platformsmod")) + while(i7): + possible_comments.append(genre+"/"+them+" Is good combo") + elif(scorecalc>4): + possible_comments.append(genre+"/"+them+" Is a nishe") + else: + possible_comments.append(genre+"/"+them+" Is a bad combo") + possible_comments.append(genre+"/"+them+" Is a terrible combo") + else: + if(scorecalc>themres[them][genre]): + scorecalc+=1 + possible_comments.append(genre+"/"+them+" Is good combo") + possible_comments.append(genre+"/"+them+" Is a fun combo") + else: + scorecalc-=1 + possible_comments.append(genre+"/"+them+" Isn't really a good combo") + #& is it a good targetaudience/theme match + if(themres[them]["targetaudience"]==data["targetaudience"]): + scorecalc+=1 + possible_comments.append("The "+data["targetaudience"]+" crowd will enjoy the "+them+" theme.") + possible_comments.append("The theme should not be rated for "+data["targetaudience"]+" audience.") + possible_comments.append(them+" doesn't work with targeted audience.") + else: + scorecalc-=1 + #is it a good targetaudience/platform match + for plat in data["platforms"]: + if(platres[plat]["Targetaudience"]==data["targetaudience"]): + scorecalc+=1 + possible_comments.append(plat+" has just right audience") + possible_comments.append(data["targetaudience"]+" Works for the platform.") + else: + scorecalc-=1 + possible_comments.append("What do they think the "+plat+" audience is?") + possible_comments.append("I don't see how the platform works with "+data["targetaudience"]) + #Does the phases match the genre? + var genre_collab = genre_tally[data["genres"][0]] #Combines the values of the data genres so it compares the whole, instead off-balancing one, and condemning the rest. + for genre in data["genres"]: + if(genre != data["genres"][0]):#We've already added the first genre to the genre_collab + for devtime in genre_tally[genre]: + genre_collab[devtime]+=genre_tally[genre][devtime] + for devsection in genre_collab:#Now to actually Compare the phases to the (multi-)genre + var compare = genre_collab[devsection]/data["genres"].size() + print_debug(abs(data[devsection]-compare)) + if(abs(data[devsection]-compare)