Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta date? #178

Closed
Xenega opened this issue Aug 15, 2019 · 26 comments
Closed

Beta date? #178

Xenega opened this issue Aug 15, 2019 · 26 comments

Comments

@Xenega
Copy link
Member

Xenega commented Aug 15, 2019

nthykier have resolved the blocking issues and we have made a lot of change, so we should choose a date for the release of a 1.0 beta version now.

What date should we choose?

@nthykier
Copy link
Member

Today? :)

@nthykier
Copy link
Member

I think the only thing we "need to have" is an updated changelog (#181). If we can get #173 or/and #177 done that would great too, but they can come later in another beta, the final 1.0 release or even later.

So I am in favour of releasing a beta as soon as possible for wider testing and exposure!

@sunfall
Copy link
Member

sunfall commented Aug 16, 2019

Feel free to ignore this, because I haven't been doing much of anything on the code side, but:

If we get an opaque savefile entry redirect change in sooner rather than later, I would really like to go back through all the game's text and techs and do a rewrite/reordering/rejuggle pass. It will forever bug me that Arbitrage (for example) doesn't work in a sensible way given its name, and I'd like to reposition it. In addition, a lot of the tech and item descriptions are pretty bland. Given how few we have to deliver flavor to the player, I'd like to take advantage of the ones we have.

If we do it, this sort of change should 100% be done before releasing a beta, as it's likely to break the heck out of savefiles if it's done wrong.

@nthykier
Copy link
Member

nthykier commented Dec 7, 2019

I tried to cut a release and it is available from: https://github.com/singularity/singularity/releases/tag/singularity-1.0a1

Please take it for a spin and see if there is anything not working as intended.

@evilmrhenry
Copy link
Member

Initial run-through notes:

  • Options and About screens should have border for consistency
  • GUI sounds are rather harsh. Recommend replacing with free sounds.
  • Font resizing creates inconsistent appearance. Recommend having default font size, and only using resizing if the given text does not actually fit in the space given.
  • Changelog and similar files should have .txt extension for convenience of Windows users.
  • Remove " * Send update notice to happypenguin.org, freshmeat.net and pygame.org." line from release/README.txt. First 2 don't really exist anymore, pygame.org doesn't seem worth bothering with.

None of these are show-stoppers, just notes for the next release.

I am currently working on getting a Windows exe up and running; py2exe is dead, which means the instructions for building an exe are also wrong. I think I have a usable replacement, I just need to figure out why it's not working right.

nthykier added a commit that referenced this issue Dec 13, 2019
Suggsted in: #178 (comment)

Signed-off-by: Niels Thykier <niels@thykier.net>
nthykier added a commit that referenced this issue Dec 13, 2019
Suggested in: #178 (comment)

Signed-off-by: Niels Thykier <niels@thykier.net>
@nthykier
Copy link
Member

Thanks for the update. :)

Side-note: I am probably going to cut a new release relatively soon. Among other due to aa04fcc and #198 but it will also enable us to re-test the changes to the release documentation. :)

@evilmrhenry
Copy link
Member

The reason auto-py-to-exe was failing is because the main py file is named singularity.py, while the import directory is also named singularity. For some reason, giving these the same name causes it to break in a way that doesn't create useful error messages.
brentvollebregt/auto-py-to-exe#82
I am currently unsure if changing a filename will be required; for now, just assume this is a possibility.

@rofl0r
Copy link

rofl0r commented Dec 14, 2019

I am currently unsure if changing a filename will be required; for now, just assume this is a possibility.

if considering this possibilty keep in mind that changing file names or moving them to another place breaks git history (stuff like git blame, git log -p, etc).
an option might be to just rename/copy the file during packaging.

@nthykier
Copy link
Member

@evilmrhenry Thanks for working on the Windows compilation.

Could you see if the alternative-main branch fixes this problem?

@nthykier
Copy link
Member

The alternative-main idea is busted. If you have singularity installed (e.g. via a distribution) the method from that branch will silently load the distribution provided one instead of the git checkout.

I guess a simpler fix is to rename the singularity.py script to run_singularity.py or so.

@MestreLion
Copy link
Member

I guess a simpler fix is to rename the singularity.py script to run_singularity.py or so.

Being the one that created singularity.py a few years ago (omg, so much activity since then!), I believe this is the best approach.

Being 2019 we have much better ways to run the game locally without this launcher, namely pip install -e ., as it uses setuptools entry_point in setup.py to create an executable in /usr/bin or ~/.local/bin, which you guys have already done 👍 ; and/or python -m singularity, provided we create a ./singularity/__main__.py that merely invokes from . import main; main()

Given those 2 ways, I believe this executable is not needed anymore. But, if we keep it, there's no point in it being having a .py extension, as it already has a #! shebang. So it could simply be named run_singularity, to clarify this is merely a shell launcher. Also, it should contain a few in-code comments about how optional and redundant it is, something along the lines of:

# You can also run the game with 'python -m singularity'

or

# You don't need this launcher if you run 'pip install -e .',
# as it creates a 'singularity' executable in your $PATH

@nthykier
Copy link
Member

@MestreLion Hi - welcome back. :) Thanks for your input

@evilmrhenry I have written the launcher to avoid the PyInstaller issue. Let me know if it works (or if you need a new alpha release to for testing)

@evilmrhenry
Copy link
Member

As an update, there appears to be some working directory issues with the exe; it actually runs code now, but it still doesn't work. I'm still tracking it down. In the meantime, line 148 in dirs.py should probably be changed to
if (item["parent"] not in read_dirs or not read_dirs[item["parent"]]):
as read_dirs[X] can never be None. (This doesn't actually break anything, it just got revealed thanks to this other issue.)

@evilmrhenry
Copy link
Member

OK, wasn't as hard as I thought. In dirs.py, you should change the line

    root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))

to

    if getattr(sys, 'frozen', False):
        root_dir = os.path.join(os.path.abspath(os.path.dirname(sys.executable)), "singularity")
    else:
        root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))

This doesn't need to be in the actual release; if it's not, I'll just add it. I want this in place for the next release, though.

At this point, I have the ability to create a working exe. I started a new game and clicked around a bit, and everything seems to work. Do you want to build a new alpha release before I really start testing?

@nthykier
Copy link
Member

Excellent :)

I have committed your changes to master and cut a new release. Turns out we have accumulated quite a few changes since 1.0a1. :)

@nthykier
Copy link
Member

Hi @evilmrhenry

Did you get around to build a windows release for 1.0a2? :)

@evilmrhenry
Copy link
Member

I kind of forgot about this. Thanks for the reminder.

@evilmrhenry
Copy link
Member

OK, I've gotten a Windows compile. I'm alright with making this a real release.

@nthykier
Copy link
Member

Thanks for confirming it works. :)

I think I will cut another release now, which I think we should make the first "real" release. I discovered and fixed a bug that only manifested under python3, where Australia never got a location modifier assigned (there are 5 modifiers but 6 locations and Australia would always be picked as the location without a modifier).

I will ping you when I am done with the release.

@nthykier
Copy link
Member

@evilmrhenry - I got the beta1 done now (https://github.com/singularity/singularity/releases/tag/v1.0b1)

Besides the bug I mentioned already, I also found a crash bug with savegames that also got fixed.

@evilmrhenry
Copy link
Member

Do you plan for this to be the actual release, or should I hold off a couple days to catch anything else that shows up?

@nthykier
Copy link
Member

nthykier commented Feb 17, 2020 via email

@evilmrhenry
Copy link
Member

Oh, wait, you wanted my opinion here.

My perspective is that beta releases are for testers, not for the general public, and I would expect testers to have a Python setup available to them. The Windows binaries are useful for general releases, as people who play games on Windows cannot be expected to have a Python install. As such, my expectation is that we do however many beta releases are needed until we're reasonably sure the game is stable and playable, then we do an actual release with a Windows binary and what not.

Now, if beta testers want Windows binaries, I can manage that, it's just a bit annoying, and I don't want to commit to putting out a dozen beta binaries if they're not going to be widely used.

@nthykier
Copy link
Member

nthykier commented Mar 8, 2020

Ok. Sounds reasonable to me. We will keep the Windows binaries for the "final" releases only.

What about announcing the betas for wider play testing? Are there any good places to do that or should we assume they are all subscribed to the github repo?

@evilmrhenry
Copy link
Member

You could ask on the endgame mailing list; I'm not sure how well that would work, though. Having a bug in the final released version isn't the end of the world, anyway.

@nthykier
Copy link
Member

Thanks for the input. Given we have a beta and an agreement on when/how to build Windows releases, I think this is overdue for being closed. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants