Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

2D Bike / Car game in lucru

- - - - -
  • Please log in to reply
57 replies to this topic

#1
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011
De ieri m-am gandit sa ma apuc de un singur joc complex pentru ceva timp, jocul nu are inca un nume sau scop exact.
Este vorba despre un side scroller unde vei conduce un motor / masina folosind smartphone-ul.
Vor exista mai multe vehicule (asemanator cu Hill Climb Racing) , fiecare comportandu-se diferit, caractere diferite, unele amuzante.
Daca aveti idei de nume / propuneri postati aici.
Aici voi posta fiecare progres, daca vreti sa fiti la curent dati follow.
Programez in JAVA, pentru fizica folosesc Box2D.
Sper ca proiectul sa fie terminat pana prin mai, anul viitor.

#1
*creeata o interfata pentru vehicule, si o prima implementare a acesteia, care este o motocicleta.
Fiecare vehicul va avea o dimensiune cat mai apropiata de realitate. Motocicleta are roata de aproximativ 60-70 cm.
Acestea are si suspensii.
*adaugat un teren cu mici rampe, si posibilitatea de a spawna mici pietre la click pe ecran. (asta este doar pentru teste, in joc vor fi nivele ).

[ https://www.youtube-nocookie.com/embed/k_xNQ2ganA4?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

#2
republicall

republicall

    Senior Member

  • Grup: Senior Members
  • Posts: 2,211
  • Înscris: 26.02.2008
A fost greu de facut ce ai realizat in film? Sau e ceva standard.

#3
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011

View Postrepublicall, on 11 septembrie 2014 - 19:01, said:

A fost greu de facut ce ai realizat in film? Sau e ceva standard.

Greu nu chiar, iti arat codul pentru motor
public class MotorbikeVeh implements Vehicle {
//
private final static int VEH_ID = 500;
public final static float MAX_SPEED = 60f;
public final static float VEH_SPEED = 0.02f;
public final static float VEH_ANGULAR_SPEED = 0.1f;
public final static float WHEEL_RADIUS = 0.33f;
public final static float VEH_MAX_ROTATION_IMPULSE=5f;
// bodies
public Body chassis, leftWheel, rightWheel;
public Body suspension1, suspension2, suspension3, suspension4;
//
// initialize functions
private Body createWheel(float x, float y, World world) {
	 BodyDef bodyDef = PhysicsUtils.createBodyDef(BodyDef.BodyType.DynamicBody, x, y);
	 Body body = world.createBody(bodyDef);
	 FixtureDef fixtureDef = PhysicsUtils.createFixtureDefDRF(0.4f, 0.1f, 10f, PhysicsUtils.createCircleShape(WHEEL_RADIUS));
	 fixtureDef.filter.maskBits=CategoryBits.CATEGORY_NORMAL_OBJECT;
	 body.createFixture(fixtureDef);
	 return body;
}
private Body createChassis(float x, float y, World world) {
	 BodyDef bodyDef = PhysicsUtils.createBodyDef(BodyDef.BodyType.DynamicBody, x, y);
	 Body body = world.createBody(bodyDef);
	 body.createFixture(PhysicsUtils.createFixtureDefDRF(0.3f, 0f, 1f, PhysicsUtils.createRectangleShape(1.5f, 0.4f)));
	 return body;
}
private Body createSuspension(float x, float y, World world) {
	 BodyDef bodyDef = PhysicsUtils.createBodyDef(BodyDef.BodyType.DynamicBody, x, y);
	 Body body = world.createBody(bodyDef);
	 FixtureDef fixtureDef = PhysicsUtils.createFixtureDefDRF(0.3f, 0.1f, 2f, PhysicsUtils.createRectangleShape(0.2f, 0.8f));
	 fixtureDef.filter.categoryBits = CategoryBits.CATEGORY_SUSPENSION;
	 fixtureDef.filter.maskBits=CategoryBits.CATEGORY_NORMAL_OBJECT;
//	 fixtureDef.isSensor = true;
	 body.createFixture(fixtureDef);
	 return body;
}
private void joinSuspensions(Body b1, Body b2, World world) {
	 PrismaticJointDef jointDef = new PrismaticJointDef();
	 jointDef.localAxisA.set(0, 1);
	 jointDef.bodyA = b1;
	 jointDef.bodyB = b2;
	 jointDef.localAnchorA.set(0, 0.4f);
	 jointDef.localAnchorA.set(0, 0.3f);
	 jointDef.enableLimit = true;
	 jointDef.lowerTranslation = 0;
	 jointDef.upperTranslation = 0.35f;
	 world.createJoint(jointDef);
}
private void joinBodies(Body body1, Body body2, float x, float y, float angle, World world) {
	 WeldJointDef joint = new WeldJointDef();
	 joint.bodyA = body1;
	 joint.bodyB = body2;
	 joint.localAnchorA.set(x, y);
	 joint.localAnchorB.set(0, 0);
	 joint.collideConnected = false;
	 joint.referenceAngle = angle * MathUtils.degRad;
	 world.createJoint(joint);
}
private void wheelJointBodies(Body wheelBody, Body body, float x, float y, World world) {
	 RevoluteJointDef joint = new RevoluteJointDef();
	 joint.bodyA = body;
	 joint.bodyB = wheelBody;
	 joint.localAnchorA.set(x, y);
	 joint.localAnchorB.set(0, 0);
	 joint.collideConnected = false;
	 world.createJoint(joint);
}
//
@Override
public void initialize(float x, float y, World world) {
	 chassis = createChassis(x, y, world);
	 leftWheel = createWheel(x - 1f, y - 1f, world);
	 rightWheel = createWheel(x + 1f, y - 1f, world);
	 suspension1 = createSuspension(x - 1f, y + 1f, world);
	 suspension2 = createSuspension(x + 1f, y + 1f, world);
	 suspension3 = createSuspension(x - 1f, y + 1.5f, world);
	 suspension4 = createSuspension(x + 1f, y + 1.5f, world);
	 joinSuspensions(suspension1, suspension3, world);
	 joinSuspensions(suspension2, suspension4, world);
	 joinBodies(chassis, suspension3, -0.4f, -0.1f, -60, world);
	 joinBodies(chassis, suspension4, 0.7f, 0, 30, world);
	 wheelJointBodies(leftWheel, suspension1, 0, -0.4f, world);
	 wheelJointBodies(rightWheel, suspension2, 0, -0.4f, world);
}
@Override
public void rotateLeft(float amount) {
	 if(Math.abs(chassis.getAngularVelocity())<=VEH_MAX_ROTATION_IMPULSE)
	 chassis.applyAngularImpulse(VEH_ANGULAR_SPEED * amount,true);
}
@Override
public void rotateRight(float amount) {
	 if(Math.abs(chassis.getAngularVelocity())<=VEH_MAX_ROTATION_IMPULSE)
	 chassis.applyAngularImpulse(-VEH_ANGULAR_SPEED * amount,true);
}
@Override
public void accelerate(float amount) {
	 if (Math.abs(leftWheel.getAngularVelocity()) <= MAX_SPEED) {
		 leftWheel.applyAngularImpulse(-VEH_SPEED*amount, true);
	 }
	 if (Math.abs(rightWheel.getAngularVelocity()) <= MAX_SPEED) {
		 rightWheel.applyAngularImpulse(-VEH_SPEED*amount, true);
	 }
}
@Override
public void reverse(float amount) {
	 if (Math.abs(leftWheel.getAngularVelocity()) <= MAX_SPEED) {
		 leftWheel.applyAngularImpulse(VEH_SPEED*amount, true);
	 }
	 if (Math.abs(rightWheel.getAngularVelocity()) <= MAX_SPEED) {
		 rightWheel.applyAngularImpulse(VEH_SPEED*amount, true);
	 }
}
@Override
public void stop(float amount) {
	 stopWheel(leftWheel,amount);
	 stopWheel(rightWheel,amount);
}
private void stopWheel(Body wheel,float amount){
	 float bodyVel=wheel.getAngularVelocity();
	 if(bodyVel<-1f){
		 wheel.applyAngularImpulse(VEH_SPEED*amount,true);
	 }
	 if(bodyVel>1f){
		 wheel.applyAngularImpulse(-VEH_SPEED*amount,true);
	 }
}
@Override
public int getSensorValue() {
	 return 0;
}
@Override
public void draw(SpriteBatch batch) {
}
@Override
public Vector2 getPosition() {
	 return chassis.getPosition();
}
@Override
public void teleport(float x,float y) {
	 ArrayList<Body> bodies=new ArrayList<Body>();
	 bodies.add(chassis);
	 bodies.add(suspension1);
	 bodies.add(suspension2);
	 bodies.add(suspension3);
	 bodies.add(suspension4);
	 bodies.add(leftWheel);
	 bodies.add(rightWheel);
	 chassis.setTransform(x,y,chassis.getAngle());
	 suspension1.setTransform(x-1,y-0.5f,suspension1.getAngle());
	 suspension2.setTransform(x+1,y-0.5f,suspension2.getAngle());
	 suspension3.setTransform(x-1,y-0.5f,suspension3.getAngle());
	 suspension4.setTransform(x+1,y-0.5f,suspension4.getAngle());
	 leftWheel.setTransform(x-1,y-1,leftWheel.getAngle());
	 rightWheel.setTransform(x+1,y-1,rightWheel.getAngle());
	 for(Body body : bodies) {
		 body.setTransform(body.getPosition(),0);
		 body.setLinearVelocity(0,0);
		 body.setAngularVelocity(0f);
	 }

}
}


Greu cred ca era cand am inceput cu Box2D, fiindca nu e unity (drag and drop, si bang, ai un corp intr-o lume fizica).
Un lucru mai greu ar fi faptul ca tu trebuie sa nimeresti locatiile fiecarei parti din motor, si abia cand dai run vezi daca a fost totul bine, ceea ce e frustrant uneori.
Aici a fost greu sa gandesc cum o sa fac acele suspensii, dar pana la urma m-am descurcat.

Edited by paulicaFX, 11 September 2014 - 20:45.


#4
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011
#2
*adaugate 2 vehicule noi
-toilet veh - va fi o toaleta pe roti
-super veh - un vehicul inconjurat de roti, cu care nu vei putea pierde lovind cu capul sau corpul ceva, cel mai probabil acest vehicul va putea fi cumparat prin IAP sau printr-o versiune full.
*adaugata posibilitatea de a schimba vehiculul in timpul jocului.
*adaugata posibilitatea de a crea un nivel cu Tiled , si a fi citit si adaugat in box2d.
[ http://i.snag.gy/AGXAw.jpg - Pentru incarcare in pagina (embed) Click aici ]
*zoom-ul camerei e influentat de viteza orizontala a vehiculului, putin cam brusca miscarea dar o voi rezolva.
*rotarea mai putin realistica din #1 a motocicletei reparata aproximativ

2 minute de gameplay:
[ https://www.youtube-nocookie.com/embed/afhyqtp4ImU?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

Aveti idei de vehicule noi?

Edited by paulicaFX, 11 September 2014 - 22:56.


#5
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Monster Truck-ul unde e? :)

#6
catalinuptm

catalinuptm

    Senior CG Artist

  • Grup: Senior Members
  • Posts: 4,308
  • Înscris: 11.03.2008
Suspensia mi se pare genial facuta, se comporta destul de natural, cred ca asta este si atuul acestui mic joc, suspensia.

#7
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014

View PostpaulicaFX, on 11 septembrie 2014 - 22:55, said:

Aveti idei de vehicule noi?

Deci jur cal a un joc de genu' chiar ar trebui o caruta bagata... Ar fi ceva special / inovator ce ar separa acest joc de restul sutelor de jocuri care au aceleasi masini.

#8
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011

View PostCozzmy13, on 12 septembrie 2014 - 10:28, said:

Monster Truck-ul unde e? Posted Image

Buna idee Posted Image
M-am mai gandit si la un motociclist fantoma, care ar trece prin unele obstacole.

Va fi mai greu cu design-ul, momentan aproape am terminat designul la motociclist, cam asa va arata

[ http://i.snag.gy/QjXq7.jpg - Pentru incarcare in pagina (embed) Click aici ]


Nu stiu daca voi desena si suspensia, ca e putin mai complicat acolo fiindca sunt doua corpuri / suspensie, dar voi vedea.

Acum voi trece la desenat toaleta.
Partea faina cand lucrezi singur la un joc este ca daca n-ai chef de programare, poti lucra la grafica Posted Image
Pentru motocilistul asta m-am inspirat din mai multe jocuri.

Edited by paulicaFX, 12 September 2014 - 14:05.


#9
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
E super motociclistul! Posted Image

Pentru cel fantoma doar fa-l pe cel normal greyscale si 50% transparent.

Edited by Cozzmy13, 12 September 2014 - 14:19.


#10
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011

View PostCozzmy13, on 12 septembrie 2014 - 14:18, said:

E super motociclistul! Posted Image

Pentru cel fantoma doar fa-l pe cel normal greyscale si 50% transparent.
Eu ma gandeam sa ii fac un craniu in cap, poate si niste flacari, parca doar sa il fac transparent ar fi putin superficial :D

#11
trasnitul28

trasnitul28

    Member

  • Grup: Members
  • Posts: 675
  • Înscris: 28.09.2012
Daca nu desenezi suspensia, degeaba.

#12
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
:D Si eu ma gandeam sa-l faci cu craniu. Flacari doar din motocicleta, pe el lasa-l schilod si cu craniu :P Eventual fa si motocicleta mai subtirica.

Suspensia o poti face pe textura sasiului daca nu vrei sa te incurci asa tare. Astfel rotile se misca sus-jos fata de suspensie si tot vei realiza acel "efect".

#13
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011

View Posttrasnitul28, on 12 septembrie 2014 - 14:23, said:

Daca nu desenezi suspensia, degeaba.

Da, m-am apucat putin si nu e greu
Va fi ceva de genul pentru cea din fata:
[ http://i.snag.gy/dVUMf.jpg - Pentru incarcare in pagina (embed) Click aici ]
Partea de jos va oscila (sus / jos) si se va asunde in spatele partii superioare.

Edited by paulicaFX, 12 September 2014 - 14:32.


#14
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Capacul din mijloc seamana cu un emoticon :P

#15
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011
Am adaugat si suspensile
[ http://i.snag.gy/RBhhb.jpg - Pentru incarcare in pagina (embed) Click aici ]

In mintea mea ar arata ok cand le voi adauga in joc in sine, dar o sa vad abia atunci Posted Image
Va trebui sa adaug si corpul / picioarele la motor, si capul, si bratele, si corpul va reactiona ,adica se va misca stanga dreapta in functie de cum se loveste ,etc.
Dupa ce termin de schitat / desenat urmatoarele 2 vehicule, voi trece si la desenarea lor, dar e drum lung pana acolo :)
Vreau sa fie si caractere reale pentru joc, ma gandeam la un basescu, nicusor de la braila, obama, bush, tipul ala cu 'fuck her right in the pussy', alex velea, etc :)

Edited by paulicaFX, 12 September 2014 - 14:45.


#16
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014

View PostpaulicaFX, on 12 septembrie 2014 - 14:43, said:

...
Sau ai putea face (ce-i drept e mai greu) un meniu de customizare a personajului... Sa se porneasca de la un personaj simplu, iar jucatorul sa ii aleaga parul, echipamentul, bla bla bla etc...

#17
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Parca erau 2 tipi cu "fuck her right in the pussy" :)

#18
republicall

republicall

    Senior Member

  • Grup: Senior Members
  • Posts: 2,211
  • Înscris: 26.02.2008
- un tractor care tremura haios cu un taran cu pai in gura
- masina cu remorca din desenele disney cand in spate se zgaltaia duffy duck
- o bicicleta de epoca
- un circar pe o bicicleta cu  singura roata

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate