Author Topic: Interface engine suggestions  (Read 931 times)

0 Members and 1 Guest are viewing this topic.

Offline Izzy Rose (PL)

  • Soldier
  • **
  • Posts: 118
  • I am tank! Get out my way!
Interface engine suggestions
« on: December 01, 2015, 10:44:19 am »
On start I'm observing the scene and I'm really, really impressed with the resurrection of it due to dev's work on 1.7.

What about my suggestion(s):
Look on windows arrow. In windows, not in game. It can be in different shapes, but always you click with the 0,0 pixel of the sprite. Left upper.
The same thing is with the crosshair in Soldat. If you want obtain the most accurate crosshair, you have to make one-pixel sprite.
Once I wanted to make some modded interface with slightly big crosshair and it turned out, it is completely useless, because gostek was shooting towards the 0,0 pixel, not the centre of the sprite of crosshair.

The suggestion for this problem is to make interface engine working in different way in this case. Simplified pseudo-programming-language algorithm:

load to object.CH (crosshair.bmp)
check-dimmensions (CH, dimX, dimY)
set-point-of-aim (dimX/2, dimY/2)

_________________________________________________ _

Second suggestion
Making the interface engine to treat the nades section in different way - as a bar with segments.
I tried to make a Borderlands (first, not 2) interface port. Look on the screenshot.
Nades section, as all the right-hand part of the interface is askew - and I couldn't achieve it because I couldn't rotate the grenade section.
For better possibilities in interface creating it could be possible to set rotation of all the grenades in the row and rotation of all the row.

_________________________________________________ __

Objects relative alignment. More complicated option for implementation. Making able to align a object to another object. It would be useful for easier interface creation by "hard pinning" for example health bar to health icon and so on. A parent/child hierarchy of relative offsets.

For example
crosshair ---(parent to)----> health icon ----(parent to)----> health bar
It would make the health bar, pinned with health icon, to follow the crosshair with a constant offset.

ammo icon ---(parent to)----> ammo bar ---> reload icon ---> etc
this one would make edition simplier by grouping these elements into one structure, one group, which can be placed on screen by moving just ammo icon. All its childs and sub-childs would follow the edition with constant offset.


Bars "eating"
Making optional type of disappearing parts of the bars. See attachment.

I don't remember other ideas at the moment. I will post them here when I will remind it.
Ingame known as just Izzy

Offline urraka

  • Soldat Developer
  • Flagrunner
  • ******
  • Posts: 703
Re: Interface engine suggestions
« Reply #1 on: December 01, 2015, 11:32:26 am »
The cursor is already being aligned to center. Is there any specific situation in which that doesn't work correctly?

Offline L[0ne]R

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2078
  • need a life. looking for donors.
Re: Interface engine suggestions
« Reply #2 on: December 01, 2015, 12:49:16 pm »
A parent/child hierarchy of relative offsets - sounds like a nice quality-of-life improvement for interfaces with many elements, I agree.

"Bars eating" - IMO we need a better solution - interface elements and masks with animated position, rotation, scale and opacity.

It's a much more flexible solution which would allow making moving bars, disappearing bars, or even circular bars (like pacman dying animation) by either animating the element to go outside its mask, or animating the mask to go on top of the element. Animation would be done with keyframes, which would allow a simple smooth 100% to 0% animation like we have now (one keyframe for 100%, another for 0%), or a more complex animation with separate keyframes for different steps (useful for grenade bar and more).

L[one]R, INF veteran
maps - remakes: inf_Warehouse ; inf_Fortress ; inf_(Sun)Rise ; inf_Outpost ; inf_Abel ; inf_Moonshine