Genus Prime - 8bit compo WIP

Started by Derron, February 02, 2019, 16:06:42

Previous topic - Next topic

Derron

Here is a little WIP-Thread for "Genus Prime", a fast paced sci-fi-strategy game.


A WIP of the title screen (need to redo many pixels as it looks kind of dirty/ugly, using the "spray can" in GrafX can destroy stuff it seems).
It uses more colors than the 16 ones (for now 23 - but could surely reduce to 16) as I planned to use the color-alternation trick. Means it would limit me to classic MCI or newer IFLI)..




Without exposing too much gameplay, here is a WIP shot of the interface:


For now I did not check if it is fully IFLI/NUFLI compliant - as creating this low-res stuff is already taking way longer than programming the basic gameplay (the basic game principle is already working - after 2 evenings of coding). Rendering the whole stuff and creating some vector stuff or layer-style-based-Photoshop-magic would take an evening but here every pixel counts.

I tried a whole lot to work with "GrafX2" but it just behaves so differently to the paint programmes I am used to (talking about GUI, not the painting itself). The game interface was now created in my old Photoshop CS1 with a C64 palette in an other image (alt+click for palette select).

I thought about adding more colors for "variation" and better color ramps but ... yeah... as said asset creation takes way more time and then there will _surely_ be people around here who blame that this GFX is not possible on real C64 hardware or that I did not follow the (you-do-not-have-to-strictly-follow) rules.
   

Noteworthy too: I use a mouse for interaction as gamepad would not allow the (fast paced) gameplay I want to use. Also I ignore hardware sprite limits and other stuff. In essence it is kind of an 320x200*16 game. Going down much further is just making my eyes bleed :-)


bye
Ron

Qube

Looks good :)

Quotethere will _surely_ be people around here who blame that this GFX is not possible on real C64 hardware or that I did not follow the (you-do-not-have-to-strictly-follow) rules.
You could with this trick although it doesn't work for all colours.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Derron

I wrote functions for alterating colors for the retro xmas 2017 compo already.
Including functions to autocreate the needed sprites out of the "multicolor" image.

For color selection I use CIElab (perceived color distance). Which works pretty well with the "dusty" color palette of the C64.

On my 60Hz TFT screen I have some flickers every now and then. Think that would not happen that "stuttering" way on a C64+CRT. Which is why I have a flag to disable alternation of colors. It would then directly use the RGB value created by mixing the two C64 colord.

Bye
Ron

Qube

Yes, I doubt you would see it on a CRT as much as you would on a TFT and having the toggle option is a good idea as no doubt those that have high Hz and fast ms response times will see the flicker even more. Will be interesting to see it in action though and find out who gets little to no flicker and who's eyes melt out :P
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Derron

Had no time to dev further since the last post here - so almost a month done "nothing".

Thursday I finally got an afternoon for myself (thanks wife) and coded a basic (but varying) AI class. Decisions the AI makes (for now it can only attack, no tech upgrades) are based on "modifiers". So eg. selection of the target is based on "attraction".

Attractions are calculated out of different factors - and they are multiplied with above written "modifiers".
Each AI has "characteristics" which influence these modifiers. Also the AI classes might extend to allow very specific characters with behaviour being altered drastically.


After I did that I needed to "trim down" the AI to only do such "attack commands" (or other thoughts) every XXX milliseconds (depends on the difficulty level of the AI - aka "brain speed"). Else I was pretty fast "game over" as it was not as easy to spread my fleet as fast as they could.


What's to do:
- GUI (Settings, Startmenu)
- HUD interaction
- tech tree including effects on the gameplay
- minimap
- story mode (getting more difficult with the levels - ans scrollable maps)
- maybe little images for your opponents for a better "immersion"
- sound effects and music
- AI improvement / different strategies (explorative, researchers, ...)

Once the HUD is halfly working I would expose gameplay in a video or so. Having an hour of kids-in-bed-for-after-lunch-napping now ;-)


bye
Ron

Derron

Improved AI a bit: it now takes into consideration units currently send to support or attack planets. No fancy stuff with distance calculation (would need to handle each ship - now I can simply use a numeric value stored for each planet).

Also added a tiny techtree thingy which currently involves fertility (population growth) and ship speed (faster ships are good for expansion plans).

The improved AI helps to avoid that all enemies (if you eg. play versus 5 AIs) target a defence-less planet at the same time. On the other hand it now also let the AI target planets which will be easy targets once an enemy force tried to occupy a planet with a handful of ships.


Sparetime gone for now - maybe I am able to create a gameplay video this evening.


bye
Ron

Derron

#6
Little gameplay video:


- decreased ship speed a bit as I introduced a techtree (looks a bit slow-paced for now)
- used a bigger map to show scrolling and parallax (some stars in the background)
- star amount is based on a single-screen map - so normally you have to do a bit more


Basic idea is to ... rule the galaxy ;-)
For this you send ships to other planets. Each planet grows over time. Each being on a planet creates "research points" every second (for now). Once every 5 seconds (for now) you as a player auto-collect what was "build up" in that time - if you lost a planet, another player earns it.

Research points can be used to improve fertility (better grow rate) or increase ship speed.
I thought of having planet-individual tech too (means other ones can gain access to it by becoming the new planet owner).


Todo (aside of above):
- basic diplomacy ("x seconds non-attack-agreement between AI1 and AI2" or such stuff)
- more varying AI
- tech tree handling/visuals (icons already pixeled)


bye
Ron

Qube

Cool, it's sort of like Risk but in space ;D
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

GaborD

Sounds really great.
I like that you went for strategy. The map looks nicely sized, could lead to interesting strategies.
Tech trees, diplomacy, you are going all in :)
So many great entries this time!


therevills

Looks great! Love the GUI!

Did the C64 have a mouse? I remember playing these sort of games with a joystick!

Derron

@ therevills


source: https://www.c64-wiki.de/wiki/Mouse_1351

I could add joystick support but marquee/rectangle selection and later on a more fast paced control style would not suit well to controls via joystick.


@ GaborD
Yes, I prefer strategy/simulation over arcade, jumpnrun - which is what many users here prefer. Glad to see we get some other entries this time too (RPG).
Map size will differ in the missions/scenarios/levels. Begin with one opponent on a 1-screen map, later on get more enemies/races and bigger maps.


@ Qube
Risk.. hmm. Means I should give bonuses if you control "quadrants"  (like the "cannon, cavalry, infantry" cards of Risk) ?


bye
Ron

therevills

Quote from: Derron on March 04, 2019, 06:51:05
@ therevills


source: https://www.c64-wiki.de/wiki/Mouse_1351

I could add joystick support but marquee/rectangle selection and later on a more fast paced control style would not suit well to controls via joystick.

Ah, I do remember something like that for the Amstrad (from magazines), but we never had one - did many people have mouse devices for the 8bit machines? None of my friends did, until the 16bit era.

Matty


Derron

Quote from: therevills on March 04, 2019, 07:39:01
Ah, I do remember something like that for the Amstrad (from magazines), but we never had one - did many people have mouse devices for the 8bit machines? None of my friends did, until the 16bit era.

Yeah, I also do not remember someone who played these games on FHD LCD/LED screens that day ;-)

I think I also skip "disc swapping" (the physical one, not the memory-harddisc-thingy). Not all inconveniences of the old systems need to get transported into modern days. Means I even allow multi tasking. Brave man I am.


bye
Ron

Derron

Had some spare hours this evening and added some tiny details to the hud:
- speed buttons including their hover/active state)
- planet info fields (maybe adding some more - to display planet techtree/upgrades)

Also made the minimap handle clicks accordingly to allow rapid map movement. Fine grained scroll-areas (borders of the space-area on the screen). So you can either use the minimap or "border scroll".



Drawing these pixels takes its time.

bye
Ron