• 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

143 Neutral

About Saoblol

  • Rank
  1. Looks cool, but once you start charging a single cent for it, Blizzard will sue you into outer space
  2. I just creamed my pants... been waiting for this for like 5 years!
  3. You already solved the problem, but just a side info of why this (probably) happened: SpriteBatch.Begin() sets the deptstencil state to something different, so you need to set it back to .Default after that.
  4. This is how I receive incoming data (also running in a thread) [CODE] /// <summary> /// Read the incoming messages from the server. /// </summary> private void Read() { while (true) { this.CheckConnection(); if (this.isConnected && this.tcpClient.Available > 0) { string message = this.binaryReader.ReadString(); //Processing the message //... } Thread.Sleep(33); } } [/CODE]
  5. Hi I am currently working on a project that involves a server and multiple clients that can connect to it and request data. Im sending messages (strings) from the client to the server and vice versa (never between clients), but sometimes they dont get sent but are stuck until I try to send it again, and then both messages are sent at the same time. At first this seemed easy to solve: the packets are automatically stored until there is enough data to send out in order to save bandwith (aka Nagle algorithm), so setting tcpclient.NoDelay = true should do the trick, but it didnt. I've tried to solve this for days now, but can't get any progress on it. Im using a BinaryWriter for sending data, and also tried the tcpclient.Client.Send(byte[]) method with the same results. public Client() { this.tcpClient = new TcpClient(); this.tcpClient.NoDelay = true; this.outgoingMessages = new List<string>(); } /// <summary> /// Write pending messages to the server. /// </summary> private void Write() //This is running in a thread { while (true) { lock (this.outgoingMessages) { if (this.binaryWriter != null && this.outgoingMessages.Count > 0) { this.binaryWriter.Write(this.outgoingMessages[0]); this.binaryWriter.Flush(); this.outgoingMessages.RemoveAt(0); } } Thread.Sleep(33); } } Hopefully someone knows an answer to this
  6. The transformed mesh is only temporarily created during the vertex shader, not in your game logic code where you do the picking. You will have to create the transformed mesh in your code to be able to pick it, but depending on the complexity of your animation and the amount of animated objects in your scene, this can use up a lot of processing power. If you got multiple objects (e.g. units on a battlefield) I would first do a picking via a normal hitbox, and then check for intersection with the detailed animated mesh.
  7. Solved this for now by hosting a WindowForm Picturebox in the WPF Grid element, not very pretty but it does the job and doesnt have an impact on performance. Will probably look into it again when im closer to release, but I'd like to prioritize on other stuff first. Code example for anyone who wants to do it the non-pretty way too: [CODE] private void window_TileEditor_Loaded(object sender, RoutedEventArgs e) { System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); this.viewport = new System.Windows.Forms.PictureBox(); this.viewport.MouseEnter += new System.EventHandler(this.viewport_MouseEnter); this.viewport.MouseLeave += new System.EventHandler(this.viewport_MouseLeave); this.viewport.Width = 1280; this.viewport.Height = 720; host.Child = this.viewport; this.grid_Viewport.Children.Add(host); } [/CODE] [s]Sadly, Im encountering another problem with WPF just after getting rid of this one. Since I need to update the Engine over and over, I cant use window.ShowDialog() since that halts the application, and window.Show() works but when using that, some of the WPF controls don't work properly anymore (cant type into text fields, but still can paste into them and delete stuff, just not type new characters directly, stuff like that) Im already calling the Application.DoEvents() method but some stuff still doesnt work. Anything I forgot to do there? Thanks again[/s] Solved! Found the solution after googling a lot: Add WindowsFormsIntegration to your references, then: [CODE] YourWindow window = new YourWindow(); //Your WPF window class System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(window); [/CODE] Done Hope this helps someone too.
  8. I did some deferred shading with XNA too, iirc you need to set the DeptStencilState to None and back to Default after rendering the lights
  9. Hi, I'm currently switching my project from WindowForms to WFP, but I'm having problems with rendering into an WPF Image Control. This is what I do to get the Handle of the Image Control, but instead the scene is rendered across the whole window, not just the specified Image area [source lang="csharp"]static void InitializeTileEditor() { WaterScene scene = new WaterScene(); window = new MainWindow(); window.Show(); HwndSource source = (HwndSource)HwndSource.FromVisual(window.image_Viewport); //IntPtr viewportHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle; VEngine.Initialize(window, source.Handle, 1280, 720, 60, true); VEngine.Run(scene); }[/source] I tried two ways of acquiering the handle, but both had the same result. Any Ideas how I get the exact handle of the Image Control? Edit: The handle will be used in the 3D Intialization of SlimDX to create the factory [source lang="csharp"]factory.SetWindowAssociation(viewportHandle, WindowAssociationFlags.IgnoreAll | WindowAssociationFlags.IgnoreAltEnter);[/source]
  10. Already dead? That was fast.
  11. Hi, so you just started learning C++ and already making plans for a feature rich 3D game? Well I cant do different then just say: its going to fail, because you are not the 0.1% of cases when it doesnt. What other languages have you learned so far and how good are you with them? Ever coded a game before? Why C++ and not for example C# + XNA? Also, C++ wont be enough because the shaders with which the 3D objects are being rendered are written in HLSL. The rendering process will be a huge part for itself to learn (vertex shader, pixel shader, rendering with textures, different effects, multiple rendertargets, post screen shaders etc etc) So I do hope you are a 30+ guy with long time experience in similar programming languages but I doubt that because such a man would not be so foolish and attempt what you just described with zero knowledge of C++ and the use of Direct3D. I know Im sounding like a total mood killer, but its just the brutal truth as I see it from my point of view. But anyways, good luck. Edit: its not very wise to annoy your already very small userbase of the blog by using a URL shortener that lets them wait 5 seconds and bombard them with ads in the meantime. its not worth the cent you get for doing that