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).

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).

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 :-)

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.

@ XerraDo 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 ElliotWhich 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).

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 :

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.

If it used eg. "Alsa" (which would work on your distribution too) then you might experience odd things: it works if no other sound source is playing (browser with youtube, internet radio ...).If you now use PulseAudio then you might see that Youtube won't play as it cannot play audio - if you then end the application it starts to play. At least it is that way here in my Linux Mint 18.3

Might be the reason why many use OpenAL to tackle all these problems. On Windows that means to provide an additional .dll file and maybe some more little annoyancies.

@ QubeHmm you do not seem to do something special. And if it was something special then it would not explain why it crashes on Xerras Mac too (except he does the special thing too ... which I doubt). I think it also crashes on "skirmish" or so - so nothing "campaign specific" (introduction screens were shown - and from then on nothing should differ to a random/skirmish game). Muting the music won't fix it too (I think).(I even tried to click the way you did - and it survived :-/)

I assume it is an issue with my old XCode and your newer Mac.

Maybe Brucey or another NG user can compile on a newer Mac OS (make sure to update BCC/BMK and the brl/pub/sdl modules if you use the 0.99 mac release).

Thanks for uploading the video. Windows version does not crash I hope ;-)

ok I see what you mean, after using LINUX_PULSE in settings that made youtube videos sound awful. So use one setting on start up and switch on program exit? That's what I did manually to get Youtube sound back.

- you start the app and it tries one of the sound engines - eg PulseAudio- each youtube video you start afterwards (while the app is running) it stays silent- end the app and you can play youtube videos with sound

- start a youtube video and it plays sound- start the app with Pulse Audio and it plays sound

- start a youtube video and it plays sound- start the app with Alsa it plays no sound

Sound on Linux always was a bit of an issue (for me). PulseAudio changed a lot already (hot switching to bluetooth output, hdmi instead of soundcard etc.).Dunno how it is with AGK (and others). Maybe they tackle it different to me (using "rtAudio" via maxmod2.mod).

Aside of the audio discussion here I am not against reading some feedback or other (solveable! :-) bug reports.

As a Linux newcomer I think sound is a major problem and lags behind the rest of the OS, which is very nice.

I had to change sound settings in your game, and then back again to regain (undistorted) Youtube sound. Some experimentation for later, it seems you have bigger problems on Mac to sort. I can get the game to run without crashing on Linux.

I compiled a new version - which should allow to not initialize the sound engine at all and to make it configurable via GUI.

(http://i.imgur.com/oy8I2VZ.png)

https://www.gamezworld.de/files/GenusPrime.MacOS.64bit.AudioChanged.zip-> contains 2 zip files with one not using rtAudio.mod (if that creates the crash)

https://www.gamezworld.de/files/GenusPrime.Linux.AudioChanged.zip-> contains the 32 and 64bit variant with the Audio-Driver-GUI thing

if settings.xml contains audio_engine="NONE" then it _should_ avoid to init the audio engine at all. Nonetheless I would wonder if it was rtAudio - as the "main screen" already uses it ... so it should crash there too. But hey, better test that out than nothing.

Original Download is left intact (just in case someone says that the GUI option addition is against the rules).

@ languageMost of the time it's the libraries which need some love. So to play sound cross-platform, to render graphics cross-platform.For Mac there is also the issue of not allowing cross-compilation from within other OSes. So you need a mac (or hackintosh / working VM) to compile for Mac. Scripting-Languages like AGK, Godot, ... would then just provide a pre-built binary (containing the "engine") and the only thing the user needs to supply are assets + scripts. That way other targets could be "exported to" without needing real hardware access / OS installations of this platform.

@ macif someone wants to compile with a newer BlitzMax NG:- download https://github.com/bmx-ng/bmx-ng/releases/tag/v0.99.3.31.macos- extract and run the "run_me_first.command" or "build_maxide.sh" - download and extract https://github.com/bmx-ng/bcc- download and extract https://github.com/bmx-ng/bmk- build bcc.bmx and bmk.bmx from within MaxIDE- replace BlitzMaxNG/bin/bcc and */bmk with the newly build ones- download and extract https://github.com/bmx-ng/brl.mod- download and extract https://github.com/bmx-ng/pub.mod- download and extract https://github.com/bmx-ng/sdl.mod- download and extract https://github.com/bmx-ng/maxmod2.mod- remove BlitzMaxNG/mods/brl */pub */sdl- extract the above's downloads into it

You should now run the most recent version of NG without having to rely on a new "release".With this you should be able to compile Genus Prime on your Mac.

Edit: maybe I should write a "update_installation.command" thing to automate the process (somewhere Brucey already had such a "fetch latest stuff" thingy)...

brl.mod-master must become "brl.mod"pub.mod-master must become "pub.mod"sdl.mod-master must become "sdl.mod"

and these folders need to get put into blitzmax/mods/...The ones with the same name in this folder you better rename first (brl.mod.bak or so) to keep them.

BUUUUUUT .... BEFORE you do that you could already try it with that version:rename those "enum" (4 lines) to "enumerator". Should be all (in my code)

Updating the modules can be useful for certain fixes - a new BCC needs of course new modules as they used that "enum" which is now a registered keyword.

IF you are able to compile - regardless of how it plays then or if it crashes:- xcode version- os x version

I ask because IWasAdam compiled the game on his mac and experienced a lot of issues (window started behind all other windows, mouse clicks did not get registered until you moved the mouse, ...) but I do not know yet if it happened to the mac version I upped too. I for myself compiled it on Yosemite with an gray beared xcode (4.7 or so) and if you are "up to date" your xcode might be 10.3 or 10.4.

This was really impressive! A fun take on this game concept and I especially liked the GUI - lots of fantastic little details. Just tried a quick match now, but will play some more and report back if I find something to report. Seems to work great on my Xubuntu 18.10 system though.:)

Building as a debug build runs fine from the IDE it seems. But when you run the generated application directly then the same error after starting the main game happens again. No debug messages given during play.

Pheeww... if it works when started by something "else"... But the "release" build crashes when run from within MaxIDE ?

I assume if you are running the application from a terminal (open a terminal, move into the GenusPrime directory and start it via ./GenusPrime(.app)) and it did not crash then it is a matter with OS X (non-signed app etc).

-> am a bit clueless now. I somehow hoped it just crashes in debug and points to the broken code line ;-)Nonetheless I am pretty sure that some of you (eg. Brucey) know why might not crash in a debug environment here and there - some stuff works different in debug mode (GC or so).

Just to clarify, I built the game with debug mode as a gui app for 64 bit Mac. I ran the created application and it had the same problem as previous versions where it would crash out 15 seconds or so after starting the first level.

However, when I built and run the game from within NG then it did run without that issue and I played the game for half an hour or so without crashing. I have no idea why this happens but I wanted to make sure you're aware as you seemed to be thinking it was the other way round.

Also, what I should add, is that I really like the game. I'm rubbish at it but I think it's a very good entry for this competition. I've had a go at most of the games now and it's definitely one of my favourites. I reckon it will do well in the voting.

Then it would create a copy of the whole map in each loop (not performant for now but as said the most simple fix). I will try to shape of some sparetime this morning/lunchtime and and upload a new version then.

I hope it works and fixes the issue. I meanwhile will compile the game again on my old Mac - and am excited to see if it works then for you too (with my old XCode etc).Still does not explain why it should work when executed from within MaxIDE and not when "double clicked".

BTW I could verify the mouse issue you had: If you by accident built a "console" version (not "gui") then it opens in a terminal and the event processing seems to be a bit borked. Will open up an issue for NG.

Uploading a new 1.0.1 later (VirtualBox update garbaged my Windows VM so the windows build takes a bit).

Uploaded v1.0.1 (Linux, Mac, Windows)- fixed some colors leading to a titlescreen flicker (removed color alternate-trick on logo-text) - whopping 20 pixels- fixed issue with "concurrent modification" of some TIntMaps leading to crashes- (compared to the v1.0 it contains a sound-engine selector now - especially useful for Linuxers)

I revived my "BlitzMax without additional modules"-ogg-streaming code, might test it later on with this project now as I know about some Mac users here ;-) Works for vanilla now - NG segfaults and needs some love/adjustments.

Here is a build by IWasAdam based on the patch I posted this morning (so it still says v1.0 don't wonder). If my newest version crashes for you - let me know and until we get that fixed you can use IWasAdams build.

https://www.gamezworld.de/files/GenusPrime.mt.app.zip

Just extract and drop the GenusPrime.mt.app "file" (collection) into the GenusPrime directory.

Will look into it this evening - when at home again. This happens because it also checks ship count to see if a player is dead (might have set all his last ships to flee to another planet). Somehow this count is now not updated properly for you (I use a cache...to count). It is decreased on a RemoveShip() call... Which now does not delete a ship immediately but in the following for loop of the update cycle. So I thought it is logically the same... Seems not.As said I will have a look at it later.

Could you try my download ...does it crash as it does for IWasAdam?If it crashes then one of you both will have to build a Mac version for me afterwards.

If a ship was not alive it never decreased the count when getting destroyed ;-)

Updated my repo accordingly (just fetch a new GenusPrime.bmx if you want).

@ Steve(http://i.imgur.com/8WSp4WZ.png)

@ othersUploaded v1.0.2 with fixes. Adams version for Mac should still work - as it did the "performance hungry" fix (creating a copy of a map containing all currently existing ships/missiles each time).

https://www.gamezworld.de/files/GenusPrime_v1.0.2_LinuxMacWindows.zip

Thanks for Xerra pointing me to the bug regarding the level end check/playerstates.

Hi Derron.I really like the concept for this and I'm going to use it as a test bed for my next project.I like the concept of clicking/selection and sending things that you have no real control over

I'm working on the base core of clicking and selecting atm

Feel free to use some of the code / logic (it is Open Source you can have more than a peek).

Think one could do this in a Fantasy/Monsters world too ... so different castles (puddy-slime-pond-castle vs anthill-castle...) and different troops. Would even allow for different TechTrees ...Drop me a line if you want to tinker in a collaborative way.

For selection and so on: all the entities on screen have an "area" which reflects their map position and dimension. This area-rectangle can either get converted to screenspace - or you just convert your input into map-space. Then a simple "entity.area.contains(mousePos) then SelectEntity(entity)" is enough to that.Using group select - dunno if this is the best approach - I just used a check whether a groupSelectionRect is created (done on "button down" with x,y at mouse pos and w,h = 0,0) and if then button is no longer down you use the new mouse position for rectangle's width/height.

But I think you know all of this already as your other games hat similar interaction mechanics.

@ sizesI had sizes for planets in too (for now they are fixed). Sizes would have then allowed for more population, more missiles, ...but thought "feature creep"...so kept it out - same for stealth, anti-stealth, ...

What might be of interest for (...to think about - not to look at) is to make sure that cities/planets/castles/... "bases" are having a minimum distance to their neighbours - and to avoid clamping too much (or... to allow/enforce clamping/grouping). I prefer dynamically created worlds over hand crafted ones - as this allows for endless games (I use defined seeds - maybe it would have been a good idea to add a "seed input widget" for the random/skirmish games to more easily replay stuff).

First game idea was btw without the complexity of upgrades - just "grow and send" but then I saw that other games used a similar approach which is why I wanted to be at least a bit different. A pity that this means to increase gameplay complexity (which isn't what all players like).

PS: I protoyped with DrawOval too. Some stuff like mouse cursor and the animated selection rectangle are even still created using DrawRect chains. Sooner or later the "graphician" in me wanted to tinker a bit so you will do for sure too.

Here's a base build showing a single selection and range. the yellow/grey things are the available units. they are yellow when they are available(https://vjointeractive.files.wordpress.com/2019/04/screenshot-2019-04-07-at-12.58.25.png)

Derron - not to drial this I've moved further work into Strata Novahttps://www.syntaxbomb.com/index.php/topic,5446.msg25062.html#msg25062 (https://www.syntaxbomb.com/index.php/topic,5446.msg25062.html#msg25062)

Next to the suggestions I now also deselect a planet if you loose owner ship but only íf you selected multiple planets as a single planet selection might be intentional.

Will try the map drag later on and update binaries to test the new sound engine too (no more rtAudio for streamed ogg - if it works at least ;-)).Now kindergarten asked me to help building up a skid/slide so real life "world building" is asking for my attention.

hint - middle mouse is not a brilliant support choice as many people don't have mice with 3 buttons or even 2 buttons.

if you were looking at (purely from a usability point). track the mouse. over a planet = select not over a planet = drag about - or consider not needing to drag the screen about (some form of auto scaling perhaps?)

@ auto scalingNope - we already have the ability to position via minimap clicks, moving mouse to the sides of the space-viewport

@ 3 buttonsYes, these people with 1button mices would not be able to use the middle mouse buttons nor would they be able to use right click. For them you need to provide eg. "D" and "F" keys to emulate the buttons (D and F because of their positions for a resting-hand-on-keyboard - and F having the "marker" on it for 10 finger typing).

@ mouse over planet or notIf you have your mouse not over a single planet you most probably want to mouse-area-select. Also it might look a bit odd if you did not hit the targeted planet perfectly and now the scrolling starts (for the moment you "hit" the mouse - aka "mouse down" until you "clicked" which means you released the mouse button).

I could add the option (for 1-button-mouse-users) to handle double click: double click then "scrolls to".

Aside of that I could also just add a simple cursor-key-movement to get rid of all that extra handling for 1-button-mouse-users (except for "right click").

As said above one should not forget: map dragging, mouse map scrolling, ... this is a convenience-extra-feature which is reachable with mouse-movement (sides) and LMB-click (minimap) already.

@ new releaseWill have to fight a little bug in my freeaudio-soundmanager as it bugs refilling stream buffers on the second crossfade to a track (a-b-a) think the TChannels behave not exactly as they should with static buffers or an even simpler but yet hidden bug.

I rewrote the crossfader in my SoundManager class. The problem was or is, that there was no easy way to chain a streamed audio to a FreeAudio-channel object and to synchronize played time (to refill buffers accordingly etc.). Once I seem to have it working I found crackling sounds on my Windows 10 notebook - seems the FreeAudio module has some quirks for the Windows part if it is running Windows 98 :) - and these settings are required here too (and they are even used in an exaggerated way when utilizing the Direct Sound backend ...). Once that was fixed I now have had at least flawless playback on:- notebook with Windows 10 64Bit and a Linux Mint 18 64bit- my desktop with Linux Mint 18 64Bit- 32bit Mini-XP-VM on my desktop

Was not able to check the audio output of the Mac but ...heyya.

So for all 3 OS this means the download here (v1.0.4) now does not use "maxmod2/rtAudio" for playback of the music but the BlitzMax-provided FreeAudio and a little custom audiostream solution by me. It might work - or might fail, dunno. Maybe that even makes it work on Adam's Mac OS but I heavily doubt it.

Would be nice if some of you (Xerra?) could give it a little test (sound playback and new control support). If your feedback is positive I would upload it to itch.io (maybe it finds some new players then).

Ye of little faith. I downloaded it a couple of days back but i've got a bit of a nasty ear infection so not had much computer time until today.

Mac version works fine for this update, I'm happy to say. Using Ctrl-A and moving the map with the middle mouse button does give a much better feel to playing the game now. I suspected it would but luckily you didn't need to have that in place for the compo version to still become the deserved winner. Personal opinion is the game is still a little too hard for my liking. 3rd tutorial level where the map is first scrollable is an example. I struggle to get off that because it feels like the enemy gets the upper hand far too quickly for me to establish a solid foothold.

I'll be very curious to see what kind of bigger game comes out of this now you and Adam are plotting world domination. Looking forward to having a play on that.

Open up "assets/maps/campaign_02.xml"You can adjust population, missiles ... or even time the support to a later moment. You might even add a support for your player (you then just need to "survive till that moment").

Maybe that helps already.

And yes - I've lost many times too, it really depends on timing - so eg. start your ships later than an enemy so that his ships decrease population count of the planet for you (saves you some ships).Also I rescued ships by sending them to other planets if I see multiple fleets targeting a planet (first fleet will kill you, second one the first fleet). So same game here: let them kill each other.If you do it wrong right on start you will already be on the looser side without knowing it yet. It is hard to "turn around" the game in later stages - especially if only you and a single cpu player are left.