SpaceWorms - A 2D gravity space shooter - Key Giveaway

Dear amazing MonoGame Community,

We have just published our first title SpaceWorms on Steam.

It’s a pretty dark but humorous artillery game blended with a turn-based strategic builder: You take on the role of “Ze Wormperor” and must conquer the known (and pretty flat) universe by destroying, stealing from, colonizing, and conquering the surrounding planets and your enemies.

This release would have not been so possible without your support. Thank you.

As a return favor for your time invested in answering our countless questions, please use one of the below 49 Steam keys to get immediate access to SpaceWorms (maybe it’s a good idea to comment on which keys are already in use).

  1. 9I2F3-KDC94-847LV
  2. Q9QKP-Y8GIW-WMEPY
  3. K0CL6-EH8Y6-L0QFE
  4. 40D55-4XMIV-F9C3N
  5. NPM5N-063TH-0XQ3X
  6. L4K73-F09EW-CCR98
  7. 2AC3Q-62V66-RFXRI
  8. N3WTI-K3DM9-XTKQ4
  9. XY5Q8-4YKZN-AIBAA
  10. ZAV2A-99RF3-TBJ68
  11. C2RNN-3TAHM-JAGBP
  12. XN2J9-0DT9Z-6Y3H5
  13. QK3IL-ZK4WG-ZK8NP
  14. JVHQR-04L8F-KW220
  15. ADKBW-2RV4H-DAY9X
  16. YICPD-NPT5V-494A3
  17. BDHYA-6MBL2-RF2JK
  18. C0EWD-HNHL3-K325R
  19. T77HR-I58VB-JLE42
  20. NQV4V-3ZPVJ-P4W4Y
  21. NAYAK-QXGH7-8FTW5
  22. 8572P-NEPTG-B9BNK
  23. PKT0V-TRX3G-JAY8V
  24. VPFEV-E2EIW-Q84AD
  25. VNDXM-YVR60-IE96W
  26. 5Q60Q-LCQ75-EEGF0
  27. 38LZ0-095C6-8Z9V5
  28. 3CFF7-CBYX5-TRGHF
  29. YYPA2-LZD8J-GN07I
  30. V633Z-DA9VK-45HJH
  31. TQ20J-AZR4T-FNXEJ
  32. 5YG3P-AHLLV-95R5F**
  33. NEZFC-4Z28Q-NKYV4
  34. NER82-Q4KVM-RQXTN
  35. ZXVFY-MANNA-AW9T0
  36. 5GII8-0Y2LN-HBHY2
  37. 8GVX3-8X7W5-3LZKF **
  38. GBHRX-PXG3L-85WMW
  39. K8W4T-H09M2-3VQKD
  40. 89WX2-3W75Z-TJPC4
  41. 55ZJ6-BZM8V-6G7H6
  42. 2E3BP-B0ALT-5X9MW **
  43. AA0PD-7GRBW-4PWTV
  44. ITW59-9Q8LE-Q5HTY
  45. ZAVGZ-3N9ZP-QJX54
  46. 9D06X-CWT00-P089H**
  47. MV68H-2KX0H-V9KEF**
  48. 7FPBL-ZE9P2-22BY6
  49. BT8FX-DMCIW-HHE97

**taken

Best wishes

  • Max aka. His Wormnificence
8 Likes

Dear Wormperor,

I took one of your keys - no. 42 (of horse) 2E3BP-B0ALT-5X9MW.

All hail to thee, punisher of space and such.

Best,
Wormfred II

3 Likes

37 is taken, thanks a lot! :slight_smile:

Hey @mgulde

Just wanted to help you fixing a bug which currently avoiding steam users with special characters like emojis in their name to start your game (it crashes).

I discovered the bug in the “profile.xml” file within the “N_PlayerName” field.

Before directly using the name of a steam user and serialize it into your xml file, I recommend using the function in the “Hello Steamworks.Net” sample of my repo before serializing it:

This fixes the bug and avoids a game crash on startup.

Further I recommend changing the file extension of “profile.xml” as it seems to have a valid json structure and giving me xml parsing errors in Notepad++.

Will test your game soon :slight_smile:

1 Like

Hi @SandboxBlizz,

Thanks a lot for the feedback, I implemented the fix (had something similar in place already but not nearly in all places I needed it). Also, the profile now has the correct json extension.

Happy playing!

Nice, I gave it a quick try and I can say that it’s working now as expected.

However I experienced a different “problem” now. It’s possible to start the game without using the steam client. The game says then that steam is not running and that only the hot-seat multiplayer is available.

Is this on purpose?

Just wanted to inform you, because other people could share your game now without buying.

Oh, and there is an empty space behind the steam user name now in the profile.json N_PlayerName field. So it seems the string is not getting trimmed. Just in case this matters somwhere in your code or so.

I give more feedback to the game soon. First rounds I played were funny so far :smiley:

1 Like

This should do the trick for the problem with the steam client.
Just do the following first thing in the constructor of your game. It works for me.
But I’m not as acquainted with the steam-code as @SandboxBlizz.

try
{
    if (SteamAPI.RestartAppIfNecessary((AppId_t) YOUR_APP_ID))
    {
        Exit();
    }
}
catch (DllNotFoundException e)
{
    Debug.DLog("[Steamworks.NET] Could not load [lib]steam_api.dll/so/dylib." +
    " It's likely not in the correct location. Refer to the README for more details.\n" + e);
    Exit();
}

if (!Packsize.Test())
{
    Debug.DLog("STEAM.NET: You're using the wrong Steamworks.NET Assembly for this platform!");
    Exit();
}

if (!DllCheck.Test())
{
    Debug.DLog("STEAM.NET: DllCheck Test returned false, One or more of the Steamworks binaries"+
    "seems to be the wrong version!");
    Exit();
}

if (!SteamAPI.Init())
{
    Debug.DLog("STEAM.NET: SteamAPI.Init() failed!");
    Exit();
}

Steam.Update();
2 Likes

Hi @SandboxBlizz & @throbax,

Thanks for finding all the bugs for me :wink: I totally forgot about the Steam client check: During development, we often tested it without Steam running, so I removed the respective lines. Maybe we put it back in, but I suppose that the level of economic harm from piracy is comparable to the game’s level in political correctness :slight_smile:

Glad you enjoyed it!
Max

2 Likes

Code #32 taken. Thanks! Looks really nice; I’m excited to play it!