Jump to content
  • Advertisement

LWard

Member
  • Content Count

    40
  • Joined

  • Last visited

Community Reputation

436 Neutral

About LWard

  • Rank
    Member

Personal Information

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. LWard

    Scene / ray-intersection

    Depends if you are using a physics engine or not.   If you are not, start off simple. Fire a ray from some position (mouse position on the screen or is it an object in game etc.) and test for an intersection with an AABB or Sphere as these are very easy to implement. Once you have that working you, I would then start to think about how you could use something like an octree or other types of ray intersections.
  2. LWard

    Which Gamepads To Support?

    It would be a fairly big undertaking to support every type of gamepad, I generally support Xinput for gamepads as it's easy to work with and integrate with work with SDL2.
  3. LWard

    Advice on where to start?

      As you stated using HTML and CSS wouldn't be useful to create a game, and they are not a programming language. C/C++/Java are some explains of a programming language and learning one of them is very useful, personally, I would say learn C or C++ as you can do some low-level programming with them and it's easy to learn the other if you know one of them. In these languages, you have to learn to manage memory, which in languages like Java or C# you don't have to do yourself.     If you are using Unity you will be using C#, so learning C# would be a good language to learn.     Creating your first game, especially in Unity, I would start off small. If your project scope is too large you will struggle to finish it and most likely never will as you have lost motivation.   Start off by coming up with some ideas, develop one or two of the ideas you like the most in more detail (i.e. what sort of gameplay are you thinking about or the platform you are developing for). Make you have the foundations and a clear vision of what you want your game to be before you start to get into Unity or 3DS Max and start making anything. Once you have a clear vision, create small prototypes and keep iterating on them to develop the game. The first version you might just use cubes to represent characters etc. just to make sure your camera controls work or whatever task you started with. Build your game from the ground up, start with core systems and finish with final touches to controls, artwork or game logic.
  4.   UMG UI designer will allow you to create in-game interfaces: https://docs.unrealengine.com/latest/INT/Engine/UMG/QuickStart/     Split your character stats from your character classes/skills, tackle each as their own problem. For example, every character has stats and also x number of classes, the classes control which skills the player has access to. If you try to store stats in player classes you will run into issues as the player would have multiple stats (based on the number of classes they have) and which stats should be used?
  5. LWard

    SDL2 - OpenGL

      There are many tutorials out there to do this, I would start off by finding one that is a simple a creating an SDL window with an OpenGL context that can draw a triangle or square. This is one of many but covers all of the very basics you need to get started: http://lazyfoo.net/tutorials/SDL/51_SDL_and_modern_opengl/     One thing you will find, if you have done anything in 2D with SDL, is that if you are going to use 3D you will have to do a lot more work in order to get anything drawn to the screen. Such as compiling and linking shaders and creating Vertex Buffer Objects (VBOs) etc. OpenGL is also old, the early versions (before version 3) use the fixed pipeline so be careful when reading tutorials as they might be using the fixed pipeline which you do not want to use.
  6.   Yes, you can have subclasses (as in player classes) you will just need to factor that into your class system design (blueprint class). On a basic level, it would just be another requirement the player would need before being able to unlock/use that skill, for example, to access fire spells the player needs to be a mage class and the fire-mage subclass.     There most likely will not be an off the shelf blueprint that you can use that will just work for you, you will most likely need to create your own or there might be one that you could find on the Unreal Marketplace. I would start off with reading the UE4 documentation to know how Blueprints work, if you are haveing subclasses you might want to use inheritance in blueprints: https://docs.unrealengine.com/latest/INT/Resources/ContentExamples/Blueprints_Advanced/2_5/ Although I don't work with Blueprints that much in UE4, so if you are doing anything like inheritance with it I wouldn't be much help there.     Just let me know, it would be worth posting them on here rather than using skype as it can always be useful to get the perspective of others especially if your a designing systems.
  7. From a design point, I can think of a few ways to do this.   1) Create a class (blueprint/c++) for each of your player classes (i.e. warrior, mage) and each of these classes (blueprint/c++) will contain different skills and stats. When the player reaches level 10 let them select a player class, the class (blueprint/c++) for your player can have an array or list of player classes so when the player reaches level 10 just add the selected player class to the array/list. All of the player classes could inherit from a base player class as they would contain common data like skills and stats.   2) Create an array of skills, each skill has a requirement such as required player class or stats. When the player reaches level 10 they select a player class (i.e. mage), this sets a boolean in the player class (blueprint/c++). The player can use/unlock skills that they meet the requirements for, such as fireball requires the player to be a mage. There could be a few ways to implement this type of approach, like do you have an array of skills that you can lookup and copy learnt skills into the player class (blueprint/class) or do just have a dynamic array of pointers that points to skills that the player knows in this array of skills?   3) The player class (blueprint/c++) knows all the possible skills that can be learnt, a bit like idea 2, but each skill has a requirement. When the player reaches level 10 and selects a class, you unlocked the skills that you mean the requirements for. You wouldn't need any other classes (blueprint/c++) in order to find available skills and which ones the player has unlocked.     There are pros and cons to each of these approaches, some would be better if you want to add new skills/classes down the line, whereas others would be simpler to implement.   Do the points make sense? I can get a little confusing talking about a player class system and the blueprints/c++ classes to create it - too many of the word classes with a different meaning!
  8. If you are a student, there is a student license for Maya (or some other Autodesk products) that you can get from the Autodesk website: http://www.autodesk.com/education/free-software/maya Although do read the license, as it's an education license there are limitations on what you can do with it.
  9. LWard

    Colored Quads

    Turn your quads into triangles, this might help.   In OpenGL, values (i.e. colours) are interpolated across triangles between the vertex and fragment shader regardless if you want it to do that or not. Am I guessing you are drawing the colour per vertex rather than per pixel?
  10.   I cannot see anything jumping out at me as being wrong. This might not fix anything but might be worth trying, use glFramebufferTexture rather then glFramebufferTexture2D.   glFramebufferTexture(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, depth_map_tex, 0);
  11. LWard

    Which engine to pick?

    Most big engines like Unreal 4, Unity and CryEngine will allow you to deploy to mobile platforms and for web (WebGL).     Both Unity, Unreal 4 and I believe CryEngine are free to develop and release a game with until you make a certain amount of income then you have to start paying royalties. In the case for Unity: "As long as you have an annual revenue capacity or funds raised capacity of less than $100k per fiscal year" - from the Unity Download page.     See the above, they are engines     These game engines can deploy to Android and iOS platforms, in this case, I'm not sure if you will need to use PhoneGap.   For Unreal 4 supported platforms see this link: https://docs.unrealengine.com/latest/INT/Platforms/ For Unity supported platforms: https://unity3d.com/unity/multiplatform     Again like mobile these engines will create an application for Windows and Linux, see the fill list of supported platforms on their sites. I link those above.     Should be fine working with these engines.     All these game engines support these.   It sounds like you wrote your game using JS with HTML 5? If this case using these engines you might need to uses other languages, as Unreal mostly uses C++ and/or Blueprints. Whereas Unity mostly uses C# but does support JavaScript (also called Unity Script). I hope that helps.
  12. LWard

    Rendering awesome Text

    Create a texture with all of the characters required for a certain font, load that texture uses it's texture coordinate to be able to find where each character is.   For 2D text, combine all of the letters from your font texture into a UI texture what has the text you want and draw that to the screen. For 3D text, combine all of the letters from your font texture but generate geometry for each of the letters and then you draw the text. Stick the geometry letters in a single VBO rather than making draw calls to each single character. The nice thing about the 3D text (geometry) font size doesn't affect it as badly as 2D text, can save on memory as geometry is normally smaller than a texture and can have lighting or other effects applied to it.   Or find a library to handle this for you.
  13. Make your wall have some thickness to them, normals on the outside face outwards and normals on the inside face inwards.   Culling can be used to reduce what you are drawing, such as walls you cannot see, along with other methods if you run into performance issues.
  14. LWard

    missing matrix_projection.hpp from glm

    According to the glm documentation, you will find glm::perspective in glm/gtc/matrix_transform.hpp.
  15. LWard

    Novice Seeking Guidance

    Hi,     Unity vs Unreal there are some differences but from what you said you're planning to make it can be done in either and if you have already started learning Unity I would say stick with it. One point to make, Unreal 4 does allow you to use Blueprints as well as C++ whereas Unity doesn't have anything like that.     As for C# vs C++, you can achieve what you would like to do with both languages, how you save your inventory you might want to think about - do you want to keep writing it to a file and reading it again every time you want to access it? Or would you rather just save it to an XML, custom format or whatever file when the player saves and quits the game and load it once when they load the game, meaning you keep track of what's in the inventory in some gameobject?     As for which languages you should know, depends on who you ask, personally I would say knowing C++ or/and C# is useful and once you know one you can learn the other fairly quickly. Same if you know C++ you know a lot a C, just some small details you need to learn about.     First, work out what game engine you want to use, then learn the basics of the engine and the language that it supports (i.e. C++ or C#). Second, I would just build a small project to play around with how the game engine works before starting on your game. You might find the structure of the game engine might affect your current game design. Third, Version Control! Git, SVN and many more out there. If you are programming this is super important and engines support some version control systems (I know they both support Git). Four, Start on making your game and have fun.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!