Pierwszy przypadek najłatwiej rozwiązać tworząc 3 osobne view. Jeden na cały ekran i dwa osobne. Potem trzeba sprawdzać czy któryś z graczy wyszedł poza ten cały view i wtedy aktywować te podwójne.
Drugie jest najtrudniejsze i tak naprawdę niezbyt efektowne. Musisz pierw zrobić trzeci przypadek, który jest dość prosty:
GML
view_xview[0]=mean(gracz1.x,gracz2.x)-(view_wview[0]/2)
view_yview[0]=mean(gracz1.y,gracz2.y)-(view_hview[0]/2)
Tłumacząc: Ustaw pozycję x view na połowę długości pomiędzy obiektami i odejmij pół szerokości view żeby było na środku. To samo dla y.
Teraz wracając do drugiego sposobu. masz wycentrowaną kamerę pomiędzy graczami i teraz musisz przeskalować zmienne view_wview oraz view_hview o taką samą wartość aby mieściły się na ekranie. Wykorzystaj proporcje pomiędzy odległością obiektów.