játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5448
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2520

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2188
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] > 8 < [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55]
Instalok - Tag | 543 hsz       Online status #208010   2015.07.29 08:00 GMT+1 óra  
Rigidbody-val természetesen "pattog", mert az fizikát használ, erő-ellenerő, stb.

Amit megpróbálhatsz, az valami olyasmi, mint egy CharacterController. Mármint nem ezt használni, hanem hasonlót leimplementálni. Amire ehhez szükséged van, az az, hogy ütközéskor a Collision osztály információinak segítségével visszapakold az objektum pozícióját oda, ahol nem ütközik.

Edit:
Például valami ilyesmi, nem néztem végig.

Ezt a hozzászólást Instalok módosította (2015.07.29 08:16 GMT+1 óra, 843 nap)

   
Slyrfecso - Tag | 44 hsz       Online status #208007   2015.07.28 22:13 GMT+1 óra  
Sziasztok!

Találtam egy videót ami elég jól bemutatja az OnCollisionEnter, OnTriggerEnter, and OnMouseDrag kapcsolatát, de sajnos a Riggidbody fizikájára nincs szükségem és össze-vissza pattognak a tárgyak ha érintkeznek.

Kód:
using UnityEngine;
using System.Collections;

public class CollisionDetect : MonoBehaviour {

// Use this for initialization
void OnCollisionEnter(Collision c) {
Debug.Log(name + " Collided");
}

// Update is called once per frame
void OnTriggerEnter(Collider c) {
Debug.Log(name + " Triggered");

}
}



Kód:
using UnityEngine;
using System.Collections;

public class MouseDrag : MonoBehaviour {


// Use this for initialization
void OnMouseDrag() {
RaycastHit hitInfo;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(ray.origin, ray.direction * 100);
if(Physics.Raycast (ray,
                    out hitInfo,
                    100,
                    (1<<LayerMask.NameToLayer("Ground"))) ){
transform.position = new Vector3(hitInfo.point.x, transform.position.y, hitInfo.point.z);
};

}
}

   
Slyrfecso - Tag | 44 hsz       Online status #208005   2015.07.28 15:38 GMT+1 óra  
Köszönöm a tanácsot valóban ez a probléma, de sajnos nem tudom megoldani.
Egyszerűsítettem a kódot, így ha tudnátok segíteni, megköszönném.

Kód:
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(BoxCollider))]

public class drag : MonoBehaviour
{

void OnMouseDrag()
{
float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
transform.position = new Vector3( pos_move.x, transform.position.y, pos_move.z );

}


}

   
Viperion - Tag | 540 hsz       Online status #208004   2015.07.27 16:57 GMT+1 óra  
Szerintem OntriggerEnter metódust használd.
Ha ütköznek át álítasz egy logikai változót hamisra. Ebben a logikai változóban tárold,hogy ütköznek e vagy sem. És azt,hogy kurzorral mozgathatod e az objektumot vagy sem kösd ahhoz a feltételhez,hogy ennek a logikai változónak igaznak kell lennie.

   
Instalok - Tag | 543 hsz       Online status #208003   2015.07.27 16:32 GMT+1 óra  
Ha ütközést, vagy egyéb fizikát szeretnél, akkor nem írhatod felül a transform pozícióját. Gondolj bele, az ütközésnek kell meghatároznia a pozíciót.

   
Slyrfecso - Tag | 44 hsz       Online status #208002   2015.07.27 14:04 GMT+1 óra  
Kód:
using UnityEngine;
using System.Collections;

//[RequireComponent(typeof(BoxCollider))]

public class drag_mouse : MonoBehaviour
{

private Vector3 screenPoint;
private Vector3 offset;

void OnMouseDown()
{
screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position);

offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}

void OnMouseDrag()
{
if(Input.GetKeyDown(KeyCode.A))
transform.Rotate(0, 90, 0);

float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
transform.position = new Vector3( pos_move.x, transform.position.y, pos_move.z );

}


}

   
Slyrfecso - Tag | 44 hsz       Online status #208001   2015.07.27 14:04 GMT+1 óra  
Sziasztok!

Új tagként szeretnék segítséget kérni egy alapvető fejlesztői problémához.
Adott két alap kocka. Ezeket egérrel mozgatom, azonban bármit állítok átmennek egymáson.
Azt szeretném, hogy egymás mellé érve az egeret elengedve megálljon abban a pozicióban.

Előre is köszönöm a segítséget.

   
Tunyu - Tag | 448 hsz       Online status #207995   2015.07.25 08:59 GMT+1 óra  
Igazad van annak nem sok köze van hozzá, csak már nem tudtam hova tenni ezt a dolgot. A probléma okozója a player settings-ben bekapcsolt virtual reality support volt. Nem futott a háttérben a program , és a vsync sem működött.

   
Instalok - Tag | 543 hsz       Online status #207994   2015.07.25 06:49 GMT+1 óra  
Mi köze van a UI-nak a vsynchez? Nem volt mostanában már egy ilyesmi kérdésed?

   
Tunyu - Tag | 448 hsz       Online status #207990   2015.07.24 14:47 GMT+1 óra  
Az "új" UI rendszerre próbálok átállni, de van némi problémám. A régi UI-nál a beállításoknál jól működött a vsync és a targetframerate is, de itt az új UI-nál már valami oknál fogva figyelmen kívül hagyja és maximumon pörög.Mi lehet a hiba?

   
Instalok - Tag | 543 hsz       Online status #207989   2015.07.23 06:43 GMT+1 óra  
Igen, ennyi a lényege. Ha meg nem normalizálod, akkor átlós irányban gyorsabban haladsz, mert a vektor hossza nem 1.

Ha Unity-zel, akkor is tanulnod kell egy minimális 3D grafikához szükséges matekot. Keress valami olyan anyagot, ami ábrákkal / példákkal magyarázza el ezeket a dolgokat, nem kell belemenni a matek legmélyébe. Viszont hidd el, szükséged lesz rá, és sokkal könnyebben meg fogsz érteni, illetve meg fogsz tudni oldani problémákat.

   
Viperion - Tag | 540 hsz       Online status #207988   2015.07.22 21:58 GMT+1 óra  
Kösz Zbalai,hogy szentelnél rám időt. De úgy döntöttem még egyszer megpróbálom neki vetem magamat ennek a feladatnak

Instalok te írtad,hogy ha több irányba is megyek akkor legyen a velocity hossza egy.
Értem miért kell normalizálni de azt már nem értem,hogy,hogyan lehet több irányt adni ,hogy aztán normalizálásra legyen szükség.

Így gondoltad:
Vector3 velocity = Vector3.right;
velocity += Vector3.up;
És akkor ilyenkir kell normalizálni.

Így gondoltad?

   
zbalai - Tag | 50 hsz       Online status #207982   2015.07.20 20:48 GMT+1 óra  
Viperion:
Hát szerintem mindenkinek van problémamegoldó képessége.

Egyébként ha meg konkrétan egy probléma megoldására kérsz kb max fél óra screen sharing-es konzultációt, akkor akár én is szívesen segítek.

Excel használata megtanulható 1-2 óra alatt. A kódolást magasabb szinten évekig szokták tanulni.
Unity 3D-hez soxor elég a "scriptelés" szint is, amikor csak pár sorban beírsz valami automatikát.

   
Viperion - Tag | 540 hsz       Online status #207981   2015.07.20 16:19 GMT+1 óra  
Az udk hoz túl gyenge a gépem.
Úgy döntöttem a lehető legegyszerűbbet választom és ha ezzel sem fog menni,akkor nyomorult vagyok. :-)
Construct2d úgy ajánlották. Nagy a közössége is és aktívan fejlesztik. Lemondok a kódolásról.
Én pedig köszönök mindent nektek amit eddig tőletek kaptam. Lebaszásoktól a segítségekig és sok sikert.
Lehet,hogy a siker egyik titka az,hogy legyünk tisztában képességeink határaival.

Egyébként a fejembe látom,hogy kéne manipulálani a velocity-t hogy a kívant eredményt kapjam csak amikor a kódolásra kerül a sor ,akkor leblokkolok teljesen.

   
FZoli - Szerkesztő | 4892 hsz       Online status #207980   2015.07.20 14:25 GMT+1 óra  
Nyilvánvalóan nincs problémamegoldó képességet, és úgy néz ki türelmed sem ahhoz, hogy a unity-t úgy megismerd, hogy ellensúlyozni tudd ezt.. Esetleg próbálj meg valamit UDK-val összedobni. Nem mondanám egyszerűbbnek, de jobban alád tesz dolgokat, van ismerősöm, aki hasonló okokból tért át. Akár mit is választasz, ne próbáld meg feltalálni a spanyol viaszt, hanem próbáld meg az eszköz asta lehetőségeket használni
   
Lord_Crusare - Törzstag | 1290 hsz       Online status #207979   2015.07.20 13:46 GMT+1 óra  
Ehhez fizikát kellene használni és erőhatásokkal dolgozni, nem rögtön eltolni a modellt abba az irányba, amerre mennie kell.

   
Viperion - Tag | 540 hsz       Online status #207978   2015.07.20 13:45 GMT+1 óra  
Asszem lemondok a programozásról. És köszi a kódot profi vagy.
Hiába értem a kódodat ha jön a következő probléma amit kitalálni szintén nem tudok.
Elegem van már abból,hogy újból erőt veszek magamon majd később kiderül,hogy teljesen felesleges volt. Nézek magamnak valami egyszerűbbet amiben lehetnek sikerélményeim a 3d ről pedig lemondok. Tudnátok ajánlani nekem valamit az unity helyett?

Egyébként azt nem tudtam kódba önteni,hogy amikor megfordulok az űrhajóval mikor már megyek vele egész gyorsan,akkor ne egyből az új irányba haladjon amit az iputtal beálítottam,hanem lassuljon le 0 ra majd úgy vegye fel az új irányt. Mert csak így képes rá mert ugye elősször le kell győzni azt az irányú mozgási sebességet ami a régi irányba vitte.

   
Instalok - Tag | 543 hsz       Online status #207976   2015.07.20 06:45 GMT+1 óra  
Lehet, hogy elírtam valamit, kicsit reggel van még, és nem próbáltam ki:
Kód:
// ennyivel gyorsul
public float acceleration;

// jelenlegi tempó
private float currSpeed = 0.0f;

private void FixedUpdate()
{
    currSpeed += acceleration * Time.deltaTime; // ennyivel megy
    Vector3 velocity = Vector3.right; // amerre menni akarsz
    //velocity.Normalize(); // ha több irányba is mész egyszerre, legyen a velocity hossza 1

    transform.Translate(velocity * currSpeed); // mozgás
}

   
Viperion - Tag | 540 hsz       Online status #207975   2015.07.20 00:00 GMT+1 óra  
Egyenletes sebeséggel gyorsuló objektumot,hogyan kell leprogramozni mert nem megy.
Másodpercenként 5 pixelt gyorsuljon de nem tudom kigondolni az algoritmust.

Találtam egy ilyet de nekem ez nem jó.
Kód:
     var acceleration : float;
     var maxSpeed : float;
     
     function Update() {
     transform.Translate(0, acceleration * Time.deltaTime, 0);
     if (acceleration < maxSpeed) {
     acceleration += 1;
     }
     }

Nekem olyan megoldás kell amivel be tudom lőni azt,hogy egy másod perc alatt mennyit gyorsuljon.
Nem sikerül kitalálnom az algoritmust.

Ezt a hozzászólást Viperion módosította (2015.07.20 00:34 GMT+1 óra, 853 nap)

   
Instalok - Tag | 543 hsz       Online status #207973   2015.07.19 16:38 GMT+1 óra  
Meg lehet-e mondani valahogy a Unity-nek, hogy a compile nem sikerült? Úgy értem szándékosan. Code injectiont csinálok, amiben van bizonyos mértékű hibakezelés is. Azt szeretném, ha a weaving közben hibát talált, akkor ugyan úgy ne lehessen elindítani / buildelni, mintha compiler error lett volna.

Megkerestem azt, hogy mi írja ki a képernyőre, hogy "all compiler errors have to be fixed ...", de azt már nem találtam meg, hogy ezt a függvényt ki hívja meg.

   
Matzi - Szerkesztő | 2520 hsz       Online status #207957   2015.07.16 19:58 GMT+1 óra  
Whiletrue:
A fizetési igény nagy szórást tud mutatni. Annyit nem árt megjegyezni, hogy a játékszakma alapvetően nem a legjobban fizető iparágak közé tartozik. Így mondjuk egy más területen működő cégnél akár 200 körül is simán várhatsz kezdő fizetést programozóként nulla tapasztalattal, addig mondjuk egy játékfejlesztő cégnél könnyen lehet, hogy csak a felét-háromnegyedét fogják adni. Sok mindentől függ, leginkább a cég anyagi helyzetétől, és hogy mennyire kell nekik az ember.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Instalok - Tag | 543 hsz       Online status #207956   2015.07.16 18:52 GMT+1 óra  
A C# topicban érdeklődtem code rewrite után, megvan az én emberem: Mono.Cecil lesz az, amit én kerestem. Egészen jól működik, egy idő után rá lehet érezni, hogy mi a különbség a Definition meg a Reference között, mikor mit kell importálni, getelni, stb. No meg nem árt némi assembly-ismeret sem, mivel lowlevel kódot kell injectálni.

Apropó, a Unity is így dolgozik a Networkinggel. Az RPC meg SyncVar stb. mindegyik átalakul, ezt a Unity.UNetWeaver assembly csinálja. ILSpy segítségével meg lehet nézni, hogy mit csinál. Aki ilyesmire vetemedik, annak ez egy nagyon hasznos progi.

   
Whiletrue - Tag | 2 hsz       Online status #207946   2015.07.09 21:31 GMT+1 óra  
Idézet
Matzi :
Whiletrue:
Erre nem nagyon van bevált minimál recept. Ami biztos, hogy programozni kell tudni, ez alatt azt értem hogy ismerd a nyelvet és tudjál problémákat megoldani. Ha be akarsz kerülni valahová, akkor a legegyszerűbb ha csinálsz egy játékot. Vagy többet. Aki ért hozzá, az tudja, hogy mennyi munka van mögötte, és jobban fogják értékelni, mintha mondjuk valami tanfolyamot végeztél volna el. Persze semmi sem biztos, bekerülni általában nehéz a szakmába, de kitartással és megfelelő mennyiségű alkotással nem lehetetlen. Olvass, tanulj, de ami fontosabb, alkoss.



Köszönöm a választ. Már készítettem pár játékot és jelenleg is dolgozom egyen. A problémamegoldással szerintem nincs gond, sok időt töltöttem már kódolással.
Valamint elfelejtetem még egy kérdést múltkor. Sok helyen kérnek fizetési igényt cv mellé. Kezdőként kb milyen intervallumban gondolkodjak ?(Unity C# játékfejlesztőként)
Egyébként bármilyen jótanácsot szívesen fogadnék. Akár saját játékot is tudok küldeni, ha az alapján könnyebb bármit is mondani.

   
zbalai - Tag | 50 hsz       Online status #207944   2015.07.09 16:24 GMT+1 óra  
5000 USD
Ennyit lehet nyerni ezen a VR versenyen:
http://www.archiactevents.com/

Neveztem is három ötlettel, amiből kettőben még lehet segíteni:
Learn Languages:
Itt fekvő pozícióban nézegetünk egy nénit, hogy megtanuljuk a testrészeit más nyelveken.
http://www.archiactevents.com/teams/118

Tank Blaster
Ez egy 3D voxel cucc lenne, ahol te vagy egy tankkal és lövöd a másikat látványos robbanásokkal
http://www.archiactevents.com/teams/123


   
Viperion - Tag | 540 hsz       Online status #207943   2015.07.09 13:55 GMT+1 óra  
Már értem.
Most már csak megkéne tanulnom,higyan kell megcsinálni a szerver részt ,kliens részt.
De szerintem ez baromi bonyolult.

   
FZoli - Szerkesztő | 4892 hsz       Online status #207941   2015.07.09 07:52 GMT+1 óra  
jogos, a scriptek valóban bekerülnek, reggel volt még
   
Instalok - Tag | 543 hsz       Online status #207940   2015.07.09 07:49 GMT+1 óra  
Ha egy projektben van, akkor a szerver kód is visszafejthető, mert a teljes forráskódot - használatától függetlenül - tartalmazza a build.

Alapvetően szerver-kliens modellnél 3 részből áll a kódbázis:
- server
- client
- shared

A server résznek nyilván csak a szerver oldalon kell léteznie, ezért valóban érdemes külön projektet fenntartani. Ezt azonban szerintem csak a fejlesztés végefelé jó ötlet megcsinálni, addig csak bonyolítja a szinkronizálást a kliens és a szerver között.

A client pedig kliens oldalon létezik; ezek főleg a megjelenítésért, illetve input kezelésért felelős dolgok.

A shared meglepő módon mindkét oldalon szükséges. Ezek főleg olyan dolgok, amik segítségével kommunikál a szerver és a kliens egymással.

   
FZoli - Szerkesztő | 4892 hsz       Online status #207939   2015.07.09 06:23 GMT+1 óra  
minden lehet egyetlen projektben? Ha igen ,akkor ez rossz ötlet nem mert csak visszafejtik a fájlokat és át írják a szerver részt és már lehet is csalni.

Ez akkor lenne igaz, ha a unity minden vackot belefordítana a buildbe ami a project mappájában van, és nem csak azokat, amiket a scene használ. De szerencsére azért van ennyire okos. Ettől függetlenül lehet, hogy külön projecten tartanám, akkor lehet nyitve szerver és kliens project egymás mellett, nem kéne scene-k között váltogatni.
   
Viperion - Tag | 540 hsz       Online status #207938   2015.07.08 23:54 GMT+1 óra  
"Így egy módosított kliens nem okoz gondot."
Ebből az jutott eszembe,hogy ha szeretnénk multiplayert a játékunkba,akkor maga a szerver rész az egy teljesen külön álló projekt lenne az unitybe. Csak a kliens része van beépítve alapból a játékba.
Ez így van? És ti is így csináljátok? A szervernek szánt számítógépre ráteszitek a szerver projektet és már kapcsolódhatnak is oda a kliensek.

Vagy minden lehet egyetlen projektben? Ha igen ,akkor ez rossz ötlet nem mert csak visszafejtik a fájlokat és át írják a szerver részt és már lehet is csalni.

   
Matzi - Szerkesztő | 2520 hsz       Online status #207937   2015.07.08 20:56 GMT+1 óra  
A socket szerencsére megmondja neked, hogy mekkora a csomag. Megnézed a fejlécet, ha nem egyezik, már dobod is el. Ehhez nem kell nagynak lenni. Így egy módosított kliens nem okoz gondot. Ha meg megtámadnak, akkor úgyis mindegy.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Instalok - Tag | 543 hsz       Online status #207936   2015.07.07 23:37 GMT+1 óra  
Matzi:
Igen, ez az, ahogy a "nagyok" csinálják, de most, ha visszatérünk a "mi szintünkre", akkor ezekre is gondolnunk kell.

   
Matzi - Szerkesztő | 2520 hsz       Online status #207935   2015.07.07 20:18 GMT+1 óra  
Instalok:
Idézet
Attól még ki lehet akasztani a szervert rossz csomagokkal, ha nincs megfelelő mennyiségű ellenőrzés szerver oldalon.
Nagyon amatőrnek kell lenni, hogy ne legyen ilyen ellenőrzés. Szóval semmilyen komolyabb játékot nem tudsz így kiakasztani. Eleve nem tudod egy gépről DDoS-olni, mert ugye az elosztott támadást jelent, sok gép kell hozzá. Másrészt ha azt akarsz, akkor nem a játékból indulsz ki, hanem ráuszítasz egy zombi hadsereget, és az megoldja. Harmadrészt pedig jó eséllyel a terhelés elosztó szerverekig jutsz egy ilyen "támadással", a játékszerverek (ha bejutsz is) kidobnak, és utána valamelyik védelmi vonal megfog.

Whiletrue:
Erre nem nagyon van bevált minimál recept. Ami biztos, hogy programozni kell tudni, ez alatt azt értem hogy ismerd a nyelvet és tudjál problémákat megoldani. Ha be akarsz kerülni valahová, akkor a legegyszerűbb ha csinálsz egy játékot. Vagy többet. Aki ért hozzá, az tudja, hogy mennyi munka van mögötte, és jobban fogják értékelni, mintha mondjuk valami tanfolyamot végeztél volna el. Persze semmi sem biztos, bekerülni általában nehéz a szakmába, de kitartással és megfelelő mennyiségű alkotással nem lehetetlen. Olvass, tanulj, de ami fontosabb, alkoss.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Whiletrue - Tag | 2 hsz       Online status #207934   2015.07.07 19:29 GMT+1 óra  
Sziasztok!

Szeretnék Unity C# játékfejlesztoként dolgozni. Aki ilyen területen dolgozik, vagy rendelkezik tapasztalattal, meg tudná velem osztani, hogy általában mik egy pályakezdotol az elvárások?
Milyen részeket/modulokat kell feltétlenül ismerni a Unity-ben és melyiket milyen mélyen? Milyen játékelemeket kell tudni feltétlenül megcsinálni? Milyen más programokat várhatnak még el ami nem szerepel a kiírásban?
Nagyon sokat segítene egy igényes, pontos leírás, ami alapján fel tudnék készülni.
Köszönöm!

   
Instalok - Tag | 543 hsz       Online status #207929   2015.07.07 11:36 GMT+1 óra  
Pontosan ugyan ezt mondtam én is

   
Tunyu - Tag | 448 hsz       Online status #207928   2015.07.07 11:15 GMT+1 óra  
Amennyire én tudom a decompiller csak a managed kódot tudja ilyen olvashatóan visszaadni, más esetben már nem ilyen egyszerű kiolvasni az értéket.De ezt csak valahol olvastam, nem feltétlen valós info.

   
Instalok - Tag | 543 hsz       Online status #207927   2015.07.07 10:31 GMT+1 óra  
Tunyu:
Igen, ez az alap koncepciója az authorative server-client modellnek. Attól még ki lehet akasztani a szervert rossz csomagokkal, ha nincs megfelelő mennyiségű ellenőrzés szerver oldalon. Ott van a lentebbi egyszerű példa, kevesebb adatot küld a csomagban, mint amire a szerver vár. Bár, nem tudom, hogy a beépített (de)serializer hogy működik, lehet, hogy simán kezeli ezt az esetet is.

Az importált dll-ek, ha managed kódok, akkor ugyan úgy feltörhetőek. Sőt, nincs feltörhetetlen kód ugyebár, legfeljebb 5 percnél tovább tart.

Igen, amúgy a Blizzard tényleg elég jól nyomja. Ráadásul ilyen játékoknál hatalmas a kód. Ott van például a Hearthstone. Egy az egyben megnézhető a forráskódja, de ott mire megtalálsz valamit...

   
Tunyu - Tag | 448 hsz       Online status #207926   2015.07.07 10:15 GMT+1 óra  
Egyébként az megoldható hogy pl. a kliens csak billentyűparancsot küld a szervernek egy a bejelentkezéskor kliensnek kiküldött azonosítóval, a szerver meg küldi a kliensnek az aktuális pozíciót stb.Vagyis a kliens lényegében csak a grafikus megjelenítésért felelős és egy beviteli eszköz.(én így tervezem játékom megvalósítását) De szerver oldalon mindenképp érdemes importált dll-be írni a kódot mert ellenkező esetben ha feltörik a szervert akkor minden ugrott,simán hozzáférnek játékos adatokhoz stb.Ja és persze ha nem online játékról van szó akkor is.

   
Lord_Crusare - Törzstag | 1290 hsz       Online status #207925   2015.07.07 09:57 GMT+1 óra  
Amúgy ilyen védelmek terén a Blizzard a legjobb, a játékaikat általában 1-1.5 év késéssel tudják csak feltörni, és olyankor is egy korábbi verziót.

A trükk: szinte minden a szerveroldalon van, és mire a hackerek kisilabizálnák, hogy mi hogy működik, addigra már meg is érkezett a következő patch, ahol némileg változtattak a kliens-szerver kommunikáción.

   
Instalok - Tag | 543 hsz       Online status #207924   2015.07.07 08:39 GMT+1 óra  
Sőt, nem tudom, hogy hogy reagálna a szerver a következőre:
Egy bizonyos csomag érkezik, aminél számít arra, hogy x mennyiségű adat van benne, és nekiáll olvasni. Alap esetben ez nem gond, mert a kliens tényleg olyan csomagot küld, amilyet kell. De mi van, ha a kliens azt mondja, hogy ő ugyan nem küld olyan csomagot, helyette küld mondjuk kevesebbet, és tök mást.

Ha lenne fix mérete a csomagoknak, akkor ellenőrizhető lenne, hogy megérkezett-e a kívánt mennyiség, de változó méretű csomagoknál ez esélytelen. Addig nincs gond, amíg a kliens csak a saját játékát rontja el, de ha elhasaltatja a szervert, akkor az már nem buli.

   
Tunyu - Tag | 448 hsz       Online status #207923   2015.07.07 08:09 GMT+1 óra  
Instalok :
Igazad van, tényleg marha nagy rés van a pajzson!
Nekem sem tartott sokáig visszafordítani pedig sokat nem foglalkoztam ilyesmivel és pikk-pakk megtaláltam a 128 bites kulcsomat a titkosításhoz. Viszont az importált dll-el nem tudtam mit kezdeni (bár az sem kizárt hogy simán visszafejthető ) , így lehet ez a megoldás.

   
Instalok - Tag | 543 hsz       Online status #207921   2015.07.07 05:48 GMT+1 óra  
Tunyu:
Nem kell hozzá sok energia, hogy "feltörd". Konkrétan 5 perc alatt írtam át benne valamit, és fordítottam újra - teljesen jól működik. Online játékoknál is lehet az ilyen probléma, nem tudsz mindent szerver oldalon ellenőrizni. Például, ha van a kódodban send rate korlátozás (hogy ne terheld le a hálózatot és a szervert), az kiszedhető. El is jutottunk a DDoS-ig. Ugyan lehet a csomagok számát figyelni szerver oldalon is, de mégis csak jobb lenne a klienssel is. No meg ilyesmik. A másik meg az, amit Matzi mondott. Bár én nagyon szeretnék egy online játékot, de szervert üzemeltetni nem túl jó buli, főleg, ha csak 10 ember használná az egészet.

A problémádat pedig még nem tapasztaltam. A felbontásod meg ha nincs teljesen lefixálva (azaz például átméretezhető az ablak), akkor más lehet, mint amit beállítasz. Az értékeket a registrybe menti ki (Windowson), ez ugye a PlayerPrefs. Ezt kellene megnézned, valószínűleg korábbi futtatásból már van ott valami. A lassulás viszont nem tudom, hogy mitől lehet.

   
zbalai - Tag | 50 hsz       Online status #207920   2015.07.07 01:05 GMT+1 óra  
Tunyu:
Köszi a csajokat!
120-140k tris körüliek akik álnak, az még talán ok.

   
Tunyu - Tag | 448 hsz       Online status #207919   2015.07.07 01:01 GMT+1 óra  
Matzi :
Igazad van,de a lényegen ez sem változtat! Felesleges azon aggódni hogy feltörik vagy sem, aki feltöri az vagy kihívást lát benne vagy pedig sikeres a program és azért. Utóbbi esetben örülhet a fejlesztő mert valószínűleg sokan meg is veszik.

Más: Barkácsolgatom az UI-t és a scripteket is írom át, eddig semmi gond nem volt, viszont leszedtem az 5.1.1f1-et. A playersettingsben beállítottam hogy 640*480 legyen a default felbontás és ha elindítom a kész programot a unity logon egy villanással átugrik, ami még nem is nagy gond, hanem egy kb. 320*120-as ablakban dobja elém.A másik dolog, ha a hátérből újra előveszem, akkor gondolkodik hogy az egérkurzor alatt felvillanjon-e az a gomb vagy sem, mintha belassulna a program amellett hogy a processzor 80%-át elzabálja mert nem korlátoztam még le.Valaki tapasztalt hasonlót, vagy erőteljesen ajánlott átnéznem a scripteket.?!

   
Matzi - Szerkesztő | 2520 hsz       Online status #207918   2015.07.07 00:16 GMT+1 óra  
Tunyu:
Nem az online funkció védi meg a játékot, hanem az, hogy a multiplayer a cég architektúráját használja. Magyarán vannak szerverek, amik szolgáltatást nyújtanak a játékosoknak. Az pedig pénz, nem is kevés, mert fenn kell tartani, akkor is ha az adott játék veszteséges. Egy nagy cég simán elcipel pár sikeresebb projekttel több kevésbé sikereset, de egy indie fejlesztő nem nagyon teheti meg, hogy szerverparkot tart. Nem véletlen, hogy manapság a kisebb csapatok nem is nagyon törik magukat. Sőt, kiadják DRM-free változatban, hogy legalább a fizető játékosokat ne szivassák, ha a DRM valamiért nem megy.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Viperion - Tag | 540 hsz       Online status #207917   2015.07.06 23:43 GMT+1 óra  
Unity editorja jön linuxra de még nem árulták el a megjelenési dátumot.

   
Tunyu - Tag | 448 hsz       Online status #207916   2015.07.06 23:31 GMT+1 óra  
zbalai :
https://3dwarehouse.sketchup.com/model.html?id=u109d2bb6-b56d-4465-af87-29acb2be18d6
http://tf3dm.com/search/?q=woman&format=All+Formats&search=Search

Instalok :
Ezen nagyon ne rágódj,csak tesztelik a hackelt változaton hogy megéri-e az árát(nem vagyok naiv, de vannak ilyenek is), ha tetszik úgy is megveszi, főleg ha online funkciója is van. A hackelt változatok itt szoktak elbukni, tehát érdemes belerakni ilyet.Egyébként meg feltételezem hogy a legnagyobb játékfejlesztő cégek is telenyomják mindenféle védelemmel a játékokat, de sokat mégsem érnek vele, pl.: a GTA5-re a pc megjelenése után 1-2 hétre már láttam crack-et,de lehet már korábban is volt. És megint csak feltételezem hogy nem kis pénzt öltek bele a védelembe.

   
Lord_Crusare - Törzstag | 1290 hsz       Online status #207915   2015.07.06 21:54 GMT+1 óra  
Ebből azt láthatjuk leginkább, hogy nem vagy hajlandó olvasni.

Nyisd meg a linkeket, olvass és tanulj. Ez akár évekig is eltarthat, de végül elérheted a célod. Ezt nem úszod meg. Sötétben tapogatozó kérdésekkel nem jutsz előbbre.

Le kell ülni és meg kell tanulni, elejétől a végéig, máskülönben nem lesz rendszerezett, használható tudásod.

   
Viperion - Tag | 540 hsz       Online status #207914   2015.07.06 20:59 GMT+1 óra  
És külön projekt lesz a szerveren futó program külön a játék és külön program ami csatlakozik a szerverre?
Mert én ezt nem tudom elképzelni. Mert ha ez nem igaz,akkor honnan tudja a program,hogy a számítógép amire letöltötték szerverként működtesse vagy kliensként?

Szerintem hülyeséget írok de ebből láthatjátok mennyire nem vagyok képben.

   
zbalai - Tag | 50 hsz       Online status #207910   2015.07.06 18:23 GMT+1 óra  
Van itt egy izgalmas VR kiírás. Ki akar nevezni?
http://www.archiactevents.com/

Én biztosan fogok.

Keresek ugyanitt egy kedves, intelligens felöltözött hölgy modellt 10 000-100 000-es polygonszámmal. Daz 3D 4.8 -ban összeraktam egyet, de a 600000 polygonszám kicsit soknak tűnik.

   
zbalai - Tag | 50 hsz       Online status #207909   2015.07.06 18:17 GMT+1 óra  
Viperion:
Azt olvastam, hogy szeretnél a hálózatokról többet tudni.
Hát először is érdemes angolul legalább olvasni jól tudnod.
Aztán ha nem értesz valamit akkor rákeresel a szóra.

Az internet alapja az IP protokol. Az IP címről itt egy olvasmányos leírás:
http://whatismyipaddress.com/ip-basics

A TCP is egy protokoll, ami az IP-n alapszik. Itt van egy leírás a hálózati rétegekről:
https://hu.wikipedia.org/wiki/TCPIP

Itt egy komolyabb leírás:
http://www.szabilinux.hu/ip/

Egyébként meg Unity networking egy csomó dolgot automatán megold. Érdemes keresni már olyan projekteket, amik már jól használják a netet és azokat megnézni, hogy vannak felépítve. Nekem is van egy ilyen kezdeti projektem, amiben csak egy charactert lehet irányítani minden csatlakozó kliens gépről.

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] > 8 < [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55]