TORA TORA! - An airplanes game with a new name :) - DEMO

Started by Santiago, March 31, 2020, 00:17:07

Previous topic - Next topic

Santiago

A Game of airplanes without name (yet)





Version 0.0.5 available to download in Itch.io (NEW!) 16 april 2020
https://indiesoft.itch.io/toratoratora

------------------------------------------------------------------------------------------------------------------

Hello, I managed to finish a first version for testing

I still need to improve the physics, and I must see how to add content so that the campaign works and that the ia is a little smarter.
ships to move, and radio-type messages.
Well, if you try it, will you tell me how it works for you?

regards!








i upload in gamejolt
https://gamejolt.com/games/A_game_of_airplanes_without_name/480966

regards
Santiago


Santiago

Nueva version 0.0.3 para pruebas

NEW Version 0.0.3 available for download!!

https://gamejolt.com/games/A_game_of_airplanes_without_name/480966

Added Pre briefing mission
Added Mission report
Realistic fuel
Backspace = torpedo
Enter = Bombs
T = Drop fuel tanks (first wings next center)



now i going to add Radio communications...

iWasAdam


Santiago

Quotevery cool. I'm in awe  :o  ;D

Hi, you play the last version 0.0.3?

all is ok, works fine?
please, if you have, give me some feedback!! :) :)

you found the KEY's good? or are confuse?

Santiago

I add a 2th plane with water shine only :) im happy with the result when the camera is moving...


Matty

It does indeed look good, nice graphical style too.

Santiago

Thanks.

Now i adding campaign map. you command the aircraft carriers fleets, to take flag the middle islands.

the idea is make a big capture the flag, with strategic map with aircraft to take battles.



This is a mesh front of the camera, and the map is a texture.
is very fast and simply to controller and manipulate pan and zoom. is very good way to do this.

I share the campaign loop code. i realy enjoying this project.


Global camp_ventana
Global camp_textura
Global camp_show_ventana
Global camp_map_texture

Function update_campaing_3d()

DebugLog "INICIANDO CAMPAIGN MENU"
Local tam = 1024
Local margen = 11
Local escala = 5

Local pivot3d = CreatePivot()
Local pivot_selected = CreatePivot()

Local selected = 0

Local pointer_x#
Local pointer_z#


map_scale# =.1

crear_campania()

c.campaing = First campaing

If camp_ventana = 0 Then
camp_ventana = LoadMesh("maps\sprite.b3d")
ScaleMesh camp_ventana,eo,eo,eo
ScaleEntity camp_ventana,2*escala,2*escala,2*escala
End If

;update_texture
If camp_textura = 0 Then
camp_map_texture = LoadTexture("maps\map.bmp")
EntityTexture camp_ventana,camp_map_texture
camp_textura = CreateTexture(tam,tam,g_vram_texture*256)
refresh = 1
End If

CameraZoom cam,1
ShowEntity camp_ventana
pos camp_ventana,cam
rot camp_ventana,cam
MoveEntity camp_ventana,0,0,2*escala
PointEntity camp_ventana,cam,-EntityRoll(cam,1)
EntityOrder camp_ventana,-500
EntityFX camp_ventana,1
EntityAlpha camp_ventana,1
EntityPickMode camp_ventana,2



If KeyHit(1) = 1 Then End


While Not KeyHit(1)
If mhr = 1 Then
selected = 0
pos pivot_selected,pivot3d

End If


If KeyHit(87) Then save_campaign()

If KeyHit(88) Then
load_campaign()
c.campaing = First campaing
time_aceleration = 1
End If




If KeyHit(59) Then time_aceleration  = 1
If KeyHit(60) Then time_aceleration  = 60
If KeyHit(61) Then time_aceleration  = 3600
If KeyHit(62) Then time_aceleration  = 3600*24

For i = 1 To time_aceleration

;Actualiza tiempo de camapaña, fecha y dias de camapaña
l_dia = dia
update_local_time()
If l_dia <> dia Then
c\dias = c\dias + 1

;If c_dias > 2 Then

End If

Next

update_campaing_units()
update_mouse_rel()
mouse_limited(margen,margen,tam-margen,tam-margen)

pick = CameraPick(cam,mx,my)
If pick = camp_ventana Then
PositionEntity pivot_temp,PickedX(),PickedY(),PickedZ()
CameraProject cam,PickedX(),PickedY(),PickedZ()
;mx = ProjectedX()
;my = ProjectedY()
End If

SetBuffer TextureBuffer(camp_textura)

Color 180,180,180
Rect 0,0,tam,tam,1

;fondo
Color 200,200,200
Rect margen,margen,tam-margen*2,tam-margen*2,1

;marco
Color 50,50,50
Rect margen,margen,tam-margen*2,tam-margen*2,0


Color 50,50,50
x = 45
x2 = 70 
x3 = tam*.65    ;porcentajes
x7 = tam*.85    ; peso por unidad
x4 = tam*.5 - 40    ;boton MAS
x5 = tam*.5 + 40    ;boton MAS
x6 = tam*.5 + 120    ;boton MAS
x7 = tam*.5 + 200    ;boton MAS
y = 85
sy = 20
fab = 15  ;ancho de boton mas o menos


pointer_x# = (mx -(tam*.5)) / map_scale#
pointer_z# = (my -(tam*.5)) / map_scale#

x = tam*.5 + (pointer_x * map_scale# )
y = tam*.5 + (pointer_z  * map_scale# )

PositionEntity pivot3d,pointer_x#,0,-pointer_z#

Color 120,120,120
SetFont f_small
Text tam*.5,margen*3,"CAMPAING MAP",1,1

SetFont f_small
Text tam*.5,margen*3+20,mes_texto[mes] + " " + dia + ", " + year,1,1
Text tam*.5,margen*3+40,local_time ,1,1
Text tam*.5,margen*3+60,"DAY " + c\dias ,1,1



SetFont f_micro
For isla.island = Each island
x = tam*.5 + EntityX(isla\pivot,1) * map_scale#
y = tam*.5 - EntityZ(isla\pivot,1) * map_scale#
DrawImage  isla\imagen,x,y

Color 50,50,50
Text x,y+15,isla\nombre$,1,1


If Abs(mx-x) < sb And Abs(my-y) < sb Or  selected = isla\pivot Then

Color 255,255,255
tq = 10
Rect x-tq,y-tq,1+tq*2,1+tq*2,0
tq = 13
Rect x-tq,y-tq,1+tq*2,1+tq*2,0

If mhl = 1 Then
selected = isla\pivot
pos pivot_selected,isla\pivot
End If

End If


Next


SetFont f_micro
For b.base = Each base
x = tam*.5 + EntityX(b\pivot,1) * map_scale#
y = tam*.5 - EntityZ(b\pivot,1) * map_scale#

If b\flag <> 0 Then
Color 200,0,0
Else
Color 50,50,50
End If

tq = 5
Rect x-tq,y-tq,1+tq*2,1+tq*2,0

tq = 3
Rect x-tq,y-tq,1+tq*2,1+tq*2,1

Text x,y+15,b\texto,1,1

Next


For fleet.fleet = Each fleet
x = tam*.5 + EntityX(fleet\pivot,1) * map_scale#
y = tam*.5 - EntityZ(fleet\pivot,1) * map_scale#

x3 = tam*.5 + EntityX(fleet\dest,1) * map_scale#
y3 = tam*.5 - EntityZ(fleet\dest,1) * map_scale#

sb = 10

If selected = fleet\pivot Then

;Color 80,80,80
;dist# = Int(EntityDistance(fleet\pivot,pivot3d))
;Text mx+10,my+10,Int(dist) +" km"

If mhl = 1 Then
pos fleet\dest,pivot3d
selected = 0
End If

End If


If Abs(mx-x) < sb And Abs(my-y) < sb Or  selected = fleet\pivot Then

Color 255,255,255
tq = 10
Rect x-tq,y-tq,1+tq*2,1+tq*2,0
tq = 13
Rect x-tq,y-tq,1+tq*2,1+tq*2,0

If mhl = 1 Then
selected = fleet\pivot
pos pivot_selected,fleet\pivot
End If

End If

;Destino
Color 150,150,150
Line x,y,x3,y3
Rect x3-2,y3-2,5,5,1

If fleet\flag <> 0 Then
Color 200,0,0
Else
Color 50,50,50
End If

tq = 5
Rect x-tq,y-tq,1+tq*2,1+tq*2,0

tq = 3
Rect x-tq,y-tq,1+tq*2,1+tq*2,1
Text x,y+15,fleet\nombre$,1,1

Tot# = 5
Line x,y,x+ Sin(EntityYaw(fleet\pivot,1))*Tot*3,y+ Cos(EntityYaw(fleet\pivot,1))*Tot*3

Next

; SELECTED OPTIONS ICON

If selected <> 0 Then

pos pivot_temp,selected
x = tam*.5 + EntityX(pivot_temp,1) * map_scale#
y = tam*.5 - EntityZ(pivot_temp,1) * map_scale#

x2 = mx
y2 = my

Color 100,100,100
Line x,y,x2,y2

Color 80,80,80
dist# = Int(EntityDistance(pivot_selected,pivot3d))
If y > my Then
Text mx,my-15,Int(dist) +" km",1,1
Else
Text mx,my+15,Int(dist) +" km",1,1
End If


End If




For u.c_unit = Each c_unit
x = tam*.5 + EntityX(u\pivot,1) * map_scale#
y = tam*.5 - EntityZ(u\pivot,1) * map_scale#

If u\flag <> 0 Then
Color 200,0,0
Else
Color 50,50,50
End If

tq = 5
Rect x-tq,y-tq,1+tq*2,1+tq*2,0

tq = 3
Rect x-tq,y-tq,1+tq*2,1+tq*2,1
Text x,y+15,u\tipo$,1,1

Next



;show map scale
Color 100,100,100
SetFont f_micro
For i = 0 To 1000 Step 1000
f= 10
If map_scale# = .001 Then f = 100
If map_scale# = .01 Then f = 1
If map_scale# = .1 Then f = 1

PositionEntity pivot_temp ,i*f,0,0

x=margen*6
y=tam-margen*8

x2 = EntityX(pivot_temp,1) * map_scale# 
If x2 < tam Then
Line x,y,x+x2,y
;Line x,y+1,x+x2,y+1
Line x+x2,y,x+x2,y-10

dist# = EntityX(pivot_temp,1)*.01
texto$ = Int(dist*100) + " km"

Text x+x2,y-20,texto$,1,1
End If


Next



For bt.boton = Each boton
If bt\grupo = grupo_actual Then

If Abs(my-bt\y) < 10 Then
Color 255,255,255
If mhl = 1 And bt\x <> x Then
send_radio_msg("player","home",bt\texto$,0)
radio_grupo$ = "recive"
End If
Else
Color 50,50,50
End If

Text bt\x,bt\y,bt\texto$,bt\center_x,bt\center_y

End If
Next



SetFont f_micro

x=tam*.2
y=tam-margen*3
If Abs(y-my) < sy*.5 And Abs(mx-x) < 100 Then
Color 255,255,255
If mhl = 1 Or mdl = 1 Then

End If

Else
Color 50,50,50
End If
Text x,y,"MAP",1,1

x=tam*.4
y=tam-margen*3
If Abs(y-my) < sy*.5 And Abs(mx-x) < 100 Then
Color 255,255,255
If mhl = 1 Or mdl = 1 Then

End If

Else
Color 50,50,50
End If
Text x,y,"FLEET",1,1

x=tam*.6
y=tam-margen*3
If Abs(y-my) < sy*.5 And Abs(mx-x) < 100 Then
Color 255,255,255
If mhl = 1 Or mdl = 1 Then

End If

Else
Color 50,50,50
End If
Text x,y,"SHIPS",1,1

x=tam*.8
y=tam-margen*3
If Abs(y-my) < sy*.5 And Abs(mx-x) < 100 Then
Color 255,255,255
If mhl = 1 Or mdl = 1 Then

End If

Else
Color 50,50,50
End If
Text x,y,"SQUAD",1,1


Color 50,50,50
show_mouse_cursor(6)

SetBuffer BackBuffer()
EntityTexture camp_ventana,camp_textura,0,2

If mdr = 1 Then
MoveEntity cam,mxs*.01,-mys*.01,0

If EntityX(cam) > escala Then PositionEntity cam,escala,EntityY(cam,1),0
If EntityX(cam) < -escala Then PositionEntity cam,-escala,EntityY(cam,1),0

If EntityY(cam) > escala Then PositionEntity cam,EntityX(cam), escala,0
If EntityY(cam) < -escala Then PositionEntity cam,EntityX(cam),-escala,0
End If

zoom# = zoom# + mzs
If zoom < 1 Then
zoom = 1
PositionEntity cam,0,0,0
End If

If zoom > 5 Then zoom = 5

CameraZoom cam,zoom


RenderWorld

HidePointer()
Flip 1



Wend

save_campaign()
Delay 100
End
End Function

iWasAdam

a couple potential suggestions for you.
add a bit more detail to the sky and slightly darken the water?

I was looking at old navy footage and saw this:


here's a quick mock up with the changes to show you:

the darker sea make the plane 'pop' :)

another thought would be to use some form of old film grain/scratch effect as a render effect...

Santiago

Hello, thanks Adam for the advice and take the trouble to make the image ...
When I barely saw her I felt that it is the right way to go.

I also want to make the ocean look darker near the camera and brighter towards the horizon, as in the photo.

that the plane stands out also looks great ... thank you very much for the advice!

Santiago

i found some bugs with incompatibility sistems, so i make this new version trying to fix that.
the problem i think, is the negative millisecs() in some computer, i fixed now.






Version 0.0.4 10 april 2020
------------------------------
Important Add, Campaign, radio, islands, Time acceleration x

- add campaign map (Work in progress)
- add units in campaign map
- add Island
- Add bases in campaign to capture the flag
- fix seaplane far from camera
- add master world translator (this allow to have very big sceneries without see shake triangles and vertexs
- fix negative millisecs() in some modern computers
- Add Radio Send messages [R] key
- Add Radio log message
- Add encripter enemy msg function (%)
- add exit to windows msg when press exit
- add Time acceleration X2 X4 X8 X16

Campaign
--------------
The idea is to make a campaign game in which one must capture bases and destroy the enemy fleet until successful. or manage to attack and destroy the main base of the enemy side.
Fleets are groups of ships.
The aircraft carriers, or battleship, will be the fleet leaders.
Air missions can be generated at any time of the campaign such as:

- Bomb defending enemies on islands
- Attack enemy ships or convoys
- Bombard airfields or islands
- Air patrol to discover new enemy contacts
- Reconnaissance (missions to obtain intelligence of the situation of an island or of enemy fleet positions)

CAMPAIGN IS A WORK IN PROGRESS, I NEED TO WORK, SO, IS NOT FINISH YET.

Campaign map KEYS
-----------------------------
[SPACE] over fleet to create a mission
to Ungroup a ship of the fleet

oher keys
-------------------
[R] Radio windows
[E] Equipament
[M] Map
[F] Flaps
Brakes
[ESC] exit

[F1] Normal Time acceleration x1
[F2] Time acceleration x2
[F3] Time acceleration x3
[F4] Time acceleration x4

iWasAdam

looks like you've got a darkened top skybox - try to keep it pale :)

I'de maybe even darken the sea a touch and make the plane slightly whiter. Use the texture map for the plane to add some more details like panel lines (or add them into the normal map if you are using one)

Here's a good reference for panel lines, etc:


iWasAdam

taking the name: how about: Tora! Tora! Tora!


Here's the cockpit of the Zero


I can't read Japanese, but you could take the relevant dials and use them as your ui:

Santiago

 :o :) :) :) :) :)

Tora Tora Tora!!! amazing man!, i love the menu image!!!
If the name is free i can use it!, is very nice, but there is a movie with that name.
Thanks for taking the time to do that! It's very stylish!

At the beginning, I wanted to keep a Low Poly style, so that I don't take too long to build models, but now it's too late to support a lowpoly style, and I definitely have to move to the new White & black style.

your Mainmenu imagen, is Excellent.
I'm still solving what method to use with the menus, the current one I don't like how it looks.


Cockpit Zero
I have to do the interior cockpit in 3D, including the pilot. I want the pilot to shake his head, wave his hands, I want you to feel that there are humans inside an airplane.
like in the shots of the movies. (I have to do all this)
the board you shared is perfect for working based on that image !!!!

Quotelooks like you've got a darkened top skybox - try to keep it pale :)
Lol, I'm still working on it, I'm not getting to the style you proposed, but it's the goal.
In the video, I filmed it on TV with the phone so it looks very dark because of that.
Even so, I darkened it to have a brighter horizon, but now it's very dark.


Your contributions are very useful to me, I appreciate it! Now I have a lot to do based on these tips :).

Often, abandon projects by spending too much time on non-game details. In this case, I am trying to focus first on finishing the basic and important, and then moving on to the aesthetic, although the temptation to improve and improve the aesthetic always wins me out.

saludos!!!!

iWasAdam

the name is free to be used. yes it's also the name of a film about the attack on Pearl Harbour.

QuoteTora Tora Tora means "Ware Kishuu ni Seikou Seri (ワレ奇襲ニ成功セリ)" which in English is "I have succeeded in the surprise attack." This was a codeword used during Pearl Harbor.

Quoteon the voyage to Hawaii Commander Tadakazu Yoshioka worked out the attack signals. Because the bombers were outfitted with telegraphs rather than microphones he chose the easy to recognize Morse-style signals: to (.."..) and ra (...). To was to signal the attack. to ra was to indicate the attack had been a surprise. It was a code. The message was tapped three times to make sure it was received.

so .. ...   .. ...   .. ...  is tora tora tora!

Santiago

#14


working in the sky and sea plane

I add Skycube.b3d with a sky_cube_map and fix the fog distance over the horizont.

i smooth the airplane mesh, i go to work in airplane texture next.

new screenshot.