Utilizator / Parola:

 

Am uitat parola... | Cont nou!
» Sectiuni
Forum » Proiecte » Devlogs » projectrts




Pagina 1 din 2 [ 1 | 2 ]

Autor Mesaj
pin46  [banned]

    Postat la 12 Jan 2008 11:31:49    Subiect: projectrts


Status:
Înregistrat pe:
06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing

[edit 27 feb 2009]
O sa ma mut aici cu updaturile pentru nanostorm (din imaginea zilei)
[/anunt]

____
14 martie
http://www.slingfile.com/file/31961-4036478e34.html
navigare cu sagetile, insert, delete, se ruleaza in opengl

--------------------
9 martie

Am pus la punct sistemul de interpolare a miscarii prin noduri.
Daca exista interes pot sa fac upload la build.

__________________________________________________________
2 martie 2009
Am pus in picioare un engine primitiv de spriteuri si am facut ceva munca la pathfinding. Cine vre sa arunce o privire gaseste buildul aici
http://www.slingfile.com/file/29994-3623478063.html
Screenshoturi nu mai postez

-------------
27 feb 2009
Recapituland vom construi un rts cu gestionare de resurse. Voi incerca sa pun buildurile spre download.
[spoler]
O versiune a buildului din postul imaginea zilei se afla aici. Nu contine mai nimic, il postez pentru a descoperi eventuale probleme de compatibilitate cand ruleaza pe alte calc.
http://www.slingfile.com/file/28072-5091828f57.html
[/spoiler]


Ultima editare efectuată de pin46 pe 20 Mar 2009 12:49:06; 13 editări în total
 
pin46  [banned]

    Postat la 14 Jan 2008 20:58:06    Subiect: < fara subiect >


Status:
Înregistrat pe:
06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing

Dezvoltarea modului de AI.

Daca vrei sa ai un AI de RTS sa construiasca singur o baza trebuie sa scriptezi acel ai singur. Iar ca sa faci scriptarea iti trebuie functii simple cum ar fi antreneaza 5 lucratori, construieste aia, formeaza un grup de atac din unitati si ataca cu acel grup etc.

Asa ca sarcina este de a construi functii 'low level'.

Cod sursă:

void WorkerAddJob(int UnitID, string UnitType, string Job, Point Location)
{

}

UnitAddJob(5,"Worker", "DiggGold",new Point(300,400));

UnitAddJob(3,"Marine", "Fight", Enemies.Position);

 


etc.

Fiecare din sarcini este alcatuita din mai multe actiuni individuale:
'Move' este alcatuit din actiunea de 'miscare' si 'oprire' (adica alternarea intre actiunile de idle-run-idle),
'Fight' inseamna ca unitatea trebuie sa se apropie de tinta pana tinta intra in raza de actiune si apoi sa ruleze animatia de attack, sa cheme functia care creaza proiectilele, etc.








Ultima editare efectuată de pin46 pe 14 Jan 2008 20:58:48; 1 editări în total
 
pin46  [banned]

    Postat la 22 Jan 2008 17:58:34    Subiect: < fara subiect >


Status:
Înregistrat pe:
06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing

Am facut catevai adaugiri la GUI. Sistemul are acum afishe (labels) si checkbox-uri



Toate widgeturile interfetei pot fi accesate si folosite din script, exemplu:

Cod sursă:
Form(800, 380 + 168, 120, 220, 10, "MainMenuForm", true, 12, "WindowType1");

                    if (Button("MissStartBt", "MainMenuForm", 20, 40, 50, 30, false, 5, "ButtonType1", " Start n Mission", "Static", 5, 5, 12, ColorWhite, ColorWhite))
                    {
                        menu_state = MainMenuState_enum.Missions;
                    }

                    if (Button("OptionsBt", "MainMenuForm", 20, 80, 50, 30, false, 5, "ButtonType1", "Options","Static", 5, 10, 12, ColorWhite, ColorWhite))
                    {
                        Menu1Options = true;
                    }

                    if (Button("Exitbt", "MainMenuForm", 20, 120, 50, 30, false, 5, "ButtonType1", "Exit", "Static", 5, 10, 12, ColorWhite, ColorWhite))
                    {
                        return false;
                    }

                    if (Menu1Options)
                    {
                        Form(600, 400, 400, 250, 14, "OptForm", true, 12, "WindowType1");

                        if(Button("OptB1","OptForm",30, 40, 50, 30, false, 5, "ButtonType1", "Back", "Static", 5, 10, 12, ColorWhite, ColorWhite))
                        {
                            Menu1Options = false;
                        }
                       
                        WireFrameMode = CheckBox("WframeChB", "OptForm", 120, 90, 30, "ChBx1");
                        Afish("fNameX", "OptForm", "Wireframe render:", 20, 90, 14, ColorWhite, ColorWhite);
                       
                        if (WireFrameMode == 1)
                        {
                            cam.PolygonMode = PolygonMode.PM_SOLID;
                        }
                        if (WireFrameMode == 2)
                        {
                            cam.PolygonMode = PolygonMode.PM_WIREFRAME;
                        }
                    }


Daca apesi pe butonul options se deschide meniul Options in screenshot

Ultima editare efectuată de pin46 pe 22 Jan 2008 18:00:09; 1 editări în total
 
pin46  [banned]

    Postat la 22 Jan 2008 18:04:55    Subiect: < fara subiect >


Status:
Înregistrat pe:
06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing

Cand apesi pe 'Back' meniul options se inchide
 
GameGodN

    Postat la 06 Feb 2008 17:25:25    Subiect: Sugestie


Status:
Înregistrat pe:
16 Oct 2007 12:47:38
Vârsta: 25 ani
Mesaje: 178
Locatie: Sibiu
Game designer

Nu stiu daca ai auzit de libraii create special pt a fce in ele jocuri de strategie. De exemplu Stratagus. Stratagus nu e bun dar am incercat ceva numit PPTactical. Nu ma refer la motru grafic care e 2d ci la clase si algortmi indreptati spre programarea de Ai sau tipuri de unitati, damage ect.
Game for Gods, game for play.
 
boboS

    Postat la 06 Feb 2008 17:39:08    Subiect: < fara subiect >


Status:
Înregistrat pe:
03 Oct 2006 15:53:21
Vârsta: 24 ani
Mesaje: 891
Locatie: Galați


Pai un engine pentru jocuri RTS sa zicem ca iti face tot, ai algoritmi etc..insa unde mai e placerea de a face tu ceva ?
"Noi ne facem ca muncim , ei se fac ca ne platesc"
 
GameGodN

    Postat la 06 Feb 2008 17:47:48    Subiect: Re


Status:
Înregistrat pe:
16 Oct 2007 12:47:38
Vârsta: 25 ani
Mesaje: 178
Locatie: Sibiu
Game designer

Daca a zis ca are nevoie de ajutor inseamana ca e mai greu sa faci ceva de la zero decat sa inveti din ce au facut alti deva ca sa vezi cum le-a programat. E ca si cum inveti din ce a reusit altii care sunt mai experimentati ca tine. Cred ca e si o altta placere sa contribui la asfel de librarii.
Si daca reusesti sa faci jocu sa fie macar tare si in Ai nu numai in grafica poate si fizica.

Ultima editare efectuată de GameGodN pe 06 Feb 2008 17:49:37; 1 editări în total
Game for Gods, game for play.
 
pin46  [banned]

    Postat la 06 Feb 2008 23:36:14    Subiect: < fara subiect >


Status:
Înregistrat pe:
06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing

GameGodN, am aruncat o privire la catevai enginuri open source. Unul din principalele motive pt care imi fac enginu meu e ca pot folosi C# (in loc de C++)
 
boboS

    Postat la 07 Feb 2008 05:55:44    Subiect: < fara subiect >


Status:
Înregistrat pe:
03 Oct 2006 15:53:21
Vârsta: 24 ani
Mesaje: 891
Locatie: Galați


Cu AI-ul cum merge ? Ca banuiesc ca nu e asa de usor la un RPG.
"Noi ne facem ca muncim , ei se fac ca ne platesc"
 
pin46  [banned]

    Postat la 07 Feb 2008 09:57:43    Subiect: < fara subiect >


Status:
Înregistrat pe:
06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing

Partea de lupta e cam la fel ca intr-un rpg. Diferenta intr-un rts e ca inamicul construieste baze adica executa actiuni predefinite de programator. Ca sa-ti dau un exemplu in C#: antreneaza un taran, cand taranul e gata contruieste cu taranul un cazemat

motor.eveniment_Ceas += new eveniment_Ceas(AntreneazaLucrator);
motor.eveniment_ActiuneSfarshita +=new eveniment_ActiuneSfarshita(ConstruesteCazemat);


void AntreneazaLucrator(float Scurs)
{

if (Scurs > 10.0f)
{
motor.antreneazaUnitate("taran");
motor.eveniment_Ceas -= new eveniment_Ceas(AntreneazaLucrator);
}
}

void ConstruesteCazemat(string tipEveniment, string autor_eveniment)
{
if((tipEveniment == "lucrator_const")&&(autor_eveniment == "primaria1"))
{
    motor.construiesteCazemat("taran1");
motor.eveniment_ActiuneSfarshita -= new eveniment_ActiuneSfarshita(ConstruesteCazemat);
}

}
 
raicuandi

    Postat la 07 Feb 2008 12:46:53    Subiect: < fara subiect >


Status:
Înregistrat pe:
24 Mar 2007 21:02:40
Vârsta: 20 ani
Mesaje: 514
Locatie: Adelaide, Australia
Programator

Cod sursă:
motor.eveniment_Ceas -= new eveniment_Ceas(AntreneazaLucrator);

Sigur?
Method 2: Move Your Mouse Pointer
If you move your mouse pointer continuously while the data is being returned to Microsoft Excel, the query may not fail. Do not stop moving the mouse until all the data has been returned to Microsoft Excel.
 
pin46  [banned]

    Postat la 07 Feb 2008 14:33:55    Subiect: < fara subiect >


Status:
Înregistrat pe:
06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing

Ce anume te mira?
 
Dark

    Postat la 07 Feb 2008 14:54:24    Subiect: < fara subiect >


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 686
Locatie:
Programator

Off-topic: nu trebuie sa te mire, e C#. Eu unul ador limbajele unde trebuie (sau poti) sa aloci memorie ca sa stergi ceva.
"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Breviar de personalitati
 
boboS

    Postat la 07 Feb 2008 15:56:49    Subiect: < fara subiect >


Status:
Înregistrat pe:
03 Oct 2006 15:53:21
Vârsta: 24 ani
Mesaje: 891
Locatie: Galați


Pardon vream sa zic RTS in postul de mai sus.
"Noi ne facem ca muncim , ei se fac ca ne platesc"
 
raicuandi

    Postat la 08 Feb 2008 04:06:06    Subiect: < fara subiect >


Status:
Înregistrat pe:
24 Mar 2007 21:02:40
Vârsta: 20 ani
Mesaje: 514
Locatie: Adelaide, Australia
Programator

Laughing
Method 2: Move Your Mouse Pointer
If you move your mouse pointer continuously while the data is being returned to Microsoft Excel, the query may not fail. Do not stop moving the mouse until all the data has been returned to Microsoft Excel.
 

Pagina 1 din 2 [ 1 | 2 ]


Server time: 07:50:28 01.08.2010
Last full backup: @ 10:43 on 12.09.2009


[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2006-2007 Copyright 7thFACTOR Entertainment - All rights reserved