• 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.


  • Content count

  • Joined

  • Last visited

Community Reputation

139 Neutral

About chbfiv

  • Rank
  1. I would like to use soft bodies for some rope simulation on the mobile platforms, but I'm trying to grasp the best method to update my soft bodies every frame. Do I have options outside of unloading and loading a new vertex array/indices/faces each frame?
  2. Strangely enough I figured out that the spec was canceling the shadowmap completely. I'm not sure why the laptop and desktop process the spec pass w/ different results, but my main issue was resolved.
  3. We are using XNA (custom rendering solution, not the one provided by default w/ XNA). Both computers are Windows 7, w/ DirectX 9.0c, Shader 3.0 Desktop is x64 and Nvidia Geforce GTX 570 Laptop is x32 and Nvidia Quadro FX 1800M The main problem is that we export our models w/ channel 2 AO passes; they arn't showing up on the laptop but they are (and have been) on the desktop. After talking with the team who developed the render engine they seem to think it's something in the shader that isn't supported by the laptop. From what they explained, the blending for channel 2 was happening at the shader level, not using TextureBlendStages at the api level. The first thing I looked into was the MaxTextureBlendStages and MaxSimultaneousTextures in the DXSDK Caps viewer and I found that both the desktop and the laptop have the same setting of 8 for both. W/ that I'm out of obvious options as to understand why the shader wouldnt blend the same on both adapters at the shader level w/ the same shader version. Also, a second more minor issue we found was that the laptop was exaggerating the specularity significantly more than on the desktop. It was easy enough to dial down for our purposes.
  4. I was doing something as simple as int * nextToken(int * currentToken) { return currentToken++; } it however doesn't change the int array pointer outside the func scope. It seems like I should be passing a pointer to the pointer for the current token, deref the current token, incrementing the curr token, then returning the deref token?
  5. I'm just looking for some feedback. Alternatives would also be interesting! I have a base class with a Size and Location. I also have a class that inherits from that base, but it doesn't care about the Size and Location being logged to Console. Of the two options below, which is more correct way to prevent the Console.WriteLine? Size and Location var's must remain on the base class, and the Console.WriteLine must happen for all classes except SomeFoo if you choose to write a 3rd option=) .NET 2.0 1: public class FooBase { Size mySize = new Size(); Point myLocation = new Point(); protected virtual void CallMeSomeTimeAfterMyClassIsConstructed() { if (myLocation.IsEmpty && mySize.IsEmpty) { Console.WriteLine("Size and Location are empty."); } } } public class SomeFoo : FooBase { protected override void CallMeSomeTimeAfterMyClassIsConstructed() { } } 2: public class FooBase { protected bool hasSizeAndLocation = true; Size mySize = new Size(); Point myLocation = new Point(); private void CallMeSomeTimeAfterMyClassIsConstructed() { if (hasSizeAndLocation && myLocation.IsEmpty && mySize.IsEmpty) { Console.WriteLine("Size and Location are empty."); } } } public class SomeFoo : FooBase { public SomeFoo() { this.hasSizeAndLocation = false; } }
  6. It really just depends on how you need to use the data. If you need to "tie" your data to some class, the helper/dataset isnt bad. But if you just need to parse and do some function, XmlDocument, or even XmlReader could do the job. The good thing about XML is you have a ton of options. I would narrow your goals down and you might get more descriptive opinions. Bourke
  7. So I have a Dataset, and use it allot during runtime. Randomly somewhere in the process of selecting DataRows it'll decide that the content isn't there this time, or that the Table itself doesn't exist this time(Exceptioning out), but will work fine on the next Select happening ms' later, 500+/- or more times before or after that problematic Select. I can only assume that the data is corrupted during a read? or the GC is adjusting memory locations? I really am clueless atm as to why. So any ideas on what would cause this are welcome! Bourke Edit: Also as a quick example. I'll select a certain Column with a message value MyTable.Tables["Foo"].Select("Message='TEST'"); works fine, then I'll select more random Messages and then Select the first one again MyTable.Tables["Foo"].Select("Message='TEST'"); but the Select will return a empty DataRow object or, Exception out that the Table isnt ref to an obj. then it'll work again a ton more times, randomly doing the same as above for other messages....
  8. It also seems you Must override the OnPaintBackground and OnPaint for the Usercontrol and the BaseForm . I was only overriding the OnPaint for both, and the OnPaintBackground for the BaseForm. This corrected the problem. Thanks again!
  9. I have a base form with a background image. The WM_PAINT events occur as follows. MainForm.OnPaintBackground() clip area 1280x1024 MainForm.OnPaint() clip 1280x1024 then I load a control and call invalidate() thus causes MainForm.OnPaintBackground() clip area 100x100 MainForm.OnPaint() clip 100x100 UserControl.OnPaint() clip 100x100 Can't I just invalidate the control and not the form? I don't need to repaint the MainForm just the area of the control.
  10. I'm just wondering if its ok to have a DLL import in C# convert a param from one type to another. Here is my example, GetScrollInfo a user32.dll function. http://msdn2.microsoft.com/en-us/library/ms651287.aspx BOOL GetScrollInfo( HWND hwnd, int fnBar, LPSCROLLINFO lpsi ); Here is the c# import, I'm converting the return value, the hwnd and the fnBar params here. [DllImport("user32.dll", SetLastError = true)] public static extern int GetScrollInfo( IntPtr hWnd, System.Windows.Forms.ScrollOrientation n, ref SCROLLINFO lpScrollInfo ); [StructLayout(LayoutKind.Sequential)] public struct SCROLLINFO { public UInt32 cbSize; public UInt32 fMask; public Int32 nMin; public Int32 nMax; public UInt32 nPage; public Int32 nPos; public Int32 nTrackPos; }
  11. Yeah sorry, I meant RichTextBox didn't have the Scroll event, not TextBox. I'm not sure why the event wasnt included, kinda lame. I'll give it a shot tonight.
  12. I'm working on an c# TextBox that has the Scroll event that Microsoft left out. Just real quick, all the code works except when I receive the event I generate, si.nPos is always Zero. It should be the current scrolled pos. Any ideas why its always Zero? private struct SCROLLINFO { public UInt32 cbSize; public UInt32 fMask; public Int32 nMin; public Int32 nMax; public UInt32 nPage; public Int32 nPos; public Int32 nTrackPos; } protected override void WndProc(ref System.Windows.Forms.Message msg) { if (msg.Msg == WM_VSCROLL) { base.WndProc(ref msg); if (Scroll != null) { SCROLLINFO si = new SCROLLINFO(); si.fMask = SIF_POS; si.cbSize = Convert.ToUInt32(Marshal.SizeOf(si)); GetScrollInfo(msg.HWnd, 0, ref si); if (msg.WParam.ToInt32() == SB_ENDSCROLL) { ScrollEventArgs sargs = new ScrollEventArgs(ScrollEventType.EndScroll, si.nPos ); Scroll(this, sargs); } } } else base.WndProc(ref msg); }
  13. I'm using RegexDesigner.NET to make some patterns to color my XML document in a RichTextBox. This is the pattern that works in the designer =(\".*?\"|\'.*?\'|\b(\w|-)+\b) //which is the same as this =(".*?"|'.*?'|\b(\w|-)+\b) // which selects ="some text in an xml attribute" //or ='some text in an xml attribute' All of my other patterns for tags, comments, and such work except this one. "=(".*?"|'.*?'|\b(\w|-)+\b)" where i get an unrecognized escape seq. \w So I tried all of these: "=(\".*?\"|\'.*?\'|\b(\w|-)+\b)" //unrecognized escape seq. \w @"=(".*?"|'.*?'|\b(\w|-)+\b)" //does nothing I'm clearly all jacked up with my string literals and when its going to convert it here, and turn it into a quote there.... I'm using the pattern in C#. Any ideas?
  14. I can't figure out why strcpy(str[0],str[1]); causes a memory error. I've looked over arrays and pointers and it seems it should be fine. the first line strcpy(temp_str,str[0]); works, but not the second. #include "stdio.h" #include "stdlib.h" #include "string.h" int main(void) { char *str[2]; char temp_str[10]; str[0] = (char*)malloc(10*sizeof(char)); str[1] = (char*)malloc(10*sizeof(char)); str[0] = "TEST 1"; str[1] = "TEST 2"; printf("BEFORE:\n%s %s\n\n",str[0],str[1]); //switch the content of str[0] and str[1] strcpy(temp_str,str[0]); strcpy(str[0],str[1]); strcpy(str[1],temp_str); printf("AFTER:\n%s %s\n\n",str[0],str[1]); system("pause"); return(0); }
  15. OK, I'm going to keep this grey at first. I want to make this an easy read. I want to connect to my work computer using remote desktop. I setup a VPN server on the work computer(uses a dialup connection), then setup a client VPN(cable internet) to connect to the ip address that the dailup connection had been asigned by the isp. So all boiled down, I want to VPN from home to work. The connection fails due to not finding the server I guess. The only other thing I can think of is that the VPN server needs the cable modem to have some open ports(port forwarded to the client from the modem). Am i'm missing something, or am I on the right track?