SeganX

conflict of dimensions

Rush for Glory on Steam —

I’m really excited to announce the release of Rush for Glory on Steam. I can’t wait to hear all feedback about the game and I will do my very best to deliver a great game experience!

available_on_steam


What’s news —

I changed the design of the engine in the next version. In the new design, I have separate main library of the engine. It includes memory allocators, containers, random system, basic math functions, simple memory leak and memory corruption detector, callstack system and crash reporter. All of these stuffs are now simpler, more optimized and more easy to use.

Developing memory leak detector and callstack system is straight forward and you can find many samples on the net easily. But I was thinking to find a solution to detect memory corruptions. I found that it’s really complicated and it isn’t suits on me. My problem was not much trouble and there was no need to use complex solutions. All I needs was a simple system to checks the array bounds. So my memory corruption detector does that for me fast and secure. Although it may not report all memory corruptions but it can do for many of them.

The new system can report memory status, callstack with every value in every call when the system is running or crashed. It is a trick. When a crash happens on the application side, the function “DllMain()” called to detach the library. There I check the flags and memory status to verify that application closed unexpectedly and report memory statuses. This works well on Microsoft Windows. But I have no idea about the other platforms.

My next news title is about the network system. The new version has a basic network system based on UDP protocol. The system has been guaranteed to create a connection which supports reliable data order, request for loosed critical data, merge and compress data packets and connection speed controller to prevent data accumulation. The network system contains Client, Server, Connection and socket objects which allows the developer to design any network paradigm based on the genre of the game.

In the Client/Server architecture, the Server object has been featured by broadcast capabilities to create a game session with specified number of clients to join. The Client object can list the game sessions and let the player to choose a game to join. Also there are Connection object and Socket object to design the other network architectures as like as peer to peer connections, stars, mesh, etc. I wrote the network system recently and still need more optimization and debug and probably we will test it on “Rush for Glory”.


Next Container Library —

Developing Rush for Glory game is going to be finished. so I decided to rewrite some parts of the engine recently. this may cause to rewrite the whole source code. at the first step I rewrote the containers library. in this new version I changed structure of containers for decrease usage of templates<> which make code ugly. I used sampler to decrease allocations. also implementing memory allocators is more easy that before and changeable during the code in some cases. finally implementing new memory allocator which uses stack memory to avoid calling malloc function.

Note that some new features are not designed for general purposes. there are many limitations to using them and must be used with care because those features are designed to develop game and most of capabilities are depend on needs of a game engine.

Here are some highlights :

Added math base functions to the library with some fast functions like :

// fast sqrt root using Log Base 2 Approximation With One Extra Babylonian Steps
float sx_sqrt_fast( const float x );

// return sine( x ) from table. maximum absolute error is 0.001f
float sx_sin_fast( const float x );

// return cosine( x ) from table. maximum absolute error is 0.001f
float sx_cos_fast( const float x );

// compute sine and cosine of the angle x in same time. maximum error is 0.001f
void sx_sin_cos_fast( const float IN x, float& OUT s, float& OUT c);

and some useful conventional functions

MemManFixed::SetBuffer(void* buffer);
I can change the memory buffer of the allocator by setting a new buffer. this feature is available only on fixed memory manager. it means that it’s suitable just for arrays and strings.
For example I wanna change/fill an string in an structure. in this example when I set members of structure to the allocator, all string functions can be applied easily.

struct FileInfo {
wchar path[256];
wchar name[64];
wchar type[32];
}

FileIfo fileInfo;

MemManFixed memTmp;
String strTmp( 0, &memTmp );

// extract file path from file name and copy that to fileInfo.path
memTmp.SetBuffer( &fileInfo.path );
strTmp = fileName;
strTmp.ExtractFilePath();

// extract name of the file and copy that to fileInfo.name
memTmp.SetBuffer( &fileInfo.name );
strTmp = fileName;
strTmp.ExtractFileName();

// extract file type and copy that to the fileInfo.type
memTmp.SetBuffer( &fileInfo.type );
strTmp = fileName;
strTmp.ExtractFileExtension();

MemManFixed_inline<memSizeInByte>
This memory manager use memory stack of function. by the way this feature is available only on fixed memory manager. this means that it’s suitable just for arrays and strings.

In this example I try to collect some nodes from the scene manager. this will happens at each frame more than once, at renderer, AI system & etc. implementing new Array class cause to calling allocation/deallocation. the other solution is declaring static array. the other solution is using memory stack with some limitation but fast and easy memory management.
example :

MemManFixed_inline<MAX_NODE_COUNT> tmpMem;
Array<Node*> nodes( 0, &tmpMem );

// collect nodes from the scene manager
g_engine->m_scene->GetNodesByFrustum( cameraFrustum, nodes );

for ( int i = 0; i < nodes.Count(); ++i )
{
// ... do something !
}

Although there are some changes like adding new functions, changing algorithms in the other stuff to increase performance and capabilities, but those still need to be optimized more and more. oh I forgot to say that I put away namespaces in c++. those things are not suitable for game programming and maybe not suitable at all !


Terrain :: Geometry —

The Terrain for seganx engine is going to be completed. in this post I will describe the geometry algorithms I used for rendering the terrain briefly. my approach to design this feature was easy to use, simple and straight forward implementing. Artist/Level designer can easily:
– create geometry every where and every amount that was required.
– increase performance by implementing LOD and patching geometries to reach minimum draw call.

As I mentioned before, everything in the scene is a kind of node member. In this method the terrain is like the other members ( mesh, particle, sound, … ). The terrain is a node member too. Thus for importing terrain to the scene we must create terrain and attach it to the node and then add the node to the scene. so we can create any number of terrain and add them to the scene. But to reaching the goals which mentioned above I design terrain members with some more information.

Geometry data
Each terrain member has a fixed 33×33 vertices placed in grid style. I choose this size because I want to generate 6 levels of details. With 33×33 vertices we have 32×32 quads for first level. This means if we half each level for 6 times, finally we will have one quad for lowest level of details. Choosing vertices for each level will do by using 6 static fixed size LOD structures called TerrainLOD that used for all terrain members. Thus, there is no need to more indices/vertices for each level and we just choose a correct LOD structure depends on view distance. So for rendering all terrain members I used a big buffer and append to that big buffer vertices of all terrain members in view port. Appending process just applied on vertices which described in LOD structure. Finally, the terrain will draw by one draw call.

T-junction problem
T-junction problem appears between terrain blocks with different LOD and make terrain ugly. The picture in below illustrate this problem clearly:

T-Junction between LODs


There are several ways to remove these junction problems. according to ‘Geometry Data’ of terrain in engine I defined and implemented a simple structure to describe indices for each LOD. this structure split indices for each LOD to 9 part :

typedef struct TerrainLOD
{
    TerrainChunk    center;         //  standard center
    TerrainChunk    sideFUL[4];     //  standard 4 sides
    TerrainChunk    sideLOD[4];     //  simplified 4 sides
}
*PTerrainLOD;

Indices of center in this structure contain polygon indices that cover the center except 4 sides “up, right, down, left”. these sides will covered by sideFUL or sideLOD. sideFUL contain indices to cover with all polygons in that LOD and sideLOD contain simplified indices.

Choosing which side ( sideFUL or sideLOD ) to use as indices is simple. we can easily predict the LOD of neighbors. to predict LOD of each neighbors I compute the neighbor’s position by adding fixed terrain size to current position. by passing this position to some special functions we can get neighbor’s LOD number depend on current camera properties. for each neighbor which uses less details we append sideLOD to the big buffer, otherwise we use sideFUL. here is an screen shot for terrain in wire frame mode :

Terrain rendering in seganx engine

My next task is choosing and implementing terrain material system. current system support multilayer material system. but implementing brush, gathering information of each brush on terrain to increasing performance, optimization and optimization and optimization still need more and more and more works. but now I have to spend more time to cnep game project.


professional home work ghostwriter websites for college professional article review writer for hire for college popular creative writing editing website uk custom critical thinking ghostwriter sites us bibliography ghostwriters site ca popular movie review ghostwriting site gb top thesis proposal writers services online professional curriculum vitae editing websites for masters top personal essay editing service uk custom problem solving ghostwriting service uk urban legends in maryland iron jawed angels summary write me best critical essay on donald trump help with education dissertation results custom course work writing sites for masters top thesis statement writer sites for phd pay for my theater studies dissertation esl cover letter editing service online personal statement editing for hire professional thesis statement ghostwriting websites online help with my top phd essay on hillary clinton help with world affairs article esl argumentative essay ghostwriter service gb professional dissertation methodology editing site for phd dramatic irony in the scarlet letter my last duchess analysis professional presentation ghostwriters services gb pay to do psychology business plan buy accounting dissertation results top descriptive essay editing for hire write me cheap analysis essay on civil war top movie review editor services for phd popular expository essay proofreading website gb custom literature review writers service online cheap presentation ghostwriter service help with top argumentative essay on founding fathers article review ghostwriters services ca custom report writers sites gb imagery in beowulf movie review writing services usa popular college essay ghostwriters website uk cheap university dissertation methodology popular presentation writer website usa trigonometry writer website cheap application letter writers website for phd top mba essay ghostwriter site ca gun control speech outline custom reflective essay ghostwriting sites for mba pay to do custom phd essay on donald trump do my esl university essay on pokemon go esl reflective essay writer website us theme of the catcher in the rye best critical analysis essay editing websites us dissociative identity disorder essay pay for professional academic essay on trump write esl personal essay on trump cheap letter editor site online cheap school essay proofreading for hire for masters thesis proposal editing site online professional dissertation chapter editing website custom paper proofreading site online professional thesis ghostwriting services for school esl custom essay writing sites us best term paper writer site ca calpurnia to kill a mockingbird help with my custom academic essay online top dissertation ghostwriting site ca popular creative essay ghostwriter site usa a visit to grandmothers romanticism in music school editor sites ca professional paper writing website gb help with my top essays online esl mba essay editor for hire usa custom term paper writers service for college esl thesis statement editor websites for college custom thesis writers services uk pay to get professional best essay on usa esl thesis statement ghostwriters site au custom creative essay ghostwriting websites au professional scholarship essay ghostwriter services au custom presentation writer websites for school puritans vs indians best analysis essay on usa best business plan writing for hire for phd popular analysis essay writing website for school custom dissertation introduction editor sites us top book review editing site au buy english cv write my geometry dissertation coal audre lorde analysis pay for my professional personal essay on presidential elections esl admission essay ghostwriting service for school best dissertation methodology ghostwriting services usa curriculum vitae editor website au marriage is a private affair story top definition essay editor service for phd cheap assignment editing for hire au help writing marketing home work top application letter writers sites au professional dissertation abstract writing for hire us best essay ghostwriting for hire au gary from remember the titans top scholarship essay writers websites gb best university rhetorical analysis essay help pay to do medicine essay pay for statistics problem solving custom school essay editor service for phd cheap assignment editor website usa buy zoology report professional college essay on shakespeare john proctor the crucible movie best resume proofreading site for school rhetorical analysis essay editing services ca esl dissertation hypothesis writer websites gb cheap reflective essay writing service for mba rowing the bus top school blog topics cheap best essay ghostwriter site top creative writing ghostwriters service for masters blog post ghostwriters sites au popular dissertation proposal editor for hire for masters cheap thesis statement editor site for school help with esl dissertation top admission paper writing websites for masters popular paper proofreading sites for college esl admission paper editor websites best cheap essay editing sites us best resume ghostwriting websites au top speech editor site online cheap bibliography ghostwriter websites usa popular persuasive essay writer sites for mba last chance in texas popular critical thinking ghostwriter site ca popular course work writer websites au resume writers website au professional analysis essay writers site online buy communication admission essay esl academic essay writers websites au top argumentative essay writer for hire uk best thesis proofreading website au cheap definition essay writing services uk cheap bibliography editor website for school top best essay ghostwriting service for mba top speech writing websites for school vladimir lenin beliefs cheap argumentative essay editing website for phd top term paper editor websites for university help with my journalism blog post poetry writer services write my esl persuasive essay on usa custom thesis proposal ghostwriting sites gb best dissertation introduction ghostwriting sites for college professional school essay proofreading website for university jean baptiste lamarck biography top speech ghostwriting services online custom persuasive essay editor websites for phd professional college essay writers service usa best movie review writers services online popular expository essay editor sites for college help with my cheap scholarship essay online religious studies essay ghostwriting website pay for descriptive essay on hillary clinton dissertation conclusion writing sites uk popular speech ghostwriters service for masters help with zoology personal statement popular critical thinking writing services ca help me write history thesis letter writer website cheap critical analysis essay ghostwriter websites for mba order trigonometry literature review esl literature review ghostwriters websites best masters cv assistance best literature review ghostwriter websites for university esl homework ghostwriting sites online top essay editor website for mba esl ghostwriters websites usa cheap biography writing site uk cheap dissertation writer sites gb popular masters essay writing sites online top case study ghostwriters sites au pay for my esl college essay on civil war esl mba phd essay examples top phd essay writing sites au popular best essay writers websites us top application letter writer services usa custom article ghostwriters websites uk custom phd personal statement samples popular book review writer websites definition writers sites online the end of macbeth geometry essay writing sites cv ghostwriters websites us esl editor website professional phd rhetorical analysis essay assistance ambush by tim obrien popular mba school essay topics cheap homework ghostwriter websites for mba custom problem solving editing site online professional article writing site us custom dissertation methodology editing site for mba ethan frome author custom essay writing website gb type my communication dissertation chapter top book review ghostwriters for hire gb type my ancient civilizations dissertation conclusion allusions in great gatsby pay to do popular argumentative essay on hillary clinton popular dissertation introduction editing websites gb shakespeare studies essay editing sites top literature review writers services online help with my best college essay on donald trump custom thesis statement ghostwriter site for school help with my popular descriptive essay online custom article review writers services for masters popular blog post writers website gb custom argumentative essay ghostwriting site usa pay for top personal essay on presidential elections write my popular critical essay on founding fathers popular thesis statement ghostwriter site online custom masters essay writers site gb popular dissertation conclusion writing websites for college cheap annotated bibliography ghostwriters services us type my nursing admission paper top blog post editing for hire online order world affairs content popular article editing site for mba custom dissertation introduction writers websites top custom essay editing services usa professional thesis statement ghostwriters services for university zora neale hurston colored me esl thesis editing service usa help writing social studies article esl dissertation introduction proofreading site for phd top report writing site uk best article review ghostwriters for hire for masters custom phd essay editing sites for school cheap essays proofreading service ca esl school essay writing site usa type my esl custom essay on shakespeare professional college dissertation abstract sample cheap phd essay writers site for phd cheap university essay editor services for phd help with science assignment custom masters essay writers website for college popular masters essay writers website usa best movie review ghostwriter website for college pay to do esl research paper online top critical essay writing services au cheap problem solving editor site for college popular home work editing sites for mba popular homework ghostwriters site gb popular admission essay ghostwriting site for mba top phd essay editor website for masters popular term paper ghostwriters sites us cheap admission paper ghostwriting sites for phd cheap literature review proofreading sites us write my cheap admission essay on civil war biography writer for hire uk top resume editor service online custom personal statement editing site for mba best phd rhetorical analysis essay sample cheap literature review writing services us custom thesis statement writers website for mba popular dissertation introduction writers sites for university professional critical essay writer site for phd professional critical essay ghostwriting service persuasive speech fast food popular phd essay ghostwriter site order top school essay on brexit top book review editor website au top papers writers for hire gb cheap blog ghostwriters sites uk professional critical thinking writing service usa esl mba papers samples order women and gender studies paper buy professional cheap essay on brexit cheap speech writers sites for school professional dissertation ghostwriters service for mba esl rhetorical analysis essay writing sites for university top academic essay writing service us custom article proofreading website ca custom personal statement ghostwriters sites esl critical analysis essay writing for hire online popular article ghostwriters sites gb popular personal essay proofreading services for masters write botany dissertation methodology cheap best essay proofreading services uk best creative writing ghostwriter service uk help me write custom essay on trump custom descriptive essay ghostwriting sites cheap masters problem solving example esl masters essay writers sites for mba best critical essay editor services for phd help with custom best essay on hillary top argumentative essay ghostwriters services usa popular custom essay ghostwriters for hire custom bibliography writing sites au best dissertation hypothesis editing websites us academic ghostwriter services ca top research paper editor site us custom analysis essay writing sites esl article review editor for hire us what are your goals in life essay write me zoology dissertation esl dissertation methodology ghostwriters service for school professional admission essay editing service online cheap annotated bibliography ghostwriters website us cheap expository essay ghostwriter websites au esl curriculum vitae ghostwriter websites for college help writing criminal law dissertation introduction popular expository essay writers services us top dissertation proposal proofreading site for mba relationships in othello cheap business plan editor service popular problem solving ghostwriters for hire popular dissertation proposal editor site esl book review proofreading website au order esl biography online specialized bicycle components custom mba personal essay assistance best course work ghostwriter sites for school buy religious studies research proposal popular article writers sites online pay for best admission essay on pokemon go cheap application letter proofreading websites for school custom academic essay proofreading website for college cheap dissertation methodology editing sites for masters custom university essay writers sites for university help me write professional masters essay on trump top creative essay ghostwriters sites for school esl letter writers services for school best home work proofreading service for masters esl descriptive essay writer sites gb esl cover letter proofreading services for school creative writing writing service online custom homework editor websites for mba treasure island dr livesey cheap article review ghostwriting service usa professional dissertation abstract writer service ca do my custom phd essay on hillary clinton descriptive essay ghostwriting websites best critical analysis essay editor for hire uk professional assignment writing service usa popular research proposal editor sites au help with my chemistry movie review esl college essay ghostwriter for hire for mba why sexist language matters professional critical analysis essay editor websites us write philosophy assignment top article proofreading websites write best rhetorical analysis essay on shakespeare popular blog post proofreading services ca best critical analysis essay editor for hire for phd professional phd rhetorical analysis essay samples esl creative writing writers sites au cheap analysis essay writer for hire for phd custom admission essay editing websites us professional argumentative essay writing sites gb write me custom admission paper online esl letter proofreading for hire gb cheap admission essay writing sites for school top term paper ghostwriting services ca order esl scholarship essay on hillary clinton professional movie review writers websites gb judaism research paper esl homework writer services usa argumentative essay editor services popular writers services for masters popular critical thinking ghostwriter service for phd custom persuasive essay on founding fathers best university essay writer website expository essay proofreading service online best course work writers service for university top dissertation proposal editing sites for university esl essay ghostwriters services for mba popular dissertation results editing services for school professional rhetorical analysis essay proofreading for hire top papers editor sites gb professional papers editing site for college dissertation conclusion editor websites ca professional article ghostwriters for hire for college top college biography ideas esl blog writing website online best cover letter ghostwriting services for college popular problem solving writing services us critical analysis essay proofreading websites online top argumentative essay ghostwriter websites gb best thesis proposal writers service ca esl essay proofreading service popular article ghostwriter site for university cheap dissertation conclusion ghostwriting services usa cheap school essay ghostwriters services for masters professional curriculum vitae ghostwriter website for school write me investments dissertation abstract critical essay writing sites uk popular cv writer website ca top scholarship essay editing service us popular critical essay writer for hire help with professional homework online custom college essay writers services for masters pay to do top presentation custom letter editor service ca best academic essay ghostwriters sites gb trigonometry essay ghostwriting services top descriptive essay ghostwriting websites gb best admission paper writing services online cheap report ghostwriters sites gb logic writing website reflective essay editor for hire online esl cheap essay ghostwriting site for college custom reflective essay writers site au popular research paper ghostwriting websites for phd critical thinking ghostwriters sites ca blog writer website online help me write popular critical essay on founding fathers esl article review ghostwriter website usa popular masters school essay advice esl essays ghostwriters site for mba top academic essay proofreading service for phd popular masters essay writing for hire us cheap persuasive essay ghostwriting site ca popular essay editing service us top masters dissertation chapter topic best dissertation methodology editing website cheap academic essay ghostwriters websites for mba top essay proofreading website for college esl annotated bibliography writing for hire uk popular dissertation introduction editing site for phd professional critical analysis essay writer website for mba pay for reflective essay on presidential elections best presentation editor for hire gb definition writer website uk personal dilemma paper top custom essay ghostwriters for hire for college popular book review proofreading for hire uk custom thesis proposal writer websites for college professional dissertation introduction proofreading for hire custom problem solving ghostwriting website gb professional article review editor site for university top creative writing writer site for phd professional personal essay writing services for university political science essay ideas school editing websites gb popular content proofreading for hire for university resume ghostwriting sites situational irony in hamlet pay to write literature presentation custom dissertation methodology ghostwriter for hire us top movie review ghostwriting websites us popular problem solving editor site for school order esl university essay on hillary clinton professional movie review ghostwriters websites au mathematics editor for hire application letter ghostwriting site us popular reflective essay writing website for college pay to do biology term paper cheap bibliography writer service au best analysis essay ghostwriter websites ca help me write physics paper esl dissertation proposal writing services online esl article review editing website help writing cheap dissertation introduction online custom case study editor for hire online custom university descriptive essay sample order political science presentation order communication cover letter popular thesis proposal editor website for mba remember the titans summary essay popular phd thesis topics top creative writing writers for hire for university paper on diversity composition editor site custom phd essay on donald trump help me write esl research proposal online top creative writing writer website for masters top rhetorical analysis essay proofreading for hire au marxism bourgeoisie and proletariat professional application letter writing website for university professional literature review ghostwriting websites for college biography ghostwriters sites au top paper ghostwriter service for university best rhetorical analysis essay writer service for school order ecology argumentative essay custom cv editing websites gb custom resume editing sites for school presentation topics popular dissertation writing site online advantages and disadvantages of federal government analysis ghostwriters websites chemistry editor sites esl reflective essay proofreading website us help me write algebra curriculum vitae professional cover letter editing for hire for school professional dissertation conclusion editor site usa top bibliography editing for hire au cheap case study ghostwriter services us professional personal essay writing service online popular dissertation conclusion editor site au esl dissertation hypothesis proofreading site for school