Blushyface.com | Community forum

Projects => Super Blushy Wars => Topic started by: BlushyFace on January 08, 2019, 12:04:01 AM

Title: [WIP] progress report
Post by: BlushyFace on January 08, 2019, 12:04:01 AM
Here I will update everyone about the progress of SBW.

Unit attack ideas:
http://superblushywars.blushyface.com/in-development-(ideas)/(wip)-blushyface-gt-planet-blushy/
http://superblushywars.blushyface.com/in-development-(ideas)/(wip)-blushyface-gt-blushbomb/
Title: Re: [WIP] progress report
Post by: BlushyFace on January 08, 2019, 07:53:39 PM
Background scrolling works, yay.
(https://i.imgur.com/jSo2xIt.gif)

Basic unit creation also works but there isn't much else to show in that department, need to write the rest of the functions before it does anything meaningful.
(https://i.imgur.com/qEFjTh6.png)
Title: Re: [WIP] progress report
Post by: BlushyFace on January 11, 2019, 02:41:02 PM
I'm at a point where i could use input about what properties to include such as:

Unit properties
this is what i have atm:

name
level
hitpoint
energy
willpower
movement
speed (for evade? not 100%)
killcount
etc..?


Ability properties
this is what i have atm:

name
level requirement
willpower requirement
bonus to..?
etc..?
Title: Re: [WIP] progress report
Post by: BlushyFace on January 12, 2019, 09:58:35 PM
So at the moment as a player you can get "pilots" which are required to use "units". Each pilot comes with different unlockable abilities (spirits) that uses SP to activate and (in)directly benefit the piloted mech.
Title: Re: [WIP] progress report
Post by: BlushyFace on January 13, 2019, 05:23:32 PM
Pilots can now freely switch to other mechs or even copilot one.
Title: Re: [WIP] progress report
Post by: BlushyFace on January 16, 2019, 02:14:01 AM
Tiles work now and layers (units are on top of terrain)
(https://pbs.twimg.com/media/Dw_uxSoWsAAXi6-.jpg:large)
Title: Re: [WIP] progress report
Post by: BlushyFace on January 16, 2019, 03:57:03 PM
Functions output (testing):

(https://i.imgur.com/MfZh8ey.png)
^the output is a bit too long to post as image so you can check the below for info. If there is anything wrong let me know.


LoadInitialGameData() START
SetCommands() -> total commands: 2
SetPilots()
GetCommand(heal2500hp,True)
GetCommand(attackagain,True)
GetCommand(testcommand,True) not found
GetCommand(heal2500hp,True)
GetCommand(attackagain,True)
GetCommand(testcommand,True) not found
SetUnits()
LoadInitialGameData() END
--- - ---
MapTilestoMap(testscenario)
0,0 [land] 0,1 [water] 0,2 [ground] 0,3 [air]
1,0 [land] 1,1 [land] 1,2 [water] 1,3 [air]
2,0 [land] 2,1 [land] 2,2 [water] 2,3 [water]
3,0 [ground] 3,1 [ground] 3,2 [water] 3,3 [water]

0,0 [land] 0,1 [water] 0,2 [ground] 0,3 [air]
1,0 [land] 1,1 [land] 1,2 [water] 1,3 [air]
2,0 [land] 2,1 [land] 2,2 [water] 2,3 [water]
3,0 [ground] 3,1 [ground] 3,2 [water] 3,3 [water]

MapTilestoMap()
0,0 [air] 0,1 [land] 0,2 [water] 0,3 [ground] 0,4 [space] 0,5 [land] 0,6 [land] 0,7 [land] 0,8 [land] 0,9 [land] 0,10 [land] 0,11 [water]
1,0 [air] 1,1 [land] 1,2 [water] 1,3 [ground] 1,4 [space] 1,5 [land] 1,6 [land] 1,7 [space] 1,8 [land] 1,9 [land] 1,10 [land] 1,11 [water]
2,0 [air] 2,1 [land] 2,2 [water] 2,3 [ground] 2,4 [space] 2,5 [land] 2,6 [land] 2,7 [special] 2,8 [land] 2,9 [special] 2,10 [land] 2,11 [water]
3,0 [air] 3,1 [land] 3,2 [water] 3,3 [ground] 3,4 [space] 3,5 [land] 3,6 [land] 3,7 [special] 3,8 [land] 3,9 [special] 3,10 [land] 3,11 [water]
4,0 [air] 4,1 [land] 4,2 [water] 4,3 [ground] 4,4 [space] 4,5 [land] 4,6 [land] 4,7 [special] 4,8 [land] 4,9 [special] 4,10 [land] 4,11 [water]
5,0 [air] 5,1 [land] 5,2 [water] 5,3 [ground] 5,4 [space] 5,5 [land] 5,6 [land] 5,7 [special] 5,8 [land] 5,9 [special] 5,10 [land] 5,11 [water]
6,0 [air] 6,1 [land] 6,2 [water] 6,3 [ground] 6,4 [space] 6,5 [land] 6,6 [land] 6,7 [special] 6,8 [land] 6,9 [special] 6,10 [land] 6,11 [water]
7,0 [air] 7,1 [land] 7,2 [water] 7,3 [ground] 7,4 [space] 7,5 [land] 7,6 [land] 7,7 [ground] 7,8 [ground] 7,9 [water] 7,10 [land] 7,11 [water]

0,0 [air] 0,1 [land] 0,2 [water] 0,3 [ground] 0,4 [space] 0,5 [land] 0,6 [land] 0,7 [land] 0,8 [land] 0,9 [land] 0,10 [land] 0,11 [water]
1,0 [air] 1,1 [land] 1,2 [water] 1,3 [ground] 1,4 [space] 1,5 [land] 1,6 [land] 1,7 [space] 1,8 [land] 1,9 [land] 1,10 [land] 1,11 [water]
2,0 [air] 2,1 [land] 2,2 [water] 2,3 [ground] 2,4 [space] 2,5 [land] 2,6 [land] 2,7 [special] 2,8 [land] 2,9 [special] 2,10 [land] 2,11 [water]
3,0 [air] 3,1 [land] 3,2 [water] 3,3 [ground] 3,4 [space] 3,5 [land] 3,6 [land] 3,7 [special] 3,8 [land] 3,9 [special] 3,10 [land] 3,11 [water]
4,0 [air] 4,1 [land] 4,2 [water] 4,3 [ground] 4,4 [space] 4,5 [land] 4,6 [land] 4,7 [special] 4,8 [land] 4,9 [special] 4,10 [land] 4,11 [water]
5,0 [air] 5,1 [land] 5,2 [water] 5,3 [ground] 5,4 [space] 5,5 [land] 5,6 [land] 5,7 [special] 5,8 [land] 5,9 [special] 5,10 [land] 5,11 [water]
6,0 [air] 6,1 [land] 6,2 [water] 6,3 [ground] 6,4 [space] 6,5 [land] 6,6 [land] 6,7 [special] 6,8 [land] 6,9 [special] 6,10 [land] 6,11 [water]

tile not mapped -> 0
0,0 [none] tile not mapped -> 1
0,1 [none] tile not mapped -> 2
0,2 [none] tile not mapped -> 3
0,3 [none] tile not mapped -> 4
0,4 [none] tile not mapped -> 5
0,5 [none] tile not mapped -> 6
0,6 [none] tile not mapped -> 7
0,7 [none] tile not mapped -> 8
0,8 [none] tile not mapped -> 9
0,9 [none] tile not mapped -> 10
0,10 [none] tile not mapped -> 11
0,11 [none]
1,0 [defaultunit1] 1,1 [defaultunit1] tile not mapped -> 2
1,2 [none] tile not mapped -> 3
1,3 [none] tile not mapped -> 4
1,4 [none] tile not mapped -> 5
1,5 [none] tile not mapped -> 6
1,6 [none] tile not mapped -> 7
1,7 [none] tile not mapped -> 8
1,8 [none] tile not mapped -> 9
1,9 [none] tile not mapped -> 10
1,10 [none] tile not mapped -> 11
1,11 [none]
tile not mapped -> 0
2,0 [none] 2,1 [defaultunit1] tile not mapped -> 2
2,2 [none] tile not mapped -> 3
2,3 [none] 2,4 [defaultunit1] tile not mapped -> 5
2,5 [none] tile not mapped -> 6
2,6 [none] tile not mapped -> 7
2,7 [none] tile not mapped -> 8
2,8 [none] tile not mapped -> 9
2,9 [none] tile not mapped -> 10
2,10 [none] tile not mapped -> 11
2,11 [none]
tile not mapped -> 0
3,0 [none] tile not mapped -> 1
3,1 [none] tile not mapped -> 2
3,2 [none] tile not mapped -> 3
3,3 [none] tile not mapped -> 4
3,4 [none] tile not mapped -> 5
3,5 [none] tile not mapped -> 6
3,6 [none] tile not mapped -> 7
3,7 [none] tile not mapped -> 8
3,8 [none] tile not mapped -> 9
3,9 [none] tile not mapped -> 10
3,10 [none] tile not mapped -> 11
3,11 [none]
tile not mapped -> 0
4,0 [none] tile not mapped -> 1
4,1 [none] tile not mapped -> 2
4,2 [none] tile not mapped -> 3
4,3 [none] tile not mapped -> 4
4,4 [none] tile not mapped -> 5
4,5 [none] tile not mapped -> 6
4,6 [none] tile not mapped -> 7
4,7 [none] 4,8 [defaultunit1] tile not mapped -> 9
4,9 [none] tile not mapped -> 10
4,10 [none] tile not mapped -> 11
4,11 [none]
tile not mapped -> 0
5,0 [none] tile not mapped -> 1
5,1 [none] tile not mapped -> 2
5,2 [none] tile not mapped -> 3
5,3 [none] tile not mapped -> 4
5,4 [none] 5,5 [defaultunit1] tile not mapped -> 6
5,6 [none] tile not mapped -> 7
5,7 [none] tile not mapped -> 8
5,8 [none] 5,9 [defaultunit1] tile not mapped -> 10
5,10 [none] tile not mapped -> 11
5,11 [none]
tile not mapped -> 0
6,0 [none] tile not mapped -> 1
6,1 [none] tile not mapped -> 2
6,2 [none] tile not mapped -> 3
6,3 [none] tile not mapped -> 4
6,4 [none] tile not mapped -> 5
6,5 [none] tile not mapped -> 6
6,6 [none] tile not mapped -> 7
6,7 [none] tile not mapped -> 8
6,8 [none] tile not mapped -> 9
6,9 [none] tile not mapped -> 10
6,10 [none] tile not mapped -> 11
6,11 [none]
GetPilot() -> pilotname
AddPilots(pilotname)
GetPilot() -> pilotname2
AddPilots(pilotname2)
CheckPilotData(pilotname)
-> Commands: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Command]
-> Experience: 0
-> InternalName: pilotname
-> KillCount: 12
-> Name: BlushyFace
-> SpiritPointsBase: 50
-> SpiritPointsCurrent: 100
-> SpiritPointsMaximum: 100
-> WillpowerBase: 100
-> WillpowerCurrent: 150
-> WillpowerMax: 150
--- - ---
GetPilot() -> pilotname4
AddPilots(pilotname4) not found
CheckPilotData(NULL) -> Pilot not found
--- - ---
CheckOwnedUnits(CoolPlayer) -> no owned units
--- - ---
CheckActiveUnit(CoolPlayer , BlushyFace) -> no active units
CheckunitData(NULL) -> Unit not found
--- - ---
AddUnit(BlushyFace , defaultunit1) Unit pilot added -> BlushyFace
AddUnit(BlushyFace2 , defaultunit1) Unit copilot added -> BlushyFace2
CheckActiveUnit(CoolPlayer , BlushyFace)
CheckunitData(defaultunit1)
-> Armor: 2000
-> CoPilots: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Pilot]
-> CoPilotsMax: 5
-> Defense: 0
-> EnergyCurrent: 0
-> EnergysMax: 100
-> HasBarrier: False
-> HitPointsCurrent: 4750
-> HitPointsMax: 4750
-> InternalName: defaultunit1
-> IsAbleToFly: False
-> IsAlly: False
-> IsDestroyed: False
-> IsInAir: False
-> Mobility: 0
-> Movement: 1
-> Name: Default unit1
-> UnitAttacks: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.UnitAttack]
-> UnitParts:
--- - ---
SetUnitHitPoints(500 , False) -> current HP is set at: 500
CheckActiveUnit(CoolPlayer , BlushyFace)
CheckunitData(defaultunit1)
-> Armor: 2000
-> CoPilots: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Pilot]
-> CoPilotsMax: 5
-> Defense: 0
-> EnergyCurrent: 0
-> EnergysMax: 100
-> HasBarrier: False
-> HitPointsCurrent: 500
-> HitPointsMax: 4750
-> InternalName: defaultunit1
-> IsAbleToFly: False
-> IsAlly: False
-> IsDestroyed: False
-> IsInAir: False
-> Mobility: 0
-> Movement: 1
-> Name: Default unit1
-> UnitAttacks: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.UnitAttack]
-> UnitParts:
--- - ---
AddUnit(BlushyFace , defaultunit2) Unit replaced -> old: Default unit1 by: Default unit2
CheckActiveUnit(CoolPlayer , BlushyFace)
CheckunitData(defaultunit2)
-> Armor: 0
-> CoPilots: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Pilot]
-> CoPilotsMax: 2
-> Defense: 0
-> EnergyCurrent: 100
-> EnergysMax: 100
-> HasBarrier: False
-> HitPointsCurrent: 100
-> HitPointsMax: 100
-> InternalName: defaultunit2
-> IsAbleToFly: False
-> IsAlly: True
-> IsDestroyed: False
-> IsInAir: False
-> Mobility: 0
-> Movement: 1
-> Name: Default unit2
-> UnitAttacks:
-> UnitParts:
--- - ---
AddUnit(BlushyFace , defaultunit1) Unit replaced -> old: Default unit2 by: Default unit1
CheckActiveUnit(CoolPlayer , BlushyFace)
CheckunitData(defaultunit1)
-> Armor: 2000
-> CoPilots: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Pilot]
-> CoPilotsMax: 5
-> Defense: 0
-> EnergyCurrent: 0
-> EnergysMax: 100
-> HasBarrier: False
-> HitPointsCurrent: 500
-> HitPointsMax: 4750
-> InternalName: defaultunit1
-> IsAbleToFly: False
-> IsAlly: False
-> IsDestroyed: False
-> IsInAir: False
-> Mobility: 0
-> Movement: 1
-> Name: Default unit1
-> UnitAttacks: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.UnitAttack]
-> UnitParts:
--- - ---
GetCommand(heal2500hp,False)
UseCommand(heal2500hp) -> HP start: 500 -> HP current: 3000 -> Max HP: 4750
UseCommand(heal2500hp) -> foundCommand: True foundUnit: True
CheckActiveUnit(CoolPlayer , BlushyFace)
CheckunitData(defaultunit1)
-> Armor: 2000
-> CoPilots: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Pilot]
-> CoPilotsMax: 5
-> Defense: 0
-> EnergyCurrent: 0
-> EnergysMax: 100
-> HasBarrier: False
-> HitPointsCurrent: 3000
-> HitPointsMax: 4750
-> InternalName: defaultunit1
-> IsAbleToFly: False
-> IsAlly: False
-> IsDestroyed: False
-> IsInAir: False
-> Mobility: 0
-> Movement: 1
-> Name: Default unit1
-> UnitAttacks: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.UnitAttack]
-> UnitParts:
--- - ---
-> Key: SuperBlushyWars.GameModels.Pilot
-> Value: SuperBlushyWars.GameModels.Unit
--- - ---
RemoveUnit(BlushyFace , defaultunit1) Unit removed
GetCommand(heal2500hp,False)
UseCommand(heal2500hp) -> foundCommand: True foundUnit: False
AddUnit(BlushyFace , defaultunit1) Unit pilot added -> BlushyFace
AddUnit(BlushyFace , defaultunit1) Unit copilot added -> BlushyFace
SetUnitHitPoints(500 , True) -> HP start: 3000 -> HP current: 3500-> Max HP: 4750
RemoveUnit(BlushyFace , defaultunit1) Unit removed
GetCommand(attackagain,False)
UseCommand(attackagain) -> foundCommand: True foundUnit: False
GetCommand(nonexistingitem,False) not found
UseCommand(nonexistingitem) -> foundCommand: False foundUnit: False
RemoveUnit(BlushyFace , defaultunit1) Unit is not piloted by anyone and no one to remove
CheckActiveUnit(CoolPlayer , BlushyFace) -> no active units
CheckunitData(NULL) -> Unit not found
--- - ---
AddUnit(BlushyFace , defaultunit1) Unit pilot added -> BlushyFace
AddUnit(BlushyFace , defaultunit2) Unit replaced -> old: Default unit1 by: Default unit2
AddUnit(BlushyFace , defaultunit3) Unit replaced -> old: Default unit2 by: Default unit3
AddUnit(BlushyFace , defaultunit1) Unit replaced -> old: Default unit3 by: Default unit1
RemoveUnit(BlushyFace , defaultunit2) Unit is not piloted. Pilot is already piloting -> Default unit1
RemoveUnit(BlushyFace , defaultunit2) Unit is not piloted. Pilot is already piloting -> Default unit1
RemoveUnit(BlushyFace , defaultunit1) Unit removed
CheckActiveUnit(CoolPlayer , BlushyFace) -> no active units
CheckunitData(NULL) -> Unit not found
--- - ---
AddUnit(BlushyFace , defaultunit1) Unit pilot added -> BlushyFace
AddUnit(BlushyFace2 , defaultunit2) Unit added and restored unit stats. Piloted by: BlushyFace2
CheckActiveUnit(CoolPlayer , BlushyFace)
CheckunitData(defaultunit1)
-> Armor: 2000
-> CoPilots: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Pilot]
-> CoPilotsMax: 5
-> Defense: 0
-> EnergyCurrent: 0
-> EnergysMax: 100
-> HasBarrier: False
-> HitPointsCurrent: 3500
-> HitPointsMax: 4750
-> InternalName: defaultunit1
-> IsAbleToFly: False
-> IsAlly: False
-> IsDestroyed: False
-> IsInAir: False
-> Mobility: 0
-> Movement: 1
-> Name: Default unit1
-> UnitAttacks: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.UnitAttack]
-> UnitParts:
--- - ---
CheckActiveUnit(CoolPlayer , BlushyFace2)
CheckunitData(defaultunit2)
-> Armor: 0
-> CoPilots: System.Collections.Generic.List`1[SuperBlushyWars.GameModels.Pilot]
-> CoPilotsMax: 2
-> Defense: 0
-> EnergyCurrent: 100
-> EnergysMax: 100
-> HasBarrier: False
-> HitPointsCurrent: 100
-> HitPointsMax: 100
-> InternalName: defaultunit2
-> IsAbleToFly: False
-> IsAlly: True
-> IsDestroyed: False
-> IsInAir: False
-> Mobility: 0
-> Movement: 1
-> Name: Default unit2
-> UnitAttacks:
-> UnitParts:
--- - ---
Title: Re: [WIP] progress report
Post by: BlushyFace on January 18, 2019, 01:36:58 AM
Unit movement
(https://i.imgur.com/YPexJHF.gif)


several clients. Synced up (the top scene not, just the map).
(https://i.imgur.com/naxDTBM.gif)
Title: Re: [WIP] progress report
Post by: BlushyFace on January 18, 2019, 04:43:48 PM
Tiles can now be selected. It does nothing else yet.

(https://i.imgur.com/kXgMfp7.gif)
Title: Re: [WIP] progress report
Post by: BlushyFace on January 19, 2019, 12:48:06 AM
Selecting units work now though can select only units atm.

Also added a few checks such as if a tile is water, a unit cannot move (i need to add more things though like if the unit is in the air, if so it can go to that tile etc)

+ added a check if a unit is attacking another unit (no extra options atm such as attack / use spirit etc)


(https://i.imgur.com/Dxlt61Z.gif)
Title: Re: [WIP] progress report
Post by: BlushyFace on January 27, 2019, 02:05:50 AM
Unit move range works now too. In this demo 2 units have movement range 2 and 1 has movement range 4

(https://i.imgur.com/R8KYsXA.gif)
Title: Re: [WIP] progress report
Post by: BlushyFace on February 07, 2019, 02:42:24 PM
working on a proper scene creation function atm, still a lot of work but there is progress

(https://i.imgur.com/PYPOA4E.gif)
Title: Re: [WIP] progress report
Post by: BlushyFace on February 19, 2019, 01:47:05 AM
map scrolling is done now too. (had to rework some stuff cause it was laggy on big sized maps but not performs quite a bit smoother!)

old (laggy)
(https://media.giphy.com/media/1X7gPIvAOG5ckvlP9J/giphy.gif)

now
(https://media.giphy.com/media/1gXifPIGuuyGovgfdz/giphy.gif)