Windows 3D Command and Conquer: Generals *Remake Game Maker Studio 1.4*

James222

Member
Hey guys, So I just started a new project recently.
So my last game was the halo CE remake, and now I have a new idea for a remake in mind. The game I grew up playing....
The legendary RTS game from 2003.... Command And Conquer: Generals :)

Just got path finding and the 3d environment so far and keeping the game running smooth and optimized from the start due to the number of units this game can have.
anyway just a quick screenie of the progress so far a couple of crusader tanks to move around protecting the entrance to the main base maybe :p








Real time day night system with Lighting :)
Ill keep you all up to date on here with progress :)
 
Last edited:
Hi, I have a question about how you plan to draw your units. Do you draw every unit seperately? Or have you combined multiple instances of units into the same vertex buffer?
 

James222

Member
Hi, I have a question about how you plan to draw your units. Do you draw every unit seperately? Or have you combined multiple instances of units into the same vertex buffer?
At the moment every unit is drawn seperately, but I am working on changing that when I find some time when I finish work :)
 

EZcomedy

Member
This is insane! Love it! I am working on an RTS game myself still a young coder but this gives me so much inspiration to continue with my unique idea! Was wondering if you could push me in a direction of what I should start learning to keep things flowing smooth with multiple instances. I having issues already when there are hundreds of things going. Any recommendation to check out would be helpful if you know anything off the top of your head!
 

James222

Member
This is insane! Love it! I am working on an RTS game myself still a young coder but this gives me so much inspiration to continue with my unique idea! Was wondering if you could push me in a direction of what I should start learning to keep things flowing smooth with multiple instances. I having issues already when there are hundreds of things going. Any recommendation to check out would be helpful if you know anything off the top of your head!
Thanks mate I appreciate it :), this game has merged into a different game which is now a halo fan rts game, forum link here: https://forum.yoyogames.com/index.php?threads/3d-rts-halo-fan-game-unsc-vs-covenant.80598, its far further then this now with multiplayer and teams :)

as for keeping things flowing with multiple units, there are many things you can do for example
create a system that only allows a certain number of units to perform logic per frame so psudo code of a simple implimentation may look a bit like....

GML:
global UnitID_Counter = 0
global Unit_CounterID = 0
global Unit_CounterID_Limit = 8;





obj_control step

global.unit_counterID++

if (global.unit_counterID > global.Unit_CounterID_Limit)





unit create

myNumberID = global.UnitID_Counter;

global.UnitID_Counter++;

if (global.UnitID_Counter > global.Unit_CounterID_Limit)

{

global.UnitID_Counter = 0;

}


unit Step event

 if (global.unit_counter ID== myNumberID)
{

//DO STUFF LOGIC

}
 

EZcomedy

Member
Thanks mate I appreciate it :), this game has merged into a different game which is now a halo fan rts game, forum link here: https://forum.yoyogames.com/index.php?threads/3d-rts-halo-fan-game-unsc-vs-covenant.80598, its far further then this now with multiplayer and teams :)

as for keeping things flowing with multiple units, there are many things you can do for example
create a system that only allows a certain number of units to perform logic per frame so psudo code of a simple implimentation may look a bit like....

GML:
global UnitID_Counter = 0
global Unit_CounterID = 0
global Unit_CounterID_Limit = 8;





obj_control step

global.unit_counterID++

if (global.unit_counterID > global.Unit_CounterID_Limit)





unit create

myNumberID = global.UnitID_Counter;

global.UnitID_Counter++;

if (global.UnitID_Counter > global.Unit_CounterID_Limit)

{

global.UnitID_Counter = 0;

}


unit Step event

if (global.unit_counter ID== myNumberID)
{

//DO STUFF LOGIC

}

Oh great man! Will head over to that forum too! Thanks for the insight here a bit, makes sense! I have found some ways to keep performance smooth but can always improve more thank you!
 
Top