June 26, 2019, 08:15:47 PM

Author Topic: Genus Prime - 8-BIT WARS competition entry  (Read 1618 times)

Offline Derron

  • Hero Member
  • *****
  • Posts: 2170
Genus Prime - 8-BIT WARS competition entry
« on: April 01, 2019, 08:51:53 AM »
Genus Prime v1.0.1



Conquer the galaxy ...  by sending ships from your planet to others. Easy peasy isn't it?
Use your mouse to select planets and target enemy planets to set your ships free. Once the population counter of a planet goes below 0 - it will change ownership.
Owned planets generate Research Points (RP) which you can use to upgrade your tech tree on the knowledge hub.
Ah and you might want to buy some missiles as planetary defense of each planet.

There is a campaign mode (with some more events/elements) and a random (quick start) or skirmish (custom game) mode.

There is NO profile yet, so what campaigns you won is stored in your savegame - use that as progress.

Campaigns are written in plain XML - so you might want to add your own (especially with the ... Solar Support and Rebel features).




Controls: Mouse driven, use right click (or Escape key) to abort/exit a menu/screen. If the pixel flickering of some elements annoys you then hit "c" once to disable color alternation (I used it rarely but still... who knows). It flickers more the less Hz your screen has).

Use F5 to quicksave and F8 to quickload.




Download:
ht tps://w ww.gamezworld.de/files/GenusPrime_v1.0.1_LinuxMacWindows.zip
https://www.gamezworld.de/files/GenusPrime_v1.0.2_LinuxMacWindows.zip (Linux, Mac, Windows - each 32 and 64 bit)
Build date: 2019/04/06 (within bugfix-timespan)

ht tps://w ww.gamezworld.de/files/GenusPrime_v1.0.zip [Linux 64bit, Windows 32bit + 64bit]
(ignore "Build time" in app title - I am +1 to Qube's BST ;-))
(The 32bit Windows build was done afterwards with vanilla BlitzMax and is untested except for "executes and plays music").


Source code: https://github.com/GWRon/GenusPrime
(build instructions can be found there at the repos main page)




Media: SFX by me, graphics by me, fonts as stated in the fonts directory, music as stated in the music/licences.txt




bye
Ron

Offline Derron

  • Hero Member
  • *****
  • Posts: 2170
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #1 on: April 03, 2019, 03:10:54 PM »
As most of the downloads up to now were done by mac users I shaved off some spare time and updated my build-setup on the Mac - and finally did a build of the compo version for Mac:
- 32 bit variant is built with Vanilla BlitzMax
- 64 bit variant is built with BlitzMax NG (and SDL)

I only connected via VNC to the mac so I do not know if it played sound or not. Also do not use the Mac version to judge for the game if it does not have sound or odd visual bugs.

https://www.gamezworld.de/files/GenusPrime_v1.0_MacOS.zip

Contains only the binaries/folders - each zipped again as I am not sure if a simple "rename" would be OK. So once downloaded: extract it, extract the variant of your choice - and copy the "file" (which is actually a folder) into the normal GenusPrime_v1.0.zip-extracted folder (so next to the GenusPrime_Linux** and the GenusPrime_Windows**.exe files).



Hope it works.


bye
Ron

Offline craigd

  • Jr. Member
  • **
  • Posts: 41
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #2 on: April 03, 2019, 05:27:40 PM »
I had a quick play. Very nice little game. Looks like there's more depth to it so will give it another blast shortly :)

Offline Xerra

  • Hero Member
  • *****
  • Posts: 605
    • Retro Evolved
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #3 on: April 03, 2019, 05:31:38 PM »
Just to confirm, if you read the instructions you gave properly, and install it in the correct place then the Mac version does indeed work. I only mention this because this idiot decided he could just extract and run it without doing just that :-)

Oh, and yeah the music is playing so your sound is working ok.

Let you know what I think of your game once I've played a bit.

Offline Xerra

  • Hero Member
  • *****
  • Posts: 605
    • Retro Evolved
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #4 on: April 03, 2019, 05:49:53 PM »
Guess I spoke too soon because the game crashes out shortly after you start the first tutorial mission. It's around 10 seconds in regardless of what you're actually doing. I'll have a play on the windows version to test the game unless the error report is any use to you in tracing the problem.

Process:               GenusPrime [88188]
Path:                  /Volumes/*/GenusPrime.app/Contents/MacOS/GenusPrime
Identifier:            GenusPrime
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           GenusPrime [88188]
User ID:               501

Date/Time:             2019-04-03 17:46:37.532 +0100
OS Version:            Mac OS X 10.13.6 (17G5019)
Report Version:        12
Anonymous UUID:        E3A0403B-FC61-4F40-81B5-AB30B819EE5F

Sleep/Wake UUID:       170B483B-552D-4AF7-B1FF-0CE18DEBB86D

Time Awake Since Boot: 1700000 seconds
Time Since Wake:       280000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler


Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   GenusPrime                       0x0000000105b7b743 0x10588b000 + 3082051
1   GenusPrime                       0x0000000105b58dea 0x10588b000 + 2940394
2   GenusPrime                       0x0000000105b57713 0x10588b000 + 2934547
3   GenusPrime                       0x00000001058923cb 0x10588b000 + 29643
4   GenusPrime                       0x0000000105890095 0x10588b000 + 20629
5   GenusPrime                       0x0000000105899d6f 0x10588b000 + 60783
6   GenusPrime                       0x00000001058f4781 0x10588b000 + 432001
7   GenusPrime                       0x00000001058f3de6 0x10588b000 + 429542
8   GenusPrime                       0x00000001058f4e72 0x10588b000 + 433778
9   GenusPrime                       0x00000001058dcc02 0x10588b000 + 334850
10  GenusPrime                       0x00000001058dce23 0x10588b000 + 335395
11  GenusPrime                       0x00000001058f4ff3 0x10588b000 + 434163
12  GenusPrime                       0x00000001058abc08 0x10588b000 + 134152
13  GenusPrime                       0x0000000105b5a983 0x10588b000 + 2947459
14  GenusPrime                       0x0000000105b5ae60 0x10588b000 + 2948704
15  GenusPrime                       0x0000000105b5ab04 0x10588b000 + 2947844
16  com.apple.CoreFoundation         0x00007fff4119947c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
17  com.apple.CoreFoundation         0x00007fff4119934a _CFXRegistrationPost + 458
18  com.apple.CoreFoundation         0x00007fff41199081 ___CFXNotificationPost_block_invoke + 225
19  com.apple.CoreFoundation         0x00007fff41157c12 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1826
20  com.apple.CoreFoundation         0x00007fff41156ca3 _CFXNotificationPost + 659
21  com.apple.Foundation             0x00007fff43281817 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
22  com.apple.AppKit                 0x00007fff3e846206 -[NSApplication _postDidFinishNotification] + 313
23  com.apple.AppKit                 0x00007fff3e845e4f -[NSApplication _sendFinishLaunchingNotification] + 220
24  com.apple.AppKit                 0x00007fff3e718ab3 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 562
25  com.apple.AppKit                 0x00007fff3e7186e9 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 690
26  com.apple.Foundation             0x00007fff432c4664 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 287
27  com.apple.Foundation             0x00007fff432c44e2 _NSAppleEventManagerGenericHandler + 102
28  com.apple.AE                     0x00007fff4229cdd0 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 1788
29  com.apple.AE                     0x00007fff4229c677 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 41
30  com.apple.AE                     0x00007fff4229c565 aeProcessAppleEvent + 383
31  com.apple.HIToolbox              0x00007fff404734a0 AEProcessAppleEvent + 55
32  com.apple.AppKit                 0x00007fff3e713d32 _DPSNextEvent + 2788
33  com.apple.AppKit                 0x00007fff3eea9e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
34  com.apple.AppKit                 0x00007fff3e708885 -[NSApplication run] + 764
35  GenusPrime                       0x0000000105b5adfd 0x10588b000 + 2948605
36  GenusPrime                       0x000000010588d204 0x10588b000 + 8708

Thread 1:
0   libsystem_kernel.dylib           0x00007fff692a528a __workq_kernreturn + 10
1   libsystem_pthread.dylib          0x00007fff6946c20e _pthread_wqthread + 1552
2   libsystem_pthread.dylib          0x00007fff6946bbe9 start_wqthread + 13

Thread 2:
0   libsystem_kernel.dylib           0x00007fff692a4a16 __psynch_cvwait + 10
1   libsystem_pthread.dylib          0x00007fff6946d589 _pthread_cond_wait + 732
2   GenusPrime                       0x0000000105b79da7 0x10588b000 + 3075495
3   GenusPrime                       0x0000000105b70035 0x10588b000 + 3035189
4   GenusPrime                       0x0000000105b77e77 0x10588b000 + 3067511
5   libsystem_pthread.dylib          0x00007fff6946c661 _pthread_body + 340
6   libsystem_pthread.dylib          0x00007fff6946c50d _pthread_start + 377
7   libsystem_pthread.dylib          0x00007fff6946bbf9 thread_start + 13

Thread 3:
0   libsystem_kernel.dylib           0x00007fff692a4a16 __psynch_cvwait + 10
1   libsystem_pthread.dylib          0x00007fff6946d589 _pthread_cond_wait + 732
2   GenusPrime                       0x0000000105b79da7 0x10588b000 + 3075495
3   GenusPrime                       0x0000000105b70035 0x10588b000 + 3035189
4   GenusPrime                       0x0000000105b77e77 0x10588b000 + 3067511
5   libsystem_pthread.dylib          0x00007fff6946c661 _pthread_body + 340
6   libsystem_pthread.dylib          0x00007fff6946c50d _pthread_start + 377
7   libsystem_pthread.dylib          0x00007fff6946bbf9 thread_start + 13

Thread 4:
0   libsystem_kernel.dylib           0x00007fff692a4a16 __psynch_cvwait + 10
1   libsystem_pthread.dylib          0x00007fff6946d589 _pthread_cond_wait + 732
2   GenusPrime                       0x0000000105b79da7 0x10588b000 + 3075495
3   GenusPrime                       0x0000000105b70035 0x10588b000 + 3035189
4   GenusPrime                       0x0000000105b77e77 0x10588b000 + 3067511
5   libsystem_pthread.dylib          0x00007fff6946c661 _pthread_body + 340
6   libsystem_pthread.dylib          0x00007fff6946c50d _pthread_start + 377
7   libsystem_pthread.dylib          0x00007fff6946bbf9 thread_start + 13

Thread 5:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib           0x00007fff6929b20a mach_msg_trap + 10
1   libsystem_kernel.dylib           0x00007fff6929a724 mach_msg + 60
2   com.apple.audio.CoreAudio        0x00007fff40bd287a HALB_MachPort::SendMessageWithReply(unsigned int, unsigned int, unsigned int, unsigned int, mach_msg_header_t*, bool, unsigned int) + 124
3   com.apple.audio.CoreAudio        0x00007fff40bd27ed HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 45
4   com.apple.audio.CoreAudio        0x00007fff40bcf859 HALC_ProxyIOContext::IOWorkLoop() + 977
5   com.apple.audio.CoreAudio        0x00007fff40bcf2bc HALC_ProxyIOContext::IOThreadEntry(void*) + 128
6   com.apple.audio.CoreAudio        0x00007fff40bceffe HALB_IOThread::Entry(void*) + 72
7   libsystem_pthread.dylib          0x00007fff6946c661 _pthread_body + 340
8   libsystem_pthread.dylib          0x00007fff6946c50d _pthread_start + 377
9   libsystem_pthread.dylib          0x00007fff6946bbf9 thread_start + 13

Thread 6:: com.apple.NSEventThread
0   libsystem_kernel.dylib           0x00007fff6929b20a mach_msg_trap + 10
1   libsystem_kernel.dylib           0x00007fff6929a724 mach_msg + 60
2   com.apple.CoreFoundation         0x00007fff41184ea5 __CFRunLoopServiceMachPort + 341
3   com.apple.CoreFoundation         0x00007fff411841f7 __CFRunLoopRun + 1783
4   com.apple.CoreFoundation         0x00007fff41183867 CFRunLoopRunSpecific + 487
5   com.apple.AppKit                 0x00007fff3e850fc4 _NSEventThread + 184
6   libsystem_pthread.dylib          0x00007fff6946c661 _pthread_body + 340
7   libsystem_pthread.dylib          0x00007fff6946c50d _pthread_start + 377
8   libsystem_pthread.dylib          0x00007fff6946bbf9 thread_start + 13

Thread 7:: CVDisplayLink
0   libsystem_kernel.dylib           0x00007fff692a4a16 __psynch_cvwait + 10
1   libsystem_pthread.dylib          0x00007fff6946d5c2 _pthread_cond_wait + 789
2   com.apple.CoreVideo              0x00007fff42d773f3 CVDisplayLink::waitUntil(unsigned long long) + 237
3   com.apple.CoreVideo              0x00007fff42d769a4 CVDisplayLink::runIOThread() + 500
4   libsystem_pthread.dylib          0x00007fff6946c661 _pthread_body + 340
5   libsystem_pthread.dylib          0x00007fff6946c50d _pthread_start + 377
6   libsystem_pthread.dylib          0x00007fff6946bbf9 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0xbadd4e293227bead  rbx: 0x000000010cfcb7c0  rcx: 0xbadd4e293227bead  rdx: 0x000000000001ace0
  rdi: 0x0000600000240ab0  rsi: 0x0000600000240a20  rbp: 0x00007ffeea373280  rsp: 0x00007ffeea373280
   r8: 0x0000000000000001   r9: 0x000060000005ffb0  r10: 0x000060000003d85c  r11: 0x000000000000000e
  r12: 0x0000000105cd8428  r13: 0x0000000105c96148  r14: 0x000000010c5804e0  r15: 0x0000000105c7bb10
  rip: 0x0000000105b7b743  rfl: 0x0000000000010282  cr2: 0x0000000114199000
 
Logical CPU:     0
Error Code:      0x00000000
Trap Number:     13

Offline Xerra

  • Hero Member
  • *****
  • Posts: 605
    • Retro Evolved
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #5 on: April 03, 2019, 05:51:50 PM »
Seems you made the game creates a logfile itself so maybe the attached tells you something?


Offline Steve Elliott

  • Hero Member
  • *****
  • Posts: 1808
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #6 on: April 03, 2019, 06:41:19 PM »
I'm not getting sound on Linux, Derron.

I have sound in general and running Steam Games the sound is fine there.

Playing the game's sounds/music in the assets folder also works.
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).

Offline Derron

  • Hero Member
  • *****
  • Posts: 2170
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #7 on: April 03, 2019, 07:08:16 PM »
@ Xerra
Do both variants (32 and 64bit) crash on your Mac?
The 64bit variant uses some fixes in the Garbage Collector which needs some testing (eg. for TVTower I do not use the most up-to-date variants as it created issues).



@ Steve Elliot
Which binary did you try? 32bit or 64bit?
Which distribution? It should use/have installed "PulseAudio".

log.app.txt might contain information about the audio system.

I will create a new version which allows to use another sound engine (eg. Alsa).


bye
Ron

Offline Steve Elliott

  • Hero Member
  • *****
  • Posts: 1808
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #8 on: April 03, 2019, 07:12:44 PM »
There was only a 64-bit Linux version (32 and 64-bit for Windows).  I'm running Mint 19.1.  OK will try that new version.
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 1923
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #9 on: April 03, 2019, 07:25:12 PM »
Do both variants (32 and 64bit) crash on your Mac?
The 64bit variant uses some fixes in the Garbage Collector which needs some testing (eg. for TVTower I do not use the most up-to-date variants as it created issues).
Tried both variants and both crash on Mac after playing the beginners rule tutorial for a few seconds :

Code: [Select]
Process:               GenusPrime [1215]
Path:                  /Users/USER/Downloads/*/GenusPrime.app/Contents/MacOS/GenusPrime
Identifier:            GenusPrime
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           GenusPrime [1215]
User ID:               501

Date/Time:             2019-04-03 19:23:15.607 +0100
OS Version:            Mac OS X 10.14.3 (18D109)
Report Version:        12
Anonymous UUID:        A8C7AA34-124C-3EB2-5A0E-60F45EDDE869


Time Awake Since Boot: 8900 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x000000000000011e
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [1215]
Until the next time...

Offline Derron

  • Hero Member
  • *****
  • Posts: 2170
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #10 on: April 03, 2019, 07:32:19 PM »
@ Steve

https://www.gamezworld.de/files/GenusPrime_v1.0_Linux.zip

Unzip and override the files. 32 bit variant wont be needed but it's there now.

To adjust the sound engine open up "config/settings.xml" and look for "sound_engine". (it get's rewritten on programme execution, so the following "comment section" wont be there.
Code: [Select]
<!-- possible values:
all:     AUTOMATIC
linux:   LINUX_ALSA, LINUX_OSS, LINUX_PULSE, UNIX_JACK
mac:     MACOSX_CORE
windows: WINDOWS_ASIO, WINDOWS_DS

attention: program might crash with invalid settings!
-->
<sound_engine>AUTOMATIC</sound_engine>
Try with LINUX_ALSA or LINUX_OSS or LINUX_PULSE.

Offline Derron

  • Hero Member
  • *****
  • Posts: 2170
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #11 on: April 03, 2019, 07:36:22 PM »
Tried both variants and both crash on Mac after playing the beginners rule tutorial for a few seconds :

Will try to debug it somehow. How many seconds are "few seconds"?
Do you do something "user interaction"-wise?


Asking as it does not crash here - might be a "more modern Mac thing".



If you are a bit experienced with "Blitzmax NG" then of course you could compile it on your own - as the sources are free:
https://github.com/GWRon/GenusPrime


bye
Ron

Offline Steve Elliott

  • Hero Member
  • *****
  • Posts: 1808
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #12 on: April 03, 2019, 08:14:39 PM »
LINUX_PULSE works here.   :D
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).

Offline Derron

  • Hero Member
  • *****
  • Posts: 2170
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #13 on: April 03, 2019, 08:17:01 PM »
That is interesting - as "Automatic" should try to start with PulseAudio. Pretty odd thing.
Nonetheless: good it works now.

Could of course add a gui-drop-down in the settings to make it more convenient for other Linuxers - dunno how many are around there. But for now I think this is no bugfix and it has to wait for the voting end time.


bye
Ron

Offline Steve Elliott

  • Hero Member
  • *****
  • Posts: 1808
Re: Genus Prime - 8-BIT WARS competition entry
« Reply #14 on: April 03, 2019, 08:23:59 PM »
Quote
That is interesting - as "Automatic" should try to start with PulseAudio. Pretty odd thing.

That's computers for you, maybe just default to to PulseAudio in settings.

Quote
But for now I think this is no bugfix and it has to wait for the voting end time.

Sound not playing is definitely a bug, but that seems to be a simple fix - just update with a new config file.   :)
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).