Author Topic:  2.6 - PC Initial  (Read 27677 times)

0 Members and 2 Guests are viewing this topic.

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
2.6 - PC Initial
« on: September 06, 2016, 05:54:41 PM »
Below is a full breakdown of the work remaining before we can release to PC Steam Early Access.
This list is not yet complete. I will continue to add to it over the next week or so and then post once it is considered a complete list.

Bugs to Fix - These bugs must be fixed before release.
Count: 24 [fixed 42] [new 32]

Low Priority Bugs - These bugs can be fixed after release.
Count: 36 [new 12]

Networking:
Build P2P networking solution using Steam networking.

NPCs:
Finalize default NPC dialog.
Finalize default behaviour for free spawning NPCs (passive and aggressive).
Fix NPC free spawning logic.

Mouse/Keyboard/Gamepad support:
Finish key textures.
Ensure gamepad can be used to fully control new GUI screens.
Add virtual keyboard for gamepad users.

File Handling:
Convert from XNA to PC.

Graphics Device:
Ensure lost graphics device is properly handled.

Scalability and RAM:
Deal with scalability issues.
Perform a full RAM profile.

Steam/Game Cards:

Mod Support:
Continue expanding the TM Modding API. This work is not critical to release.
You can browse my test mod projects here: https://github.com/cmartin99/TotalMinerMods
« Last Edit: January 23, 2017, 10:33:40 PM by Craig »

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #1 on: September 09, 2016, 12:40:19 AM »
Because XNA only supports 32bit, some have asked why not just port to MonoGame straight away (MonoGame supports 64bit).

For those that don't know, the primary benefit of 64bit is the RAM address space. While the game is running on a 32bit process, it can only get about 1GB of RAM from Windows, and due to how XNA virtualizes GPU objects on the PC (a copy is kept both in GPU RAM and System RAM), it's not much more RAM than we have on the Xbox 360 (the 360 only needs one copy of GPU objects).

However in 64bit mode, address space is practically unlimited and so the game should be able to get all the RAM it reasonably needs (several GB).

Back to the original question. I tried porting to MonoGame about a year ago, and after a days work, it became clear that it is not simply a straight forward process of recompiling the game using MonoGame assemblies instead of XNA assemblies (DLLs). MonoGame does not support a lot of little details that XNA does, and even the ones it does support, the implementation is completely different and so many little bugs and graphics glitches manifested under MonoGame that are not there with XNA. So it will take some time to work through all the little bugs/glitches and make work arounds for XNA features that MonoGame does not directly support.

TL;DR Porting to MonoGame is not straight forward. It will probably take several weeks of work. And because I'm still unfamiliar with it, I'd rather get the PC port working under XNA first, then look to MonoGame once the PC version is released and stable.
« Last Edit: September 09, 2016, 12:42:57 AM by Craig »

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #2 on: September 12, 2016, 06:22:40 PM »
And the PC port proper begins..

Legend: yellow = item complete


Task #1 - Replace XNA / Xbox networking.
Remove all references to Microsoft.Xna.Framework.GamerServices
Remove all references to Microsoft.Xna.Framework.Net
Create minimum replacement types (15) for Microsoft.Xna.Framework.GamerServices - bare bones - mostly stubs
Create minimum replacement types (21) for Microsoft.Xna.Framework.Net types - bare bones - mostly stubs
Be able to compile and run the game with replacement types (no references to Microsoft.Xna.Framework.GamerServices)
Be able to compile and run the game without XNA Game Studio installed on computer.
Be able to start a new local world with replacement types (no references to Microsoft.Xna.Framework.Net)
Be able to load an existing world with replacement types.

Complete all replacement type functionality required for the correct execution of a local game.
Be able to start a networked world with replacement types.
Complete all replacement type functionality required for the correct execution of a networked game.

Task #2 - Keyboard, Mouse, Gamepad support.
General support for keyboard, mouse and gamepad.
Support for custom bindings.
Save custom bindings.

Cleanup all input.

Task #3 - Multiple Resolution support.
General support for multiple resolutions.
Save settings and use on restart.

Cleanup all screen element positioning / scaling.

Task #4 - Replace XNA Xbox file handling with standard windows .Net file handling.

Task #5 - Multi-line text input support.
Script editing
Signs
Books
NPC speech
« Last Edit: November 28, 2016, 05:18:19 PM by Craig »

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #3 on: September 24, 2016, 03:04:59 AM »
The last couple of days I've been merging the NPC behaviours code seen here, here, here, here and here into the main code branch. It's proven to be a tough job because the original code seen in those videos was developed on version that is very different to the current version plus it had a whole lot of no longer relevant PC code. The merge has taken almost 20 hours so far, and probably still another 4-8 or so remaining to complete everything.

This change merges NPC's and Mobs, so they are now one and the same. You control their AI using a custom built Behaviour Tree visual (graphical) editor. Control their actions / movements / behaviour, multi-level dialog and much more by assembling a graphical tree of pre built logic nodes or blocks. See here for docs.

I'll also be looking into using the same behaviour tree editor as an option for visually creating / writing / assembling scripts.

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #4 on: September 25, 2016, 11:20:03 PM »
Over the next few weeks I'll likely post some images of the user interface I'm working on. See end of this post.

So any of these images I post, by default assume they are work in progress, place holder graphics / colors, not final layouts etc, and will likely change before release.

Feedback is welcome, that's part of the reason for me to share the images.

I will be trying to take the best parts of the Destiny user interface and suit it for TM, give it our own flavour. They main reason is the interface works well on PC's, Consoles and Tablets, all platforms really, so it means I won't have to completely rewrite the interface if the game does get on to platforms other than PC.

Sample:


A GIF: https://gyazo.com/7f7a4825bd9deec81ed1ef4dab657133

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #5 on: September 29, 2016, 05:52:14 AM »
The last couple of days I've been merging the NPC behaviours code seen...
Mostly done, just some fixing up to do now. And improve the UI.

« Last Edit: October 28, 2016, 07:18:19 PM by Craig »

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #6 on: October 03, 2016, 03:50:31 AM »
This weeks goal is to get some kind of basic Peer to Peer networking up and running.

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #7 on: October 27, 2016, 05:21:49 AM »
I've put networking aside for the moment.

Mouse / Keyboard support with custom bindings mostly completed.

Support for multiple resolutions is next.

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #8 on: October 27, 2016, 05:27:34 AM »
In an effort to minimize the time for transitioning to PC, particularly for the community faithful, we are considering the following:

Perform the absolute minimum work required to get the game playable on PC. So no new features (apart from what is listed above). Just the essentials.

Put the game into steam early access.

Once in early access, spend the next 6-9 months ironing out most of the glitches, polishing what we already have, and adding the features we feel are essential for a full game release, such as animated avatars.

Then release the game proper and continue with new features.

« Last Edit: October 27, 2016, 06:23:44 AM by Craig »

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #9 on: October 27, 2016, 08:09:06 PM »
Multi res support added:




Input Bindings:


Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #10 on: November 18, 2016, 04:58:30 AM »
Now have support for multiple custom input profiles.


Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #11 on: November 26, 2016, 02:32:11 AM »
New shop/inventory UI coming along quite nicely




Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #12 on: November 29, 2016, 12:43:34 AM »

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #13 on: November 29, 2016, 12:52:43 AM »

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
Re: 2.6 - PC Initial
« Reply #14 on: December 05, 2016, 06:41:59 PM »
AlienizdPixel just made the first ever TM supported mod.