Monday, 21 December 2020

New Year, new projects

 Well its been pretty quiet on this blog for a while and maybe this is the time to change tack a bit.


I have quite a few new boards (as you may have noticed) many of which are capable of doing OpenGLES3.x or even Vulkan. So I'm making some efforts at work to upgrade the tutorials I give students to be more OpenGLES3.x or even OpenGL4.4 compliant.


To that end I need to get my own skills up to speed as I'm a bit locked into an OpenGLES2.0 mindset. So I'm going to start a new project as soon as I clear up a couple of older legacy projects.


The last couple of weeks I've been doing some tests on some new ideas on how to handle my shaders and lighting systems. By stressing out my Pi3 and Pi4 and not even attempting to stress out my Jetson. To outline some of the things that I need to revew to get better performance in a game related concept.


So, Im going to spend most of 2021 writing a game, its not a new game, though it is kinda unique, its actually a project I've been giving my students every couple of years to test their logic and basic graphic skills.


Its called Empires, its a fairly simple game, where students were tasked with creating a galaxy with 8192 stars in those stars a number of habitable planets needed to be seeded which have resources and if inhabited technolgy to trade.

Thereafter the game behaves a bit like the game of life as a planet can be colonised by the player creating a sphere of influnce around it, which if another planet comes inside that sphere can itself be converted to the players team and generate its own influence. Over time its quite possible for the player to just take over a planet and slowy wait to see all the other planets fall.

Of coruse there are other empires in the galaxy also expanding and in time coming into conflict with yours, so there are certain requirements a planet with sufficient tech needs to do to avoid invasion or to allow it to expand.

Ability to crete defensive and exploritory ships to both save and attack planets as well as large colony vessels to inhabit new ones means that you can artifically influence the growth of the empire and if careful cut off the advancement of other empires... So there's a little strategy involved.

Mostly though its an automatic process that students just have to set up and then work out ways to visualise. Its a fun challenge and over the years I've seen some amazing examples and some dire ones too.


So I'm going to do my own version of it, try to increase some of the playability a bit by introducing more strategy and interaction from the player. Students normally get 8 weeks to do this, and as I say some are amazing, I've got a year, or 2 :D depending on how much time I can get to spend on it, but I do hope to make a nice game out of it, adding some nice concepts from some of my own personal favorite RTS's.

I bought some nice model assets online and downloaded as much suitable free stuff as I could find. And started to do some basic tests on performance on targets, Ideally the Pi4, but I'll try to make something work on the Pi3, at least until I hit a full stop.

Early tests incldued some hires lighting which I can improve performance on considerably



various model tests on the models I bought, to test stress levels on a Pi4



And some point cloud galaxy generation tests. the Point cloud has a range of other uses too, it will be used for thuster trails and explosions with a few different shaders in place to keep performance up.

I need to get a few more tests done on fonts and picking algorithms, before I can make a proper start on things but thats going to be where most of January will go. I'll upate things as I go.




No comments:

Post a Comment