• Content count

  • Joined

  • Last visited

Community Reputation

118 Neutral

About Nexian

  • Rank
  1. Hello all,   I have been searching the web trying to find the information I want, but generally it gets very generalized and I am hoping someone here will be able to give me a more specific answer.   Basically I have been making my own 3D engine using C++ and DirectX but I get the feeling that a lot of this is reinventing the wheel. Things like setting up GUI elements, sorting out texture and model loading and animation, writing in screen resolution and full screen options, etc etc   I get the impression that whatever I write will have been done before, and done better as it will have been tested more extensively. Overall, what I want to do is actually make a game, but I am getting buried in all the graphical and settings programming and finding myself unmotivated because of this.   So, what I'm looking for:   First, I have decided a 2D game would probably be an easier start for me and let me get foot in the door. I am looking for make the game for distribution on the PC and possibly a mobile device (iOS or Android, but PC if nothing else) The game would use an isometric viewpoint. I don't think this is a big factor in terms of engines, but worth mentioning. I would ideally want to work with C++ or C#   Ideally I am after an engine that deals with 2D graphics and the core of the game (i.e. window creation, resolution, texture storage and manipulation, etc) while still leaving me a lot of freedom in terms of design and coding. An engine with good tutorials or examples would be ideal :)   Thanks to anyone who managed to read through all of this. I did to a lot of searching but it hard to find anything too specific. I just want to see an engine that is basically "This engine does what you want, it will let you release to this platform independently and here's some tutorials for it". 
  2. Hello all!   I constantly think up new questions while I am pondering over game mechanics or common game concepts and I was wondering if there is a place where these things are discussed in full detail.   Things like:   Game Server/Client code: Do you make your own? Is there a common library often used by developers that incorporates functionality for encryption and efficient packaging? Does a single player game just use a local server or is there a totally different structure? Is there a general standard? Do's and Don't's? Standards for SQL based server side storage of permanent and real-time data? Best practices for preventing hacking via packets? etc. Loading your game: How to load your game successfully over as many PC variations as possible? Fullscreen and Resolution structure and initialisation? Texture storage? Saving settings (config file?)? Error reporting? etc. General flow of development. This one I think is the hardest for me. I get tangled in knots. I want to make the texture storage, but then I need to make the checks for resolution better when initialising. But I really want to just start making the game. Can I do that before fully implementing a client/server structure? How about sorting rendering in view? What if something changes mid development and I have to change a ton of older stuff? Maybe I should do the chat log first with a text write out for debugging later? etc. I just end up worrying over what to do and end up doing nothing :P I am not after perfect solutions to my issues here. But I generally feel like I need a real guide to these things. Something that says "When making a game, this process is done by..." rather than examples. Most server/client structures I have seen, for example, generally conclude with the sentence "Of course, this is only a basic model and would by woefully inadequate for a real system". I.e. good for showing the concept, not good for practical application. In the case of the server/client I don't want the code written for me, but I want to know what else is needed.   Short version. I have been dealing with vague for a while. I could really do with some helpful web or book references that focus on specifics. Ideally using C++ and DirectX. But I don't really mind about the language so long as the concept is there.
  3. Hurra. Apparently it was a dumb issue. The redist I have is for the 11 beta for VC++ and apparently that doesn't include the msvcr100.dll?
  4. Hello, I am hoping this will be a simple oversight on my side. I am just looking to get my program running on a separate computer with VC runtime stuff and directX libraries present by default. I am using Visual C++ Express, so I have already given up hope on a nice, simple installer and am currently just manually installing the redists for both VC++ and DirectX Right now I have two folders: FOLDER: "vcredist_x86" CONTENTS: en -> package.xml product.xml vcredist_x86.exe The above folder is taken from "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages\vcredist_x86" (I also take the x64 version just in case). FOLDER: DxRedist (just my own folder) CONTENTS: DSETUP.dll dsetup32.dll DXSETUP.exe The above is what I am using for my directx redist. Both the above redist components come from the computer I am using to create and run the current program. Once I run both these setups on the separate computer, however, I get the message that msvcr100.dll is missing. Is there something I am not including in these redist files? (the VC++ one especially since that's where my problem is. I am mostly just posting the DX one to be sure it's correct)
  5. [quote name='ApochPiQ' timestamp='1345420410' post='4971271'] Try this: [code]RECT clientRect; clientRect.left = 0; = 0; clientRect.right = d3dpp.BackBufferWidth; clientRect.bottom = d3dpp.BackBufferHeight; AdjustWindowRect(&clientRect, GetWindowLongPtr(hWindow, GWL_STYLE), FALSE); MoveWindow(hWindow, clientRect.left,, clientRect.right, clientRect.bottom, false);[/code] This will enlarge the window rectangle to include the border size. [/quote] I had to add 50 to the rectangle when returning at max resolution (border was above the top of the screen) but that seemed to do it very nicely, thank you! Although it still loses the windows 7 border style. Is there anyway to get that back?
  6. Hello all, This is using Directx9 and C++, but since the problem is the window itself I'm posting in general. Also, I really did try searching for this, but everything I found was asking "how to get borderless windows" >< Basically, I have the following sequence: 1. Game loads in a fixed window 2. I set the game to full screen and reset the d3d device 3. I change the resolution in full screen mode resetting the device again 4. I return to windowed mode resetting the device a final time Resulting Problem: When returning to windowed mode with a new resolution, the border of the window is "gone". I can still select the border (i.e. clicking the top left will give me the default menu bar (restore, move, size, etc) and when I select it I briefly see it. Also, if I change the resolution a second time, the window re-appears, but it has become the windows default style (i.e. if my window bars are green, this one has reverted back to the default light blue with the default minimize, maximize and close icons). This is my window: [CODE]hWindow = CreateWindowEx(WS_EX_CLIENTEDGE, className, L"Shader Implementations", WS_OVERLAPPED | WS_MINIMIZEBOX | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, SCREEN_WIDTH, SCREEN_HEIGHT, NULL, NULL, hInstance, NULL);[/CODE] When I exit full screen mode I only access the window with the following: [CODE]if (d3dpp.Windowed == true) { RECT rect; GetWindowRect(hWindow, &rect); MoveWindow(hWindow, rect.left,, d3dpp.BackBufferWidth, d3dpp.BackBufferHeight, false); }[/CODE] I have also tried it without this code (just to be sure). If I return to windowed mode without changing the resolution it was set to when it went to full screen, it reverts without issue. I am guessing there is something more I need to do with the window to make sure it retains the style and border when returning to windowed mode?
  7. Game: Last Square Standing

    got 1048. I agree with it measuring score by time instead of points. My only issue with it is after about 10 games the odds of ever improving your score significantly are very slim, so after I got 1048 I lost interest since I wasn't able to beat it for the next 5 games. I'd love to see there be a score you must get to unlock a new level where there are new types of circles. Then you must get a certain score in that level to reach the next level and so on. Then you have a reason to keep trying to long as you know there is at least one more level to unlock ^^
  8. Hello all, This is just a pretty basic question, but I feel I'd get a straight forward answer here. I am using D3DXCreateTextureFromFileEx in DX9 to load my textures and I am wanting to use the setting provided by the function for Texture Detail options within the game. The function at present: [CODE]D3DXCreateTextureFromFileEx(pd3dDevice, file, 512, 512, 0, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0x00000000, NULL, NULL, &tex);[/CODE] Basically I would be wanting to use a Texture Detail option to manipulate the Width, Height and Mip levels of the function. All my current textures are powers of 2 and right now my plan would be to make all my textures 1024x1024 with the exception being UI textures that will be loaded using their actual (much smaller) size. (I am also wondering if 512x512 would be acceptable as "high detail". I picked 1024x1024 because I feel it is as high as I can go without quickly using up 256mb of video memory, estimating that I could load about 500 textures of this size) From here my Texture Detail option would define Very High, High, Medium, Low and Very Low settings with the following Width, Height and Mip settings: Very High 1024x1024 : All Mip Levels High 1024x1024 : 7 Mip Levels Medium 512x512 : 6 Mip Levels Low 256x256 : 5 Mip Levels Very Low 256x256 : 2 Mip Levels What I am currently curious about is that I often hear people saying that for texture detail you generally have multiple copies of the same texture in your assets for different levels of detail. This makes me think that the method I am considering is inherently flawed in a way I am not seeing. Right now I am going on the following assumptions: - Just having the one texture in large detail will take up less hard drive space than having multiple detail levels stored - Loading a texture as, for example, a 512x512 size from a 1024x1024 image takes longer than loading from a 512x512 image but both resulting textures take the same amount of video memory in their final 512x512 state. This one I am not sure of, but I can't see why it wouldn't be so. - The width and height options of D3DXCreateTextureFromFileEx will work on all video cards the D3DX_DEFAULT option works on so long as the images being loaded and the parameters entered are powers of 2. Again, not sure of this.
  9. Chat/Combat Log (Game)

    [quote name='Narf the Mouse' timestamp='1345334114' post='4970958'] Buy the book Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. It sounds like you're at the point where it'd be rather useful. [/quote] Thank you for the book suggestion. Added a link to the book for when I am not horrifically poor [quote name='NightCreature83' timestamp='1345378625' post='4971088'] For filtering reasons I would add a type field to your CombatLogLine struct. Have you profiled this case for being slow already, if not don´t worry about it untill it becomes a problem, but an idea to reduce the drawcalls is to combine all of the CombatLogLines into one string seperated with carrage return feed symbol if they don't contain an image. This will then only use one call to D3DXFont::DrawText for that portion of text. [/quote] Yeah, a type field would probably be a good idea, maybe with a source and flags for the type. Like Source = Player 1 and Type = LTYPE_COMBAT | LTYPE_GETHIT You're right, I probably should worry about performance when it actually becomes an issue. ^^
  10. Hello all, I am currently looking into making a combat log for a game in C++ using Directx9. I know there is a game forum, but my question is more general. Also, every chat/combat log post I look for tends to be about client/server winsock stuff [img][/img] Basically I am wondering how the chat/combat log data is best stored, with the following in mind: - The data will not be stored to a file - The data will be stored on a line-by-line basis - The data can be of any total length (A game can technically go on indefinitely) - A single line will probably have a maximum length - The data will need to have the ability to store graphics as well as text. i.e. I would like the text to be able to say "Player 1 has gained 3 [image of a yellow star]". This would also need to allow me to hover of the yellow star image to display a tooltip. - The data will need to have filter options. i.e. filtering it so you only see Player 1's actions, or you only see environment effects. So far I see a basic outline of something like: [CODE] vector<CombatLogLine> lines; struct CombatLogLine { wchar_t text[256]; //the line of text vector<ChatIcon> icons; //the icons in the text }; struct ChatIcon { IDirect3DTexture9* texture; //the image displayed short position; //this will be the numerical position in the actual line of text D3DXVECTOR3 screenPosition; //the actual screen coordinates of the image wchar_t tooltip[256]; //the tooltip shown }; [/CODE] Ideally I would like to be able to use ID3DXFont's DrawTextW method for actually printing the text as I already have this functioning and scaling for resolution. My main issues are whether the above outlined code is suitable for the job and how I would determine and place a ChatIcon within the line of text. Right now my best guess is I that I would need to read through the CombatLogLine and get each position of a ChatIcon and split the text for each icon, making a rectangle of the text up to that point using DrawTextW and placing the icon image at the end of the rectangle's position (setting it's screenPosition) and repeat this process with the remaining text until the line is drawn. From there I can loop through my ChatIcons for the visible text lines and see if my cursor is hovering over any of them and display the correct tooltip. What worries me here is the drawing of the lines, as it would seem I need to perform this action [i]every [/i]frame with a specialised method to split the text up and intersperse it with icons. I am not sure how much of an impact such an operation would have, but I generally see the program displaying a maximum of 20 lines at once. Any advice or confirmation/suggestions of methods here is much appreciated.
  11. Shaders - Simple Q&A :)

    Thanks all, This has been good, direct feedback. Feels good to be a little less uncertain
  12. I can't find anything that answers this directly, but you can only have ONE shader on a game object, correct? i.e. I cannot make two completely separate shaders and run both on the same object without it just rendering twice. Assuming the above is true, how do most programmers create objects with multiple shader effects? For example: A Wall - Bumpmap shader - Rain shader (streaming water) - Lighting shader (for any nearby lights (p.s. how does it pick the dynamic lights?)) - Projectile shader (bullets hitting the wall, etc) Also, speaking of shaders. One effect that I can't quite see how to do is a targeting effect that covers multiple objects, similar to those found on AoE abilities in WoW or LoL. I can only guess it has to use the mouse position combined with the camera position and view along with the position and normal of the surface to draw a section of the defined "target" texture?
  13. Currently I am making a game in C++ using DirectX9 (and starting to wish I'd started in DX11) and I am currently working on changing the game resolution. My problem is that when I reset the graphics device, my meshes no longer draw and I can't see how to resolve the issue. Answer Found: Thanks.
  14. Rendering sprites with alpha

    ouch, sounds like a pretty big sort for a per-frame operation :(
  15. Rendering sprites with alpha

    Quote:Original post by balage73 Hi, just one question, why alpha blending is false? Can it be the reason why the sprites will not blend properly? g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, false); I set it to true at the start and false at the end :) Disabling z-writes fixes the immediate problem, but now they do not take the Z of the other pixels into consideration. i.e. some far away rain will be in front of the fire rather than behind :)