Author Topic: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line  (Read 143536 times)

Offline jballou

  • Newbie
  • *
  • Posts: 6
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #125 on: April 21, 2019, 11:18:32 AM »
First off, thanks for the detailed response, it's gotta be a wall of text since I put up a wall myself.

I actually realized after I posted it that there was a whole subforum here and a lot of this has already been covered. So I'll just go over the remaining points.

For the master reports, a little context for the user on how to open the interface would be helpful. Even if it's a temporary dialog with buttons to connect all the UI pieces, it wouldn't be that much worse than the original. Heck, you wouldn't even make players wait 5 seconds for a smarmy AI WAV file to play before displaying the menu, so you're already ahead of the game :D

I'd be glad to work on some UI connectors to allow localizing out some text and events, that would let you make the code part and people like me could make smaller scripts with the help text and triggers that make them appear. It's not a trivial ask, but I've done something similar in other games and it did end up saving time and being easier to have a simple event thrower/listener than hardcoding the tutorial stuff directly into the game.

For the factory alert, and other stuff, something like an "events scroller" at the bottom would be good. Any event, be it "time travel", "bold new discovery", "factory can't deliver goods" or "no more air" could all show up in a feed. Players click the event to get deeper context and information, and maybe color code and/or flash critical events that need immediate attention. Something that always bugged me about Outpost was that things would happen, from the seed factory imploding to the rebels surrender, and I'd have no idea it happened until I clicked News Briefs. Bringing that to the foreground will go a long way here.

For the materials breakdown, I can see an entire "resource view", that has minerals, metals, air, etc. all on the list. Each has an In/Out column, to show the balance. Clicking any resource shows what buildings are creating, and consuming, these resources. You can get fancy like click an element to move to it on the map, or prioritize/enable/disable buildings that consume resources, but to start with just a list of the things and the balances would solve a lot of problems.

I can mock up a couple of these for you, what's your preferred format?

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #126 on: April 21, 2019, 04:19:53 PM »
First off, thanks for the detailed response, it's gotta be a wall of text since I put up a wall myself.

I actually realized after I posted it that there was a whole subforum here and a lot of this has already been covered. So I'll just go over the remaining points.

For the master reports, a little context for the user on how to open the interface would be helpful. Even if it's a temporary dialog with buttons to connect all the UI pieces, it wouldn't be that much worse than the original. Heck, you wouldn't even make players wait 5 seconds for a smarmy AI WAV file to play before displaying the menu, so you're already ahead of the game :D

By master reports, do you mean the full-screen reports UI that was recently developed?


At the moment this can be accessed by double-clicking on a Factory (surface or underground) or a Warehouse. This can also be accessed by pressing F1 though I'd like to reassign this key to something more intuitive in the future.

If this isn't what you mean, I'd like to hear more.

I'd be glad to work on some UI connectors to allow localizing out some text and events, that would let you make the code part and people like me could make smaller scripts with the help text and triggers that make them appear. It's not a trivial ask, but I've done something similar in other games and it did end up saving time and being easier to have a simple event thrower/listener than hardcoding the tutorial stuff directly into the game.

I'm not opposed to this but developing a scriptable GUI would take considerable resources. I wanted to keep things as straight forward as I could in the code -- it's why structures are hard-coded instead of being in some external definition file like an XML, etc. It's also why the UI is hard-coded. Developing a scripting system for this does mean that the UI can be developed without having to recompile the code but it adds additional overhead that I'm not convinced is a good idea, it potentially limits how tightly it can integrate with the core code (there's some really weird stuff I do in there, not as bad as working with wxWidgets but hard-coding the UI does overcome some inter-class comm issues that would be difficult to do with scripting). It also eliminates a lot of the loading times you'd get by having to load up external script files, check them and 'compile' them. Ultmiately it really just kind of shifts the location of the problem without actually solving it.

That stated, I do intend to have a lot of the text moved outside of the code -- currently it's all in a series of constants that are defined in <Constants/Strings.h>. This works but it's hardly ideal for being able to quickly change the text as needed. The plan is to build an XML file with key/value paired string constants that the code can reference with something like StringConstants[nameKey];. Quick, easy and provides and safe. There are a few cases where I use c-like string formatting specifiers (ala printf) that would make assumptions about the nature of the format specifiers... so I'll have to think about how to do this well should the string be changed.

For the factory alert, and other stuff, something like an "events scroller" at the bottom would be good. Any event, be it "time travel", "bold new discovery", "factory can't deliver goods" or "no more air" could all show up in a feed. Players click the event to get deeper context and information, and maybe color code and/or flash critical events that need immediate attention. Something that always bugged me about Outpost was that things would happen, from the seed factory imploding to the rebels surrender, and I'd have no idea it happened until I clicked News Briefs. Bringing that to the foreground will go a long way here.

This is precisely what I had in mind. Similar in style to how Endless Space does it with the notifications building up along the left edge of the screen. When you click on them you get more details, right-click to dismiss.

For the materials breakdown, I can see an entire "resource view", that has minerals, metals, air, etc. all on the list. Each has an In/Out column, to show the balance. Clicking any resource shows what buildings are creating, and consuming, these resources. You can get fancy like click an element to move to it on the map, or prioritize/enable/disable buildings that consume resources, but to start with just a list of the things and the balances would solve a lot of problems.

I can mock up a couple of these for you, what's your preferred format?

Please do!

I don't have a particular preference in format. I would recommend posting in the User Interface subforum. Another forum user (havkyp I think?) suggested using a program called Pencil -- I still use it and it's pretty effective at quickly developing UI mockups. It's not perfect but it's free and does its job. I mention it in this post.
« Last Edit: April 21, 2019, 04:55:12 PM by leeor_net »

Offline jballou

  • Newbie
  • *
  • Posts: 6
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #127 on: April 21, 2019, 07:03:12 PM »
Yep, I found the interface, but the double-click invocation wasn't clear to me at first. Another wiki/tooltip issue probably.

About the event/scripting interface, having not looked at your code, your reasoning seems pretty good. So, that aside, maybe I could come up with a list of tips, and things that trigger them? I think the initial set of triggers for tips would be a building created/destroyed, turn numbers, mines going dry, and robots dying. That covers a lot of ground, and seems like a reasonable amount of work to parcel out (again, making some big assumptions from my side here).

I'll take a peek at Pencil tomorrow, and pop a couple ideas into the UI subforum, and we can discuss them further in there.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #128 on: April 21, 2019, 07:08:19 PM »
About the event/scripting interface, having not looked at your code, your reasoning seems pretty good. So, that aside, maybe I could come up with a list of tips, and things that trigger them? I think the initial set of triggers for tips would be a building created/destroyed, turn numbers, mines going dry, and robots dying. That covers a lot of ground, and seems like a reasonable amount of work to parcel out (again, making some big assumptions from my side here).

Makes sense to me. :D Should be very do-able in-game. It's a matter of setting a flag to 'show first-time tips' and as you said just have them trigger as the player uses the game.

Looking forward to seeing what you come up with!

Offline ekztal

  • Newbie
  • *
  • Posts: 3
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #129 on: August 30, 2019, 03:54:19 AM »
Hello!

I have Visual Studio 2019 installed, along with vcpkg, GLEW, & PhysFS
I cloned git repo for this, then downloaded and extracted the extra data.zip and api.zip files. I added their path as additional include directories

When I try to Build the project I get the following output

Code: [Select]
1>------ Build started: Project: OPHD, Configuration: Debug Win32 ------
1>GraphWalker.cpp
1>main.cpp
1>TileMap.cpp
1>Population.cpp
1>ProductPool.cpp
1>GameState.cpp
1>MapViewState.cpp
1>MainMenuState.cpp
1>MapViewStateDraw.cpp
1>C:\Users\Tom\source\repos\OPHD\src\main.cpp(7,10): error C1083:  Cannot open include file: 'NAS2D/Mixer/NullMixer.h': No such file or directory
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\GraphWalker.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\GraphWalker.cpp)
1>MapViewStateEvent.cpp
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\GraphWalker.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\ProductPool.cpp(134,20): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\Map\TileMap.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\Map\TileMap.cpp)
1>MapViewStateHelper.cpp
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\Map\TileMap.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MainMenuState.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MainMenuState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MainMenuState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Population\Population.cpp(31,16): error C2039:  'clamp': is not a member of 'NAS2D'
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D'
1>MapViewStateIO.cpp
1>C:\Users\Tom\source\repos\OPHD\src\Population\Population.cpp(31,21): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\GameState.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\GameState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\GameState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MapViewState.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MapViewState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MapViewState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.cpp(256,18): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.cpp(257,6): error C3861:  'clamp': identifier not found
1>MapViewStateTurn.cpp
1>MapViewStateUi.cpp
1>PlanetSelectState.cpp
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.cpp(353,18): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(337,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(343,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(349,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(355,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(542,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(547,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(552,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(557,9): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(685,10): error C3861:  'clamp': identifier not found
1>SplashState.cpp
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewState.cpp(686,10): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateDraw.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateDraw.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MapViewStateDraw.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateEvent.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateEvent.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MapViewStateEvent.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateTurn.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateTurn.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MapViewStateTurn.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewStateDraw.cpp(183,57): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewStateDraw.cpp(183,190): error C2661:  'NAS2D::Renderer::drawSubImage': no overloaded function takes 6 arguments
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateHelper.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateHelper.cpp)
1>CheckBox.cpp
1>Slider.cpp
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MapViewStateHelper.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateIO.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateIO.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MapViewStateIO.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateUi.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\MapViewStateUi.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\MapViewStateUi.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\States\MapViewStateTurn.cpp(158,19): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,53): error C2039:  'clamp': is not a member of 'NAS2D' (compiling source file ..\..\src\States\PlanetSelectState.cpp)
1>F:\Outpost 1\includes\NAS2D\include\NAS2D\Resources\Sprite.h(19): message :  see declaration of 'NAS2D' (compiling source file ..\..\src\States\PlanetSelectState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\Map\TileMap.h(62,28): error C3861:  'clamp': identifier not found (compiling source file ..\..\src\States\PlanetSelectState.cpp)
1>C:\Users\Tom\source\repos\OPHD\src\states\SplashState.cpp(130,18): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\UI\Core\CheckBox.cpp(106,17): error C3861:  'clamp': identifier not found
1>C:\Users\Tom\source\repos\OPHD\src\UI\Core\Slider.cpp(170,14): error C3861:  'clamp': identifier not found
1>Done building project "ophd.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I'm sure I'd doing something wrong, if you know what it is, that would be fantastic.
« Last Edit: August 30, 2019, 03:58:26 AM by ekztal »

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1013
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #130 on: August 30, 2019, 07:04:27 PM »
Hello ekztal,

Welcome to the forums!

I briefly looked at the build output youposted. My first guess is either you have not downloaded the NAS2D dependency or that you placed the dependency in a location that OutpostHD is not looking for it, esp the file nullmixer.h.

You can find NAS2D here: https://github.com/lairworks/nas2d-core

Hope this helps. Please post how it goes.

Brett

Offline ekztal

  • Newbie
  • *
  • Posts: 3
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #131 on: August 31, 2019, 03:13:33 AM »
Hello ekztal,

Welcome to the forums!

I briefly looked at the build output youposted. My first guess is either you have not downloaded the NAS2D dependency or that you placed the dependency in a location that OutpostHD is not looking for it, esp the file nullmixer.h.

You can find NAS2D here: https://github.com/lairworks/nas2d-core

Hope this helps. Please post how it goes.

Brett

Thanks for the quick reply.   I had previously already downloaded NAS2D.  Before I had downloaded NAS2D the other day I was getting "Cannot open include file:" on every line.  Now I mostly get the 'clamp' error except for the 1st line where I get the error "Cannot open include file: NAS2D/Mixer/NullMixer.h" but that's because there IS NO NullMixer.h in the NAS2D/Mixer/ directory it only contains 3 files:

Code: [Select]
Mixer.h
MixerNull.h
MixerSDL.h

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #132 on: September 01, 2019, 10:20:10 AM »
Sounds like you may have an out of date copy of NAS2D (or too new of a copy to match with what OPHD expects). Both the Mixer and Clamp areas were changed recently.

If you cloned the OPHD repository from GitHub, you may want to Init and Update submodules. That should download a matching version of NAS2D into a subfolder.

If that doesn't help solve your problem, maybe try posting what version you have of each repository, giving perhaps a commit hash or date/time/message. It's possible we could have messed up the version dependencies during an update and not noticed.



Edit: Oh, and welcome to the forums :)

Edit2: I think your version of NAS2D is too new. Updates are often made to the library using the built in unit tests to verify them. When working on these updates, the focus is mainly on the library. We often don't get around to pushing corresponding changes to the main game until sometime later. A git submodule update from the game should checkout a matching version of NAS2D.
« Last Edit: September 01, 2019, 10:32:06 AM by Hooman »

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #133 on: September 05, 2019, 01:41:41 PM »
Apologies for the late reply. The last few weeks have been... rough. I'll be posting a separate topic about that and where things lie in terms of development.

You pulled from the main branch of OPHD -- try the v0.8.0-develop branch.

Thanks for your interest! And sorry about the confusion. There were many changes made to NAS2D on the back end (such as removing NAS2D::clamp in favor of std::clamp) that haven't been merged into the main branch yet. You'll see that the main branch is 20 some commits behind the development branch.

Offline ekztal

  • Newbie
  • *
  • Posts: 3
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #134 on: September 05, 2019, 09:59:58 PM »
Thank you for trying to help.  I just tried pulling from the development branch you linked, and re-downloading the api.zip and assets.zip listed in your original post.  I added include directories where NAS2D was downloaded but I still have the same problem.  If I can't even figure this out seemingly single step out I doubt I have any business messing with source code.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #135 on: September 06, 2019, 09:34:39 AM »
Believe it or not, setting up the environment is the hardest part. We call it dependency hell for a reason. It's usually a simple problem but it's not at all an easy one to tackle if you're unfamiliar with what the project expects.

I'll see if I can get something written up a bit better to help get the environment set up the way it's supposed to be. Chances are I haven't put up the most up to date versions of NAS2D -- I have a bad habit of using builds that I haven't actually released yet.

I'll have some time this weekend (I think), I'll see if I'm up for working with code.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #136 on: September 18, 2019, 04:39:24 AM »
Sounds like you are downloading NAS2D separately from OPHD. That an obvious thing to do, but can lead to mismatched versions. And we're not very good at tracking release versions.  ::)

I'd recommend using Git to download both repositories together. The OPHD project has a Git submodule reference to the NAS2D project. If you use the submodule update from within the OPHD repository, it should fetch the NAS2D project for you, and checkout a matching version. Unfortunately, Git doesn't tend to fetch submodules by default. I really wish it would.

When you clone the repository, sometimes you can choose to clone recursively, which should also fetch submodules. Failing that, once a repository is cloned, you should be able run a Git submodule init, followed by a Git submodule update. Do that from the OPHD repository, and it should give you a matching NAS2D library in a subfolder to build with.

Don't just copy one repository into a subfolder of the other. I know it can be tempting if the default clone gives you an empty "nas2d-core" folder, but you don't want to just copy stuff in there. It won't work the same. When you use the submodule feature, the hidden ".git" folder of the parent project will be shared between both repositories. The submodule will just have a small ".git" file which gives the relative path to the parent repository's ".git" folder. By using the Git submodule features, you'll enable Git to match up the versions of the two repositories.


Of course I'm assuming you're using a Git client to pull the changes. If you don't have a Git client installed, and are just downloading raw zip files, we'll have to come up with a different plan.

Offline JetMech1999

  • Full Member
  • ***
  • Posts: 115
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #137 on: November 13, 2019, 06:56:12 PM »
So, Leeor,

I recently got Stellaris Console Edition for my Xbox 1.  Looking at the screen, particularly the top of the screen, I see icons and resource amounts that look strikingly similar to OPHD.  Just out of curiosity, did you happen to get some inspiration for the screen design from Stellaris, or is this strictly coincidental?

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #138 on: November 15, 2019, 06:40:32 AM »
Coincidental. I've never played Stellaris. Though you're right, it does look similar in a lot of ways. It's always annoying when that happens.

Wouldn't it be interesting if they copied me? Hehe, unlikely, I know, but I did start and release a beta build of OPHD about a year before Stellaris released. :D

Offline JetMech1999

  • Full Member
  • ***
  • Posts: 115
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #139 on: November 15, 2019, 05:03:36 PM »
It's nice to know you're still kicking around.  Hope everything is settling out okay.  Looking forward to seeing some more new stuff.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #140 on: November 15, 2019, 09:16:14 PM »
Most definitely still kicking and feeling better than I have in years. It's been real busy in real life as of late -- I was promoted at work and given a brand new retail store to operate --- so the last few weeks I've been spending a lot of time with that. BUT, I've also started sort of poking around the code and getting myself re-familiarized with it so I can start implementing the v0.8.0 roadmap (truck routing and mine operations). After that I want to push research and start making the game more interesting with the ability to actually progress besides just building outward!

Offline JetMech1999

  • Full Member
  • ***
  • Posts: 115
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #141 on: November 18, 2019, 05:03:21 PM »
Congrats on the promotion and best wishes to you with the store!

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #142 on: January 04, 2020, 02:06:38 PM »
So for those who were trying to build OPHD and were getting compiler errors (particularly about clamp and Mixer), there have been some recent fixes. It seems about 6 months back, a version of OPHD was checked in on GitHub that had a mismatched version of OPHD and NAS2D, which led to build errors. This went unnoticed for quite some time. I just kind of assumed things were working when I gave earlier advice about using Git with a recursive clone to get both projects together with matching versions. Turns out I was wrong about the versions actually matching, so people following my earlier advice would definitely have seen the errors mentioned earlier.

The error has now been fixed, thanks to Leeor. If you checkout the current version of the code, it should compile.

I'm just testing it out now with the data assets linked from the first post in this thread.

Offline Longjump

  • Newbie
  • *
  • Posts: 1
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #143 on: July 15, 2021, 09:07:59 PM »
I remember Outpost from when I was young! Glad to see people are still interested. I tried the linked version (0.8.3) and enjoyed it greatly! This isn't intended as criticism, as often my own age and limited perceptions are often at fault; I seem unable to establish a running colony. I landed the seed, started mines, dug, placed buildings being frugal with resources; every time, no matter what combination of planet/buildings/timing I attempted, within a few turns of placing the CHAP facility, my colony runs our of common metals, and the CHAP shuts down; more metals come from the mine and it reactivates for a turn or two, then uses the rest of the metals and shuts down. The cycle continues, and I am unable to gather enough resources to build a second robominer. Several attempts, I have built two mines; once I tried building more trucks; both times, the mines ran out of common metals and my colonists died within 70 turns of the game beginning. Am I missing something? I can't seem to find any information in game or online about the details or specifics on game mechanics, and the youtube video which demos the game begins from a previous save. Thanks for your time and effort!
*Also thought I'd mention when I looked at the research tree ( https://drive.google.com/file/d/14Z044zgUGCvQ9_cLovHoaFaoCLY8xYze/view?usp=sharing) linked in another post, it just looks horribly blurry when I zoom in to read the words. Can't seem to save it anywhere either.
« Last Edit: July 15, 2021, 09:10:53 PM by Longjump »

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #144 on: July 16, 2021, 09:02:49 PM »
Thanks for the feedback!

There are some issues with 0.8.3 that are resolved in the 0.8.5 branch -- I wanted to have a new release last week but that didn't happen... so I'm looking at this weekend! Should make it a bit easier.

There is a balancing issue with the cost of buildings and robots -- they're too expensive. I noticed this while doing some test plays; common metals are always very very scarce even with multiple mines. You can improve throughput by building more trucks and assigning them to mines (side note, the trucks don't save properly in 0.8.3 so when they're assigned if you save and reload you lose the trucks unless you move them into warehouses first).

You can get some much needed resources by bulldozing your landers early on. Don't go too crazy until you have storage tanks built as the Command Center has very limited resource storage capacity.

Unlike the original game, when you bulldoze a building you don't need a recycling center to get the materials back. Instead the materials are sent back to the Smelter for refinement. I think right now I have the return rate at 90% of the cost of the building.

You will need the recycling facility to manage waste produced by residential units. If you let waste build up it'll start to tank your morale which is hard to build back up.

Offline Mordithrahl

  • Newbie
  • *
  • Posts: 2
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #145 on: March 31, 2023, 08:44:29 PM »
Just popping in to say that I am amazed at the progress so far. I sort of miss the epic music at the start, and its a bit odd being turn-based instead of real time. A undo button would be cool. But overall - this is terrific. So much nostalgia shot into my veins. Hope this project is still going!

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #146 on: April 01, 2023, 10:37:16 PM »
Thanks for the words of support!

Yes, the project is still very much going on. 2022 was kind of a rough year for me which is why progress kinda ground to a halt. Medical/Health issues that made it difficult to concentrate.

I've mostly recovered at this point and I've started making additional progress. I've resolved a number of issues that have been reported including the Command Center collapsing due to maintenance decay (definitely a bug, self-contained structures aren't supposed to need maintenance as a gameplay mechanic), structure/factory resources costs have been adjusted and a bunch of other under the hood stuff.

I'm preparing a v0.8.7 release here to make the game a bit more stable and easier to use. I'm also going to be able to release a proper macOS app bundle for the first time now that I have a couple of macs around that I can test development on as well.

After that I'm going to finish the push for research and go from there especially with some quality of life UI improvements primarily centered around getting better feedback from the colony and about what's happening from turn to turn.

An undo function isn't a bad idea. I'll have to think about that one a bit as it would almost be a cheat. Could maybe even have it save a few turns to go back... make it a beginner option? I dunno, I'll see how I feel about it and go from there.

Offline ytszazu

  • Newbie
  • *
  • Posts: 10
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #147 on: April 08, 2023, 08:52:52 AM »
As someone who played the original outpost during my school years, (until launched the spaceship), OutpostHD is very good project. Keep up with it.

One thing caught me off balance though, the air generator uses too much one of the resources, but other than that, good work so far.

Can't wait for your next update to OutpostHD.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #148 on: April 09, 2023, 10:09:23 PM »
Thank you!

I just pushed out a new version which balances the cost of structures and robots. The CHAP may need some balancing as well, will look into it going forward.

Give it a try ant let me know!

Offline ytszazu

  • Newbie
  • *
  • Posts: 10
Re: OutpostHD - An Open Source Remake of OUTPOST by Sierra On-Line
« Reply #149 on: April 10, 2023, 10:02:28 AM »
Played up to turn 150+

1) Around turn 120+ the game starts to crash alot. There was a time it reaches a point where everytime i hit the same turn it crashes, so i loaded a previous save and built differently. Anyway to export crash logs? Or send save files over?

2) Resources in game is much more manageable now, at least for Mars.

3) Which buildings do not serve any function yet? Research lab, hot lab, underground factory and underground commercial centre?

4) I have two nurseries, one university, habitat at < 100% and one red light district, however, the workforce population keeps dropping. Happiness > 600

5) Any function for clothing and medicine?

Anyway, good update so far, need to reduce the crashes through. Playing using the same computer as the previous OutpostHD one. Q6600, 8gb Ram, GTX 460.