A team game with an emphasis on movement (with no shooting), inspired by Overwatch and Zineth
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

208 lines
4.4 KiB

[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
[WIP] Split up lobby -> menu, lobby, custom_game lobby.gd had gotten big, bloated, ugly, and hard to read. It needed a refactor. The first thing I did is split up the *GUI* into the logical steps it should be. So the new flow is: - Start the game - Click "Quick Play" - Matchmaking begins on my dedicated server - Start the game - Click "Custom Game" - *Only now* am I presented with server / client options - Start the game - Click "Singleplayer" - Singleplayer NOW, and only now, and NO MATTER WHAT PATH I TAKE, I am taken to the *lobby*, which now is where I: - Choose my name - Choose hero - See list of players - Get my team assigned - Anything else that I might like to put in The point here is that this has *nothing* to do with handshaking / matchmaking / etc! This is just part of the game! At this point I have *already been connected* to the server. I've already been aquainted with my other players. The game has begun. I put the things that don't belong in any of these flows in networking.gd, a sort of model-view sorta thing. All of these flows use some sort of networking thing like `init_server` that tbh should be *completely* abstracted from the UI. It's totally a WIP!!! Above is the IDEA, but below is what I've actually *done*: - Made the scenes, made a passable UI for each one that at least indicates ~what they'll do - Made the corresponding scripts, and split up the lobby script into ABOUT where I think it'll end up, but no promises It still errors all over the place, and it's nowhere near properly organized. PLUS, I'd also like to rewrite a lot of the code / rename things as part of the initial refactor goal of making me able to actually think about networking.
7 years ago
  1. [gd_scene load_steps=5 format=2]
  2. [ext_resource path="res://assets/theme.tres" type="Theme" id=1]
  3. [ext_resource path="res://scripts/custom_game.gd" type="Script" id=2]
  4. [ext_resource path="res://assets/DejaVuSansMono.ttf" type="DynamicFontData" id=3]
  5. [sub_resource type="DynamicFont" id=1]
  6. size = 30
  7. use_mipmaps = false
  8. use_filter = false
  9. font_data = ExtResource( 3 )
  10. [node name="CustomGame" type="Control"]
  11. anchor_left = 0.0
  12. anchor_top = 0.0
  13. anchor_right = 0.0
  14. anchor_bottom = 0.0
  15. margin_right = 40.0
  16. margin_bottom = 40.0
  17. rect_pivot_offset = Vector2( 0, 0 )
  18. mouse_filter = 0
  19. mouse_default_cursor_shape = 0
  20. size_flags_horizontal = 1
  21. size_flags_vertical = 1
  22. theme = ExtResource( 1 )
  23. script = ExtResource( 2 )
  24. [node name="VSeparator" type="VSeparator" parent="." index="0"]
  25. anchor_left = 0.0
  26. anchor_top = 0.0
  27. anchor_right = 0.0
  28. anchor_bottom = 0.0
  29. margin_left = 498.0
  30. margin_top = 140.0
  31. margin_right = 518.0
  32. margin_bottom = 563.0
  33. rect_pivot_offset = Vector2( 0, 0 )
  34. mouse_filter = 0
  35. mouse_default_cursor_shape = 0
  36. size_flags_horizontal = 1
  37. size_flags_vertical = 1
  38. [node name="Label" type="Label" parent="." index="1"]
  39. anchor_left = 0.0
  40. anchor_top = 0.0
  41. anchor_right = 0.0
  42. anchor_bottom = 0.0
  43. margin_left = 54.0
  44. margin_top = 66.0
  45. margin_right = 395.0
  46. margin_bottom = 102.0
  47. rect_pivot_offset = Vector2( 0, 0 )
  48. mouse_filter = 2
  49. mouse_default_cursor_shape = 0
  50. size_flags_horizontal = 1
  51. size_flags_vertical = 4
  52. custom_fonts/font = SubResource( 1 )
  53. text = "Custom Game"
  54. percent_visible = 1.0
  55. lines_skipped = 0
  56. max_lines_visible = -1
  57. [node name="Server" type="Button" parent="." index="2"]
  58. anchor_left = 0.0
  59. anchor_top = 0.0
  60. anchor_right = 0.0
  61. anchor_bottom = 0.0
  62. margin_left = 73.0
  63. margin_top = 195.0
  64. margin_right = 366.0
  65. margin_bottom = 252.0
  66. rect_pivot_offset = Vector2( 0, 0 )
  67. focus_mode = 2
  68. mouse_filter = 0
  69. mouse_default_cursor_shape = 0
  70. size_flags_horizontal = 1
  71. size_flags_vertical = 1
  72. toggle_mode = false
  73. enabled_focus_mode = 2
  74. shortcut = null
  75. group = null
  76. text = "Host Game"
  77. flat = false
  78. align = 1
  79. [node name="Client" type="Button" parent="." index="3"]
  80. anchor_left = 0.0
  81. anchor_top = 0.0
  82. anchor_right = 0.0
  83. anchor_bottom = 0.0
  84. margin_left = 588.0
  85. margin_top = 258.0
  86. margin_right = 890.0
  87. margin_bottom = 315.0
  88. rect_pivot_offset = Vector2( 0, 0 )
  89. focus_mode = 2
  90. mouse_filter = 0
  91. mouse_default_cursor_shape = 0
  92. size_flags_horizontal = 1
  93. size_flags_vertical = 1
  94. toggle_mode = false
  95. enabled_focus_mode = 2
  96. shortcut = null
  97. group = null
  98. text = "Join Game"
  99. flat = false
  100. align = 1
  101. [node name="IPLabel" type="Label" parent="." index="4"]
  102. anchor_left = 0.0
  103. anchor_top = 0.0
  104. anchor_right = 0.0
  105. anchor_bottom = 0.0
  106. margin_left = 592.0
  107. margin_top = 205.0
  108. margin_right = 625.0
  109. margin_bottom = 227.0
  110. rect_pivot_offset = Vector2( 0, 0 )
  111. mouse_filter = 2
  112. mouse_default_cursor_shape = 0
  113. size_flags_horizontal = 1
  114. size_flags_vertical = 4
  115. text = "IP:"
  116. percent_visible = 1.0
  117. lines_skipped = 0
  118. max_lines_visible = -1
  119. [node name="IP" type="TextEdit" parent="." index="5"]
  120. anchor_left = 0.0
  121. anchor_top = 0.0
  122. anchor_right = 0.0
  123. anchor_bottom = 0.0
  124. margin_left = 632.0
  125. margin_top = 203.0
  126. margin_right = 891.0
  127. margin_bottom = 232.0
  128. rect_pivot_offset = Vector2( 0, 0 )
  129. focus_mode = 2
  130. mouse_filter = 0
  131. mouse_default_cursor_shape = 0
  132. size_flags_horizontal = 1
  133. size_flags_vertical = 1
  134. text = "127.0.0.1"
  135. readonly = false
  136. highlight_current_line = false
  137. syntax_highlighting = false
  138. show_line_numbers = false
  139. highlight_all_occurrences = false
  140. override_selected_font_color = false
  141. context_menu_enabled = true
  142. smooth_scrolling = false
  143. v_scroll_speed = 80.0
  144. hiding_enabled = 0
  145. wrap_lines = false
  146. caret_block_mode = false
  147. caret_blink = false
  148. caret_blink_speed = 0.65
  149. caret_moving_by_right_click = true
  150. [node name="Label2" type="Label" parent="." index="6"]
  151. anchor_left = 0.0
  152. anchor_top = 0.0
  153. anchor_right = 0.0
  154. anchor_bottom = 0.0
  155. margin_left = 72.0
  156. margin_top = 145.0
  157. margin_right = 171.0
  158. margin_bottom = 167.0
  159. rect_pivot_offset = Vector2( 0, 0 )
  160. mouse_filter = 2
  161. mouse_default_cursor_shape = 0
  162. size_flags_horizontal = 1
  163. size_flags_vertical = 4
  164. text = "Host game"
  165. percent_visible = 1.0
  166. lines_skipped = 0
  167. max_lines_visible = -1
  168. [node name="Label3" type="Label" parent="." index="7"]
  169. anchor_left = 0.0
  170. anchor_top = 0.0
  171. anchor_right = 0.0
  172. anchor_bottom = 0.0
  173. margin_left = 577.0
  174. margin_top = 147.0
  175. margin_right = 617.0
  176. margin_bottom = 169.0
  177. rect_pivot_offset = Vector2( 0, 0 )
  178. mouse_filter = 2
  179. mouse_default_cursor_shape = 0
  180. size_flags_horizontal = 1
  181. size_flags_vertical = 4
  182. text = "Join Game"
  183. percent_visible = 1.0
  184. lines_skipped = 0
  185. max_lines_visible = -1