[WIP] TankMania - Syntax Bomb Game Competition Sept to Oct 2018

Started by Qube, September 15, 2018, 02:12:50

Previous topic - Next topic

Qube

WIP of a possible game for the comp - I present a super early look at "TankTastic" \o/

OK, not sure if this will actually turn into a full game or if I'll even get the time to do so. It's more of a "Qube adventures in Unity land" at the moment. I hope to complete it in time but we'll see ;D

The idea will be tank wars in a maze. You vs spawning AI driven enemies with pick ups to boost speed, power, weapons, health etc.

Not a whole heap to show at the moment and there's some geometry to fix ( flickering textures overlapping ). Next step is to dive into Unity's NavMesh thingamajig and figure out how that works + get enemy tanks to act accordingly. No idea how to do that yet but you gotta love a challenge :P

Very early WIP video ( 1080p 60FPS ) :

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

Any clue how many vertices are rendered per frame?
I have 300.000 for now (400 tiles with 8+ vertices each + the collectibles + creatures + particles) and my lighting setup already creates a 70% cpu load on one core. Your's looks "rounded" (more polys).


Bullet-Trails:
What did you have to do on your own and what was provided "somehow" by Unity already? I assume each bullet has some kind of particle system attached which gets disabled once it hits something ? At least I tink I would do it "that way".


Nav-Mesh:
In Godot I could have used that too - if I wanted a "free movement + collision" like you have in your demo/wip now. I took the long route of maintaining grid positions and checking simple boundaries on my own. I assumed that a "free collision check" is more expensive than a simple "gridCol <> otherGridCol" thingy. Am not sure it it was worth the hassle.


AI:
This will be the most _fun_ part once the other stuff is working.
Do not forget to have stuff like "speech bubbles": "Get ready to bumble!", "I will melt your nuts" (assuming they are mech-tanks with bolts and nuts), "Loosing is your hobby" ... and so on. Stuff you surely know from "Atomic Bomberman".


Items:
Slippery oil, bullet boost, rapid rails/tracks, Ronalds-Monster rocket (tears down a wall when hitting it), sand bags ("shoot" them and a "needs to get shot away"-sand-bag-wall is built there)
Maybe nice to have: a "ghost tank" (doing the exact same movement than yours - but mirrored), tank does not have impact when shooting



Keep going!

bye
Ron

Steve Elliott

Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb


iWasAdam

Yep agreed, looking and playing very nice. it shows the power of Unity once you begin to get a grip on it.


Qube

Quote from: Derron on September 15, 2018, 08:24:19
Any clue how many vertices are rendered per frame?
I have 300.000 for now (400 tiles with 8+ vertices each + the collectibles + creatures + particles) and my lighting setup already creates a 70% cpu load on one core. Your's looks "rounded" (more polys).

There's a stats option which shows the below ( if it's go any help ) - I've still to look into batching and saving draw calls :



Quote from: Derron on September 15, 2018, 08:24:19
Bullet-Trails:
What did you have to do on your own and what was provided "somehow" by Unity already? I assume each bullet has some kind of particle system attached which gets disabled once it hits something ? At least I tink I would do it "that way".

There is a feature called trail renderer which has all sorts of options. In this case I set the graph to reduce the tail end, created a particle shader material and set to adaptive blending. 

Quote from: Derron on September 15, 2018, 08:24:19
Nav-Mesh:
In Godot I could have used that too - if I wanted a "free movement + collision" like you have in your demo/wip now. I took the long route of maintaining grid positions and checking simple boundaries on my own. I assumed that a "free collision check" is more expensive than a simple "gridCol <> otherGridCol" thingy. Am not sure it it was worth the hassle.
I'll be playing with the nav mesh side today ( backup project before messing around ). Not sure how any of it works yet so no doubt it'll be youtube tutorials and lots of shouting at the screen.

Quote from: Derron on September 15, 2018, 08:24:19
Items:
Slippery oil, bullet boost, rapid rails/tracks, Ronalds-Monster rocket (tears down a wall when hitting it), sand bags ("shoot" them and a "needs to get shot away"-sand-bag-wall is built there)
Maybe nice to have: a "ghost tank" (doing the exact same movement than yours - but mirrored), tank does not have impact when shooting
If I get as far as a basic working game then I'll add in various items to enhance the game.

Quote from: Derron on September 15, 2018, 08:24:19
Keep going!
Will be doing :) - If it starts to turn into an actual working game then I'll concentrate on gameplay to make it a hopefully fun little game. It's all early days and most of my time is playing about and researching how stuff works.

Quote from: Steve Elliott on September 15, 2018, 08:42:31
Very swish, well done.  Tank games are cool  8)

Yes they are ;D Now get back to yours as I want to play it :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.

Steve Elliott

Quote
Very swish, well done.  Tank games are cool  8)

Yes they are ;D Now get back to yours as I want to play it :P

Like-wise.  Yes I'm working on it  :D
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Madjack


Steve Elliott

#9
Everybody, we are in the presence of greatness.  The original 'Tank Master'.

https://store.steampowered.com/app/19200/Tank_Universal/

https://store.steampowered.com/app/523030/Tank_Universal_2/

Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Madjack

Oh thanks. I just came back to have a look around but as I see the Blitz crowd are here, I'll have to make this site a regular port of call I think.

Steve Elliott

Yes there are plenty here from the old Blitz crowd lurking or posting.
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Qube

Yay! it turned out to be a productive Saturdays worth of work \o/

I managed to get path finding sorted out and for enemy tanks to constantly hunt you down. Had to add some extra code in so the enemy tanks rotated towards you when they've hit the stop zone ( close to the player ). Needs a bit of tweaking but we're getting there and definitely a good start.

Also managed to add the tanks exploding and deleting the dead tanks and missiles. The enemy tanks don't fire back yet but that should be a similar method to the players tank firing.

Out of curiosity I tried a build on my laptop as I was getting concerned I was going over the top with shaders and lighting ( as this is mainly a learning test experience ). My laptop only has an integrated Intel Iris Pro 1536mb ( thanks Apple  :'( ) but luckily it ran at 1280x800 at 60fps albeit not at ultra quality though. Quite happy with that considering I've not looked at optimising much at all. I did manage to get some batching sorted so I'm sure that helped too.

I'm happy that I have the very basic elements of a game sorted. For Sundays session I'll look into some GUI elements and health bars for the player and enemies. After that I'll start on the gameplay and features. It's funny that I don't even know how to add sound yet or even do a title screen :P

A super duper 1080p 60fps vid :

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.

Qube

Not a whole heap of progress over the last 48 hours. I've figured out how to do some onscreen info and also made the enemy tanks emit fire when damaged but that's about it. No need for another exciting video ;D

As mentioned elsewhere my biggest stumbling block is not with coding in C# but with learning how Unity works. It took me a long time to figure out how to link data from prefabs ( game objects ) to other game objects and how to read variables from each other. This side is full on OO in the way to works but once you get the idea of how Unity wants you to work it all makes a little more sense. I'm sure Unity users will laugh at that but it took a while for me to click on how it's all done ( I'm more of a crazy Global variable guy than pure OO ).

Slowly getting to grips with Unity and although it's a beast I'm just learning the sides I need to know in order to do my little tank game. Heaps to learn but for now I'm just keeping it as simple as possible in order to create something. For there I can expand out.

My tank game won't be optimised or resource friendly ( although I'm trying ) but I think for a first outing the main thing is to create a full game and work outwards from that.
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.

Xerra

This makes me think of the old tank game that used to be a staple included game with some of the first mainstream consoles that did the rounds in the early 80's. Obviously they weren't at this perspective or anywhere near as awesome looking but for the day it was close to perfect two-player fun for me and my mates.

Get some mines in the game and extra weapons you can pick up and use for a short while here. A rocket launcher to punch out holes in the maze walls would be awesome.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/