worklog : 3d helicopter game (arcade)


👉 BlitzCoder will be building a new platform and other plans to preserve and continue the Blitz legacy.

To be able to achieve this goal, we need your support by becoming a Patreon Paid Member 👈

 

Tweet
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 1024x1024 scaled x10 on the XZ axises and x25.5 on the Y axis, therefore 10 240m x 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 x 60 x 60 = 111.709s

the helicopter movement speed seems correct.

incredible what we can achieve with blitz3d !

RemiD commented:

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

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

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.

fox95871 commented:

Hey, how did you know the stairs look is one of the main things I've been focused on recently? XD

https://www.cgtrader.com/3d-models/exterior/landscape/the-world-map-topography

It's not only easier to create, but I think that relates to why some people like games like A link to the past better than Elderscrolls... less to process, so you can just enjoy.

Hope it goes well, and thanks for the help with my Ifps thing. One of your suggestions was what helped me get it working :)

RemiD commented:

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

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.

fox95871 commented:

You mean like in "Not tetris"? That WOULD be fun for a helicopter game! Just seeing the things in real life looks like a catastrophe about to happen. The more you make it like Hard drivin' - mistakes inevitable, perfection impossible - the more people will probably like it :)

RemiD commented:

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

RemiD commented:

2023.10.13 :

-there are crates on lands and on water.
-helicopter can grab, carry, drop, a crate (with a cable).

each crate must be carried to a specific place on each island.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231013-1430-grab-carry-drop-crate.gif

RemiD commented:

piling up crates on the top of a building, for fun.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231014-1230-piling-up-crates.png

however sometimes linepick fails to detect a pickable surface/triangle and i don't know why, and this is really annoying (i have already noticed this in the past).

maybe this is due to scaled entities ?

no problem, linepick works well, this was a logic issue in my code... 

Grindalf commented:

This is like Choplifter 3D :D

RemiD commented:

2023.10.15 :

-a carried crate (by the helicopter) can now detect a future collision with the water, the terrain ground, and if it will collide, it will drop (on air) and will fall until it reaches a below surface (water or terrain).

this is a good example on the usefulness of tformpoint() :
comparing the future x,y,z position of a moving entity, with the level of water or of terrain ( terrainy() ), if the future position will be below the level of the water / terrain, this means that it will collide ( without using blitz3d collision system and without using linepick and pickables ).

however, to detect obstacles on the sides or obstacles which are not water or terrain, i will need to use linepick and pickables (in the direction and length of the translation vector).

RemiD commented:

2023.10.17 :

-testing to implement a tornado / waterspout in the world. (with an approximate realistic size)
(i will improve the appearance with particles of clouds / water dust / dirt dust, later...)

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231017-1402-tornado.png

edit 2023.10.18 :

the tornado is now textured and colored with vertices color :
at high height, with cloud color
at low height, with water color or dirt color or sand color (depending on where it will be on the map)

but now there is no vertices lighting shading anymore on the tornado...

Grindalf commented:

This is all looking pretty awesome, I cant wait to try it out

RemiD commented:

2023.10.18 :

-the low level of the tornado has the color of the material below it (water or sand or grass).
-the tornado damages the terrain and this changes the colormap.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231018-1402-tornado-damages-terrain-changes-colormap.gif

now i want to make it damages the buildings, docks, boats, trees, crates, humans.

and then this will create parts on the ground and debris around the tornado.

and i need to figure out a way for the tornado to affect the movements of the helicopter when it goes near it.

RemiD commented:

2023.10.19 :

-experimenting a tornado made of parts which are pulled from the ground.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231019-2211-tornado-with-parts.gif

but i should probably replace the cube by quads with a dust / cloud texture...

RemiD commented:

2023.10.22 :

-new tornado structure / behavior :
the tornado is made of clouds going from up (the sky) to down (the ground).
-the tornado is made of textured quads.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231022-2314-tornado-with-clouds.gif

now i want the tornado to 'rip' and destroy the terrain and the buildings / boats / (cars ?) / trees / crates / ( humans ? )

this will spread dust and parts in the air around the tornado.

some of the heavy parts which are projected far enough from the tornado will fall on the ground and stay static.

and then the helicopter will have to go save / help the humans (on land, below destroyed buildings / trees, fallen in the water), and carry essential things for emergency surgery / foods and drink / tools to repair stuff.

RemiD commented:

2023.10.23 :

-added far away horizon fog
-added clouds above the tornado

clouds with blend 2 (multiply 1) :
http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231023-1316-horizon-clouds-tornado-blend2.gif

clouds with blend 5 (multiply 2) :
http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231023-1413-horizon-clouds-tornado-blend5.gif

i have to make the texture of the cloud more bright / white, it is not easy to blend textured quads to get the appearance that i want...

i will probably have to code a single surface system for the above clouds, and for the tornado clouds, but for now they are separate entities (copies of one mesh using copyentity()).

RemiD commented:

2023.10.24 :

-improved the colors of the clouds and of the tornado to appear more correctly lighted shaded.
-added dusts of the color of the below material (water or sand or dirt) which are created after the tornado has 'damaged' the water / terrain.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231024-2245-clouds-tornado-dusts.gif

now i have to find a way to have the tornado damages the buildings / (cars) / boats / trees / crates (humans) and this will produces debris and parts.

and this will also produces missions for the helicopter...

RemiD commented:

2023.11.01 :

-new heightmap with islands in the shapes of B L I T Z B A S I C 2 D 3 D

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231101-1155-blitzbasic2d3d-heightmap.png

RemiD commented:

2023.11.04 :

-helicopter is turned pushed more and more down, the nearer it is from the interior / core of the tornado.
-helicopter is turned pushed more and more outwards and up, the nearer it is from the exterior of the tornado.
-helicopter shakes more and more, the nearer it is from the tornado.
-helicopter shakes less and less, the farer it is from the tornado.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231104-1454-tornado-wind-pushes-helicopter.gif

RemiD commented:

2023.11.05 :

-the tornado damages the environments (buildings, docks, furnitures, cars, boats, trees, crates), and this creates parts pulled pushed in the air by the tornado, first up and outwards, then when far enough from the tornado, down, until they reaches the land / water.

http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231105-2355-tornado-dust-parts.gif

but all these parts causes slowdowns... so i have to experiment with one mesh one surface per island (for all the parts), and i will remove some parts progressively ( as if the emergencies / firefighters would remove them )

Grindalf commented:

That looks amazing. I like the blurred effect you have going around the tornado

RemiD commented:

this is simply textured quads (with a dust texture), which go from the center of the tornado, opaque (alpha1.0), to outwards of the tornado and up, progressively more and more transparent (less and less alpha), until they become totally transparent (alpha0), and then are deleted.

RemiD commented:

2023.11.10 :

i have re-written my TODO list to keep it simple, because, often, i want to add many things / gameplay possibilities / effects, and then i feel this is too much work and i give up.

so i will put only 6 kinds of buildings :
-appartments buildings (with several levels)
-hospitals (to repair humans)
-garages (to repair cars)
-docks (to repair boats)
-fuel stations (to fill up the tank of cars / boats / helicopter)
-shops

to keep it simple, all these buildings will be the same except the appartments buildings which will have several levels.

first attempt to model a low details appartments building / the parts composing this appartments building :
http://rd-stuff.fr/blitz3d/3d-helicopter-game-20231110-2146-appartments-lowdetails-parts.png

RasterRon commented:

good progress.. the buildings looks simple but nice.

btw to post proper line breaks instead of that odd dot line break

just enter 2 spaces on a new empty line like

this..

..it's that easy and is supported.

RemiD commented:

2023.11.20 :

i have decided to only make a game similar to the game 'cyclone' (1985), in term of possibilities, but in 3d and with some physics movements.

because this is becoming a never ending project, and i am less and less motivated to work on that.

fox95871 commented:

Ohh, I was looking forward to the Hard drivin' esque, totally error prone, dangerous helicopter game. Though I guess THAT evil suggestion for it was pretty much my idea. Oh well, sometimes canceling plans makes way for better ones. How can you not like neverending projects, though? I just recently got started on MY game about 30 years ago XD

Reply To Topic (minimum 10 characters)

Please log in to reply