worklog : 3d helicopter game (arcade)

Started by RemiD, October 02, 2023, 10:56:13

Previous topic - Next topic

RemiD

hi  :)

i am currently working on a 3d helicopter game ( with arcade controls / movements / gameplay ), a remake / modified version of a game of the 80's.

i am going to share some of my progress / thoughts here.



2023.10.01 :

around 112s to travel from one side of the map to the other side, in helicopter, at 330km per h, with 1 blitz3d unit = 1 meter.

the heightmap is 1024*1024 scaled *10 on the xz axises and *25.5 on the y axis, therefore 10 240m * 10 240m in width and depth, and 25.5m in height.

the time it should take to travel from one side of the map to the other side should theoricaly be :
10240 / 330 000 * 60 * 60 = 111.709s

the helicopter movement speed seems correct. 8)

incredible what we can achieve with blitz3d ! :D

col

@RemiD

Hehe very true, it is really good what can be achieved, but as good as Blitz3D is... unfortunately it didn't invent basic algebra   ;D

Looking forward to seeing and playing your helicopter game. Hmm, what could it be? Zeewolf?  8)
https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."

RemiD

#2
a mix of 'cyclone' (1984) on spectrum for the possibilities and graphics style,
www.youtube.com/watch?v=umoy06tZVS0

and of 'seek and destroy' (1993) on dos for the controls / movements (arcade), perspective (but in 3d with a better view range).
www.youtube.com/watch?v=dD9dhD-2Sck

but i may add my own helicopter controls / movements with some physics...

one step at a time...

RemiD

#3
2023.10.03 :

-added bullets and collision detection using linepick and pickables (for bullets).
-added damage particles depending on material damaged (by bullet).


i have decided to make a game with possibilities similar to 'cyclone' (1984), where the goals are to avoid a cyclone and to explore different islands to go save humans and to collect crates.

but i want to add some physics for the helicopter and variable wind direction and force depending on if the helicopter is near / far from the cyclone.

i also want the cyclone to destroy the environment like trees, houses, ships, crates, humans, and this would produce flying debris in the cyclone.

i also want these flying debris to be a threat for the helicopter (causes damage).

so the helicopter movements would be affected by the wind and the flying debris (if a collision happen).

i also want to add some combat so i have added some air elementals.


i have noticed that when a rigged skinned mesh is animated, linepick detects the collision with the Tpose, not with the animated pose...
http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231003-1150-linepick-on-rigged-skinned-meshes.png
i will probably have to have an empty rigg (skeleton with bones) and attach cubes on it, as a pickable mesh. not tested yet...


RemiD

#4
2023.10.04 :

-added impacts (of bullets) depending on material damaged (by bullets).

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231004-1405-impacts-of-bullets.png

RemiD

#5
2023.10.07 :
- improved the color map generator and the lightshade map generator ('lightmap')

i draw the heightmap in an image editor.

the stairs look is wanted.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231007-1411-terrain-heightsmap-colorsmap-lightshademap.png

i may use 'impostors' (textured flat mesh with 4 vertices / 2 triangles) for far away trees, because there are a lot of triangles to render for barely visible shapes, it is not good. :-[

col

Looking good.
You may want to look into the normals of the vetices on the slopes as they definitely look inconsistent. Unless this is deliberate artifact of course.
https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."

Baggey

I used to Love Cyclone and TLL 8)
Running a PC that just Aint fast enough!? i7 4Ghz Quad core 24GB ram 1TB SSD and NVIDIA Quadro K620 . DID Technology stop! Or have we been assimulated!

ZX Spectrum 48k, C64, ORIC Atmos 48K, Enterprise 128K, The SID chip. Im Misunderstood!

RemiD

#8
QuoteYou may want to look into the normals of the vetices on the slopes as they definitely look inconsistent.
what do you mean ?

if you mean that the sand color should not bleed on the rock color when the slope is vertical (cliff),  yes i have noticed that, this is because i use a texel size of 1texel for 1unit but then scaled by 10 on the xz axises so this produces 'bleeding' from on texel to another especially when the terrain goes from a low height to a high height... but i can surely improve the color map generator procedure...


not urgent, i want to improve the gameplay in priority.

col

#9
Yeah as you say, not really a priority and you could easy pass it off as an authentic 80s artifact 8)

An example of what I was referring to is that the shading has formed an X shape in the centre of the attached pic.

https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."

RemiD

ok thanks for the clarification.


i think this is due to texel distortion of the colormap and of the lightshademap where the terrain goes from a low height to a high height (on cliffs).

a simple fix would be to have a colormap and  a lightshademap with a bigger size than the heightmap.

for example 2048x2048 for the 1024x1024 map.

i will experiment with this later...

RemiD

after some experiments, it seems that the issue comes from how the terrain ROAM algorithm (of Blitz3d) builds the mesh and this stretches some texels which are positionned between low heights and high heights (on cliffs).

using a bigger color map (and a bigger lightshade map ) does not fix the issue...

i don't want to spend more time on that. so i am going to keep it as it is...

RemiD

2023.10.09 :

- helicopter can over near land and save humans which are on land.
- humans go towards helicopter only if helicopter is near enough, and is over land (not over a cliff :P), and has a low move speed.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231010-1103-over-land-and-save-human.gif

controling the helicopter with physics is very fun 8)


for the moment i focus on the essentials for the gameplay (like what is in the game 'cyclone'), but then i have some ideas to cause damage to the environment or to the helicopter (propeler or shell), depending on the collisions which happen. ;D

RemiD

2023.10.10 :

-helicopter can over near a boat (on water) and save humans on the boat (with a cable).
-humans who are on a boat can grab the cable and be saved by the helicopter.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231011-1138-over-boat-and-save-human.gif

;D

Baggey

Will the Helicopter be collecting/finding Fuel to pickup as well.

Baggey
Running a PC that just Aint fast enough!? i7 4Ghz Quad core 24GB ram 1TB SSD and NVIDIA Quadro K620 . DID Technology stop! Or have we been assimulated!

ZX Spectrum 48k, C64, ORIC Atmos 48K, Enterprise 128K, The SID chip. Im Misunderstood!