Songs of Syx - 2019

LUmTDowxKqs

Songs of Syx is a RTS/city builder with elements of RPG. My favourite games are “Total War”, “Dungeon Keeper” and “Pharaoh” and I thought I’d bring those three together and add some as well.

My tools have been Java and lwjgl 3.0.

Here’s the pre-alpha: https://www.indiedb.com/games/songs-of-syx

https://songsofsyx.com/wp-content/uploads/2019/04/collage.png

Check out the webpage:
https://songsofsyx.com

And give me your thoughts.

When trying to run I get the following dialog

the debug log contains the following:

java.lang.NullPointerException: "in" is null!
	at java.nio.channels.Channels.checkNotNull(Unknown Source)
	at java.nio.channels.Channels.newChannel(Unknown Source)
	at snake2d._IconLoader.ioResourceToByteBuffer(_IconLoader.java:85)
	at snake2d._IconLoader.setIcon(_IconLoader.java:33)
	at snake2d.GraphicContext.<init>(GraphicContext.java:147)
	at snake2d.CORE.create(CORE.java:51)
	at launcher.Launcher.start(Launcher.java:28)
	at main.Syx07.main(Syx07.java:31)
java.lang.RuntimeException: problem with icons : C:\Users\mail__000\Documents\syx6\Syx06\res\data\spriteSheets\
	at snake2d._IconLoader.setIcon(_IconLoader.java:38)
	at snake2d.GraphicContext.<init>(GraphicContext.java:147)
	at snake2d.CORE.create(CORE.java:51)
	at launcher.Launcher.start(Launcher.java:28)
	at main.Syx07.main(Syx07.java:31)

In case it helps, there is no “C:\Users\mail__000” directory on this computer, maybe you’ve hard coded a path to a file in that location?

Thank you, and sorry about that. I’ve hopefully fixed it and re-uploaded it.

thanks but different error now

java.lang.NullPointerException
	at org.lwjgl.system.Checks.checkPointer(Checks.java:103)
	at org.lwjgl.openal.ALC10.nalcCreateContext(ALC10.java:141)
	at org.lwjgl.openal.ALC10.alcCreateContext(ALC10.java:154)
	at snake2d.SoundCore.<init>(SoundCore.java:76)
	at snake2d.CORE.create(CORE.java:54)
	at launcher.Launcher.start(Launcher.java:28)
	at main.Syx07.main(Syx07.java:31)

actually game works and gets to main menu screen (cool main menu btw) when I plugin in some speakers, so maybe you need to catch any openal exception and then fall back to a no sound mode to allow working in that situation.

Very interesting. It’s kind of beyond me right now. I’ll have to experiment on it myself and try to reproduce the problem. Could you paste your res/debug/stdOut.txt so that I can have a look at your openAL stuff?

here is the output of stdOut.txt

21
Game version : 0.6

SYSTEM INFO
---Running on a: Windows 8.1, amd64 Platform.
---jre: 1.8.0_111
---Processors avalible: 2
---Reserved memory: 1884Mb
---Directory : C:\Users\user\Desktop\syx\res\
---Input Arguments : 
---JRE Input Arguments : 

Starting the Launcher....

Firing up an engine, v: 0.8

OPEN_GL
---FB stencil Bits: 8
---FB depth Bits: 0
---FB Red Bits: 8
---FB Green Bits: 8
---FB Blue Bits: 8
---FB Alpha Bits: 8
---Version: 3.3.0 - Build 10.18.10.3958
---SL Version: 3.30 - Build 10.18.10.3958
---glRenderer: Intel, Intel(R) HD Graphics

DISPLAY
---dimensions: 960x480, RfrsRate: 75
---LWJGL: 3.0.0 build 90
---GLFW: 3.2.0 Win32 WGL EGL VisualC DLL
---6 supported video modes

class snake2d.GraphicContext was sucessfully destroyed
Core was sucessfully disposed

Ah, it crashes before it gets the chance to print your openAL info, too bad. I’ll try to implement a no-sound mode for you in the future. Thanks for trying it out!

Got an ArrayOutOfBoundsException :\

java.lang.ArrayIndexOutOfBoundsException: 0
	at util2d.gui.ButtM.<init>(ButtM.java:18)
	at util2d.gui.ButtM.getColor(ButtM.java:9)
	at launcher.ScreenSettings.<init>(ScreenSettings.java:59)
	at launcher.Launcher.<init>(Launcher.java:42)
	at launcher.Launcher.start(Launcher.java:29)
	at main.Syx07.main(Syx07.java:31)

Crashes before any ui of any kind gets a chance to show up (except for the error dialog, that is). The contents of [icode]stdOut.txt[/icode] are a bit longer but it gets past all the sound-related info, and stops right after that with:


265650 of 265650 bytes of Sound freed
class snake2d.SoundCore sucessfully destroyed
class snake2d.GraphicContext was sucessfully destroyed
Core was sucessfully disposed

I don’t know if that helps.

J0 :slight_smile:

That’s very unfortunate. ??? . My guess is that it has to do with your display. I think it found 0 supported fullscreen display-modes. Either that or your screens refresh-rate is below 30 HZ. Most probably I’m polling your display in a wrong way. I’ve re-uploaded the game, haven’t fixed the issue, but it will throw a proper exception in either case. I’d be very grateful if you could try again. BTW, do you have a particular monitor in some sense? Either a really old one, or a very fancy one, or perhaps you’ve got several plugged in at once?

Got this on my laptop (opengl 3.1) :frowning:

[LWJGL] GLFW_VERSION_UNAVAILABLE error
	Description : WGL: Failed to create OpenGL context
	Stacktrace  :
		org.lwjgl.glfw.GLFW.nglfwCreateWindow(GLFW.java:1484)
		org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:1637)
		snake2d.GraphicContext.<init>(GraphicContext.java:138)
		snake2d.CORE.create(CORE.java:51)
		launcher.Launcher.start(Launcher.java:28)
		main.Syx07.main(Syx07.java:31)
java.lang.RuntimeException: Failed to create the GLFW window
	at snake2d.GraphicContext.<init>(GraphicContext.java:144)
	at snake2d.CORE.create(CORE.java:51)
	at launcher.Launcher.start(Launcher.java:28)
	at main.Syx07.main(Syx07.java:31)

Alright the new error I get is


java.lang.RuntimeException: Seems your screen has no full screen capabilities beyond 1280x800
	at snake2d.GraphicContext.<init>(GraphicContext.java:128)
	at snake2d.CORE.create(CORE.java:51)
	at launcher.Launcher.start(Launcher.java:28)
	at main.Syx07.main(Syx07.java:31)

(I’m using a regular laptop, resolution 1366x768 px², no fancy settings whatsoever, 60Hz)

J0 :slight_smile:

OK J0, I’ve fixed it for you, so I hope it works and that you’ll want to try it out regardless of this disgrace. The game is meant to be played in full HD (1920x1080), but it will fit into smaller displays, albeit not looks as good.

This is actually a legitimate error. You’ll need 3.3. Sorry about that. I’ll add a prerequisite clause to my post though. However, I was hoping to catch this exception and notify the user, but it seems I can’t poll the supported opengl versions before I create the GLFW context, which is a bit strange. I’ll work on it. Thanks for trying though!

Call it bad luck… This time I could launch the game, everything went fine (more or less: I noticed that clicking INFO in the launcher seems to shut down the music, although sound effects of hovering buttons still play… don’t know if bug or feature hahah), but when I tried to claim some land, clicking on a cell on the map crashed the game ???

failed to read keys. Settings defaults
java.lang.NullPointerException
	at world.tools.TClaimTile.update(TClaimTile.java:103)
	at world.tools.WTools.update(WTools.java:177)
	at world.WorldView.update(WorldView.java:174)
	at main.VIEW.update(VIEW.java:168)
	at snake2d.Updater.update(Updater.java:92)
	at snake2d.Updater.run(Updater.java:41)
error in updater detected
Core teminating because of error
java.lang.NullPointerException
	at world.tools.TClaimTile.update(TClaimTile.java:103)
	at world.tools.WTools.update(WTools.java:177)
	at world.WorldView.update(WorldView.java:174)
	at main.VIEW.update(VIEW.java:168)
	at snake2d.Updater.update(Updater.java:92)
	at snake2d.Updater.run(Updater.java:41)

J0 :stuck_out_tongue:

I’ll try it on a desktop machine later on!

Yes, finally something I have control over. It’s a bug I know about. I could fix it in minutes, but haven’t gotten around to it yet. The idea is that you need to click a tile which is already claimed, then drag to expand that area. Each city has its own province, so that city will control everything within this area. The music is supposed to stop also, so that’s a good thing… it opened your browser too I hope? I don’t have a web page yet though… thanks for playing and I hope you explore a bit more. Build a city and ram a couple of sheep, hehe. It’s great fun. There shouldn’t be any more bugs that crashes the game besides this to my knowledge.

java.lang.RuntimeException: GLerr: invalid enum
	at snake2d.GlHelper.checkErrors(GlHelper.java:60)
	at snake2d.GlHelper.<init>(GlHelper.java:44)
	at snake2d.GraphicContext.<init>(GraphicContext.java:179)
	at snake2d.CORE.create(CORE.java:51)
	at launcher.Launcher.start(Launcher.java:28)
	at main.Syx07.main(Syx07.java:31)

Do you have OpenGL 3.3 support? It seems going Lwjgl 3.0 wasn’t perhaps the greatest idea. Everyone is getting an error of their own. It would be very helpful if I could see your res/debug/stdout.txt

right, sorry. there ya go

22
Game version : 0.7

SYSTEM INFO
---Running on a: Windows 10, amd64 Platform.
---jre: 1.8.0_111
---Processors avalible: 4
---Reserved memory: 1900Mb
---Directory : C:\Users\Flo\Desktop\syx\res\
---Input Arguments : 
---JRE Input Arguments : 

Starting the Launcher....

Firing up an engine, v: 0.8

DISPLAY
---supported resolutions: 640x480, 640x480, 640x480, 640x480, 640x480, 720x480, 720x480, 720x480, 720x480, 720x480, 800x480, 800x480, 800x480, 800x480, 720x576, 720x576, 720x576, 720x576, 720x576, 800x600, 800x600, 800x600, 800x600, 1024x600, 1024x600, 1024x600, 1024x768, 1024x768, 1024x768, 1280x720, 1280x720, 1280x720, 1280x768, 1152x864, 1152x864, 1360x768, 1366x768, 1440x900, 1280x1024, 1280x1024, 1600x900, 1400x1050, 1680x1050, 1920x1080, 1920x1080, 1920x1080, 
---current resolution: 960x480, RfrsRate: 75
---LWJGL: 3.0.0 build 90
---GLFW: 3.2.0 Win32 WGL EGL VisualC DLL
---23 supported video modes

OPEN_GL
---FB stencil Bits: 8
---FB depth Bits: 0
---FB Red Bits: 0
---FB Green Bits: 0
---FB Blue Bits: 0
---FB Alpha Bits: 0
---Version: 3.3.14008 Core Profile/Debug Context 21.19.137.1
---SL Version: 4.50
---glRenderer: ATI Technologies Inc., Radeon (TM) RX 480 Graphics

Core was sucessfully disposed