• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

nuclear123

Members
  • Content count

    318
  • Joined

  • Last visited

Community Reputation

119 Neutral

About nuclear123

  • Rank
    Member
  1. Say i'm wanting to make an application that can make a post on a forum or even in form on a website where i need to edit my accounts profile info. About how would i go about achieving interoperability with a website i did not create?
  2. First off forgive me if this is in the wrong section( which i'm sure of ) Currently, i'm graduating in 2 more semesters of college and will have my bachelors in computer science. All is well except for the fact that the current location that i'm at doesn't offer job opportunities for my field. There are a couple cities near by that i wouldn't mind the drive to, but as well the pay will be good but not amazing. The point is my girlfriend graduated about a year ago and has a very good paying job( as an RN ) and enjoys the place where she works. Due to the fact that she does have a stable and secure job as well as a good paying one i'm satisfied with possibly finding a contract programming job or anything i might be able to perform from my home. The reason i'm posting on here is to ask others if they happen to know of any "known" websites that offer this kind of work or where i might find my luck at . Thanks for the help BTW: i currently have no interest in game programming even though i would use it as a last resort everything is worth a try
  3. thank you i will rid of it. I was thinking it meant self documentation and to prevent virtual functions from being included within the code but it seems from msdn it just prevents initialization of the vtable within the constructor to prevent wasting time of initializing something that might get overwritten later from deeper inheritance( if i understood it correctly )
  4. In order to further increase my knowledge of ODBC and C++ good design practices i have decided to try my go at creating wrapper classes of the current ODBC C Api located on MSDN. I'm mainly wanting criticism on design problems people might see. Any advice is greatly appreciated ;) cheers In order to avoid VTABLE overhead i have tried my best to implement simulated dynamic binding/CRTP ( which i believe i have implemented correctly ) [CODE] template<class TDerived, SQLSMALLINT THandle = SQL_HANDLE_UNKNOWN> class __declspec(novtable) CHandle { public: SQLHANDLE m_h; SQLSMALLINT m_hType; enum { SQL_HANDLE_UNKNOWN = -1 }; public: CHandle() : m_h(NULL), m_hType(THandle) { _ASSERTE(m_hType != -1); } CHandle(SQLHANDLE h) : m_h(h), m_hType(THandle) { _ASSERTE(h != NULL); _ASSERTE(m_hType != -1); Attach(h); } void Attach(_In_ SQLHANDLE h) { _ASSERTE(h != NULL); _ASSERTE(m_h == NULL); _ASSERTE(m_hType != -1); m_h = h; } SQLHANDLE Detach() { _ASSERTE(m_h != NULL); _ASSERTE(m_hType != -1); SQLHANDLE hTemp = m_h; m_h = NULL; return hTemp; } bool Create() { _ASSERTE(m_h == NULL); _ASSERTE(m_hType != -1); g_rt = SQLAllocHandle(THandle, NULL, &m_h); _ASSERTE(SQL_SUCCEEDED(g_rt)); if (SQL_SUCCEEDED(g_rt) == FALSE) return FALSE; return TRUE; } void Destroy() { _ASSERTE(m_h != NULL); _ASSERTE(m_hType != -1); g_rt = SQLFreeHandle(THandle, m_h); _ASSERTE(SQL_SUCCEEDED(g_rt)); m_h = NULL; m_hType = -1; } // TODO : test setting multiple attributes bool SetAttribute(_In_ SQLINTEGER attribute, _In_ SQLPOINTER value) { _ASSERTE(m_h != NULL); return static_cast<TDerived*>(this)->_SetAttribute(attribute, value); } // TODO : test getting multiple attributes bool GetAttribute(_In_ SQLINTEGER attribute, _Inout_ SQLPOINTER pValue, _Inout_ SQLINTEGER* pcbWritten) { _ASSERTE(m_h != NULL); return static_cast<TDerived*>(this)->_GetAttribute(attribute, pValue, pcbWritten); } operator SQLHANDLE() { return m_h; } }; class __declspec(novtable) CEnviromentHandle : public CHandle< CEnviromentHandle, SQL_HANDLE_ENV> { public: bool _SetAttribute(_In_ SQLINTEGER attribute, _In_ SQLPOINTER value) { _ASSERTE(m_h != NULL); g_rt = SQLSetEnvAttr(m_h, attribute, value, SQL_NTS); _ASSERTE(SQL_SUCCEEDED(g_rt)); if (SQL_SUCCEEDED(g_rt) == FALSE) return FALSE; return TRUE; } // TODO : i might need last parameter. For now ignoreing bool _GetAttribute(_In_ SQLINTEGER attribute, _Inout_ SQLPOINTER pValue, _Inout_ SQLINTEGER* pcbWritten) { _ASSERTE(m_h != NULL); g_rt = SQLGetEnvAttr(m_h, attribute, pValue, SQL_IS_UINTEGER, pcbWritten); _ASSERTE(SQL_SUCCEEDED(g_rt)); if (SQL_SUCCEEDED(g_rt) == FALSE) return FALSE; return TRUE; } }; class __declspec(novtable) CConnectionHandle : public CHandle< CConnectionHandle, SQL_HANDLE_DBC> { public: bool _SetAttribute(_In_ SQLINTEGER attribute, _In_ SQLPOINTER value) { _ASSERTE(m_h != NULL); g_rt = SQLSetConnectAttr(m_h, attribute, value, SQL_NTS); _ASSERTE(SQL_SUCCEEDED(g_rt)); if (SQL_SUCCEEDED(g_rt) == FALSE) return FALSE; return TRUE; } // TODO : i might need last parameter. For now ignoreing bool _GetAttribute(_In_ SQLINTEGER attribute, _Inout_ SQLPOINTER pValue, _Inout_ SQLINTEGER* pcbWritten) { _ASSERTE(m_h != NULL); g_rt = SQLGetConnectAttr(m_h, attribute, pValue, SQL_IS_UINTEGER, pcbWritten); _ASSERTE(SQL_SUCCEEDED(g_rt)); if (SQL_SUCCEEDED(g_rt) == FALSE) return FALSE; return TRUE; } }; class __declspec(novtable) CStatementHandle : public CHandle< CStatementHandle, SQL_HANDLE_STMT> { public: bool _SetAttribute(_In_ SQLINTEGER attribute, _In_ SQLPOINTER value) { _ASSERTE(m_h != NULL); g_rt = SQLSetStmtAttr(m_h, attribute, value, SQL_NTS); _ASSERTE(SQL_SUCCEEDED(g_rt)); if (SQL_SUCCEEDED(g_rt) == FALSE) return FALSE; return TRUE; } // TODO : i might need last parameter. For now ignoreing bool _GetAttribute(_In_ SQLINTEGER attribute, _Inout_ SQLPOINTER pValue, _Inout_ SQLINTEGER* pcbWritten) { _ASSERTE(m_h != NULL); g_rt = SQLGetStmtAttr(m_h, attribute, pValue, SQL_IS_UINTEGER, pcbWritten); _ASSERTE(SQL_SUCCEEDED(g_rt)); if (SQL_SUCCEEDED(g_rt) == FALSE) return FALSE; return TRUE; } }; [/CODE]
  5. so in other words CRTP would be correctly used like the following [CODE]template <class Derived> struct base { public: // some reason this function is not getting called void implementation() { _asm int 3; static_cast<Derived*>(this)->implementation(); // ... } }; struct derived : base<derived> { void implementation() { _asm int 3; } }; int main() { base<derived> test; test.implementation(); return 0; }[/CODE] I'm still a little confused one one thing. What causes this to be better performance than VTABLE referencing? to me i still see levels of indirection to get to the derived classes function from the base class
  6. I cannot for the life of me figure out what im doing wrong. I'm trying to implement CRTP/static polymorphism to avoid the cost of vtable using the following code [CODE] template <class Derived> struct base { // some reason this function is not getting called void implementation() { _asm int 3; static_cast<Derived*>(this)->implementation(); // ... } }; struct derived : base<derived> { void implementation() { _asm int 3; } }; int main() { derived test; test.implementation(); return 0; } [/CODE] the problem is it's always calling the derived classes member function without first calling the base class.
  7. I need to dynamically add rows and im using C++. FastCall22 - I will look at your post and see if it's what im looking for
  8. i cannot for the life of me figure out how to create the following an array of static arrays. below is a picture of what i mean. I want to be able to advanced my pointer 1 byte and hit another string. Is the following even possible? http://craz.net/Snapper/live/view/?s=r6t
  9. Does anyone have any ideas as to why D3DX11CreateEffectFromMemory() is returning E_NOINTERFACE in release build and causing me to crash, even though it works in debug mode and i can see my DX drawing fine? [source lang="cpp"] std::ifstream fin("Shaders.fxo", std::ios::binary); fin.seekg(0, std::ios_base::end); int size = (int)fin.tellg(); fin.seekg(0, std::ios_base::beg); std::vector<char> compiledShader(size); fin.read(&compiledShader[0], size); fin.close(); // Create Effect from Memory // TODO: Move into renderer? hrErrorCode = D3DX11CreateEffectFromMemory(&compiledShader[0], size, 0, g_MyRenderer.GetDevice(), &m_pEffectFile);[/source] Here is my shader code btw [source lang="cpp"]struct VS_INPUT { float4 pos : POSITION; float4 color : COLOR; }; struct PS_INPUT { float4 pos : SV_POSITION; float4 color : COLOR; }; PS_INPUT VS_Main( VS_INPUT In ) { PS_INPUT vsOut = (PS_INPUT) 0; vsOut.pos = In.pos; vsOut.color = In.color; return vsOut; } float4 PS_Main(PS_INPUT input) : SV_TARGET { return input.color; } technique11 SimplePassThrough { pass P0 { // Set Shaders SetVertexShader( CompileShader(vs_4_0, VS_Main() )); SetGeometryShader( NULL ); SetPixelShader(CompileShader(ps_4_0, PS_Main() )); } } [/source]
  10. Could anyone give any recommendations on a powerfull low-level Database programming library/API i should use? I had originally planned on learning OLE DB....to my knowledge OLE DB is deprecated by MS now. Does anyone unmanaged C++ recommendations?
  11. This is all im trying to do: 1.) Have a function that can detect and effectively parse 2 diffrent possible XML messages. Upon return the XML we be stored in the appropriate struct and returned by the function. I can then have the caller somehow know the type that was returned and handle the struct according to its type. Here is my code if this helps [CODE] QList<CError> ParseError(QXmlStreamReader& streamReader) { QList<CError> errorList; CError errorBuffer; streamReader.readNext(); while (!(streamReader.tokenType() == QXmlStreamReader::EndElement && streamReader.name() == "ErrorMessage")) { if (streamReader.tokenType() == QXmlStreamReader::StartElement) { if (streamReader.name() == "Title") { errorBuffer.strTitle = streamReader.readElementText(); } if (streamReader.name() == "Message") { errorBuffer.strMessage = streamReader.readElementText(); } } streamReader.readNext(); } errorList.append(errorBuffer); return errorList; } QList<CSubscription> ParseSubscription(QXmlStreamReader& streamReader) { QList<CSubscription> subscriptionList; CSubscription subscriptionBuffer; streamReader.readNext(); while (streamReader.tokenType() != QXmlStreamReader::EndDocument) { while (!(streamReader.tokenType() == QXmlStreamReader::EndElement && streamReader.name() == "Subscription")) { if (streamReader.tokenType() == QXmlStreamReader::StartElement) { if (streamReader.name() == "NewestVersion") { subscriptionBuffer.strNewestVersion = streamReader.readElementText(); } if (streamReader.name() == "ProductName") { subscriptionBuffer.strGame = streamReader.readElementText(); } if (streamReader.name() == "ExpiryDate") { subscriptionBuffer.strExpireDate = streamReader.readElementText(); } if (streamReader.name() == "Detection") { subscriptionBuffer.strDetection = streamReader.readElementText(); } } streamReader.readNext(); } subscriptionList.append(subscriptionBuffer); } return subscriptionList; } QList<EITHERSTRUCT> ParseXML(QString& strXML) { QXmlStreamReader streamReader(strXML); while (!streamReader.atEnd()) { QXmlStreamReader::TokenType token = streamReader.readNext(); if(token == QXmlStreamReader::StartDocument) { continue; } if(token == QXmlStreamReader::StartElement) { if (streamReader.name() == "ErrorMessage") { return ParseError(streamReader); } if (streamReader.name() == "Subscription") { return ParseSubscription(streamReader); } } } return SOME_ERROR; }[/CODE]
  12. does anyone have any recommendations or advice on how i would do the following. Pretty much i want a function to possibly return 2 different types of structs depending on the XML it is parsing struct Error { string errorMessage; string otherinfo; } struct Person { string firstname; string lastname; int age; float height; } Error/Person ParseXML(string XML) { if (<person>) return parsePerson(XML); // return a Error object else return parseError(XML); // return a person object }
  13. im wanting to create a loader for my program where the client can login and it will tell them if their version of my software is outdated. could anyone offer any methods i can use to figure out/ store the version of my software so i can compare it to the latest version from my database?
  14. I know this doesn't belong here but i've asked on the QT forum and have recieved little input. If anyone has experience please provide input to my question [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]! Could anyone please clearly state the difference between a keyboard QAccel and a QAction? Also in the menu bar at the top of the main window....is a QAction an item in one of the menus? for example File -> Exit <--- is Exit a QAction?
  15. How do i end up performing the following? [CODE] void Function2(char* string,...) { // Finally combine strings wchar_t szBuffer[256] = { 0 }; va_list vaList; va_start(vaList, pszText); vswprintf(szBuffer, pszText, vaList); va_end(vaList); } void Function1(char* string,...) { Function2(string, ... ); } [/CODE] Is this possible or does anyone have any recommendations on how to do it?