Jump to content
  • Advertisement

DeFessler

Member
  • Content Count

    56
  • Joined

  • Last visited

Everything posted by DeFessler

  1. DeFessler

    UE4 RTS StarCraft 2 Movement

    Awesome! Thanks a lot. I'll check it out. :)
  2. Hey Everyone!   I was hoping to get a little bit of advice. I am playing around with UE4 and I am trying to control a group of characters. UE4 uses Recast Navigation for it's NavMesh and you have the option for using DetourCrowds for avoidance. I am trying to get more familiar with recast navigation so it's a bit difficult for me still.    Anyway, the problem I am trying to solve is that I want to prevent units from fighting for a spot when they are being moved. The solution that I like a lot is how StarCraft 2 handles it. When a group of units moves through a stationary group, the stationary group moves out of the way of the moving units and allows them to pass through seamlessly. Does anyone know what I can do to get information on how to implement this style of movement in UE4?   Thanks!
  3. I can imagine it's just how they have the build process set up. As they are developing it the structure is set up in a way that makes it easy to develop and it goes through a shipping build process and they probably just didn't take the time to write the scripts organize everything when it's built.
  4. DeFessler

    undecided in what i learn to game programming

    Unity is a really nice and fairly easy to use engine, imo. The personal edition looks like it allows you to export to android, the pro versions just add more features I think. I found my use of unity to be very rewarding.
  5. DeFessler

    How to make Pong?

    Coincidentally, I've been researching pong lately. I don't know of many good resources hopefully these help.   - C++ SFML > https://github.com/SFML/SFML/tree/master/examples/pong - Flash Tutorial > http://rembound.com/articles/the-pong-tutorial
  6. DeFessler

    C++ Graphics Library

    It seemed more modern than the other graphics libraries I was looking at and some of the tutorials mention C++11. I guess I can't tell how modern it really is very easily but it does seem like a really nice library.     Whether or not you can finish your game rather than going in circles is more about how much the library and engine do for you rather than the language they're made in. A bigger library or engine means less for you to worry about    Watch out though because a big engine like UE4 or unity has many bells and whistles and it's easy to get side tracked playing with them rather than what matters to your game!   I've made some small games in UE4 and Unity and they are pretty nice and easy to use engines but UE4 has a lot of macros that kind of obscure the language for me and overall it does much more than I need for some simple games like Pong and Breakout. Unity is really easy to use but I am not a fan of the languages it uses for scripting. I do want to get more familiar with both in the future though because I feel like they will be beneficial to use.     You can use OpenGL code alongside SFML, so once the ball gets rolling, it should be a fairly easy next step.   I noticed that in the tutorials but didn't think of it this way. That's kind of exciting because I do want to get more familiar with OpenGL and DirectX directly so it's nice to know I can use this as a gateway to at least OpenGL.
  7. DeFessler

    C++ Graphics Library

    Hey everyone! I wanted to start working on some more hobby projects. I was thinking about recreating some classics like Galaga, Breakout etc. I am trying to decide what would be a fun C++ library to use for this. I've used Allegro 4 in the past so I am considering Allegro 5. I've heard good things about SDL so I was also considering that. I could use an engine like UE4 but I feel like that's a bit much and I'd like to have less hand holding. I am trying to improve my knowledge of C++ mostly.   It's a tough choice to figure out what to play around with so I was hoping to get some advice. Even suggestions I haven't mentioned would be appreciated.   Thanks guys!
  8. DeFessler

    C++ Graphics Library

    Thanks madgod_zhar! I started working with SFML because it seems to be the most modern and up to date. I also really like that they have everything up on Github.
  9. DeFessler

    C++ Graphics Library

    Oh thanks, I'll check out Clanlib to see what the differences are. I thought out trying to use OpenGL or DirectX but I imagine the APIs for that are a good deal more complicated. I want to get into them eventually though.
  10. DeFessler

    Game Development Laptop

    -- double post -- 
  11. DeFessler

    Game Development Laptop

    It might not be what your looking for and a bit overkill but my cousin and I built a mini-itx PC which is pretty nice and very easy to take with you.   http://amzn.com/w/2X1MIEDPDG7LO
  12. DeFessler

    C++ Graphics Library

    I haven't tried SDL at all but I have used Allegro 4 a long time ago. Since then Allegro 5 has come out but I figured I'd evaluate my options and see what would be cool to play with. At the moment it's more about learning C++ than it is about making games. I have a pretty strong grasp on C++ already and I've worked in web development using frameworks like Backbone and Marionette for a couple years now. I do want to learn C++ so that I can work at a company that makes games but I like the language a lot.   Thanks for all the suggestions; SFML looks interesting. I think I'll give that a try and if I don't like it I might give SDL a go but I think SFML might be what I am looking for.   Thanks again!
  13. DeFessler

    Learning Javascript after C++

        I am actually a huge fan of JavaScript: The Good Parts. It might be a bit dated but I think most of it still holds true (such as making it a point to never use '==' in favor of '==='). JavaScript Patterns is really good too. You can actually get plugins for most code editors that will lint you're code using the standards explained in "The Good Parts".   JavaScript is pretty much the language of the web and it does have it's really bad clunky parts to it but it has great things too. The biggest problem with web development is that you're working inside of a browser and generally you have to worry about supporting many different browsers which all have small (sometimes big) quirks that you have to learn to get around. Using libraries like jQuery, Underscore etc help a lot in that area.   There are some frameworks (nw.js, CEF etc...) that you can make applications using and you'd only have to focus on the browser tech that framework uses which can be really fun and very freeing if you're used to working in the browser.
  14. Hey Guys,   It's been a while since I posted on these forums but I am here hoping I can get some advice. I am trying to create a simple memory allocator for practice and I am having a hard time with the concept and was wondering if anyone had any advice or good resources on how I can learn more.   The goal I have been challenged with is to create a memory manager that will be given a contiguous block of memory. Using this block of memory the allocator will be able to allocate and deallocate from that given block of memory. The allocator is not allowed to dynamically allocate any memory of it's own.   Any advice is appreciated and let me know if you need more information.
  15. DeFessler

    C++ Simple Memory Allocator

    Thanks for all the feedback guys. I am still fairly new to this so it will take me a little bit to fully digest what you've posted when I have time but I'll definitely be posting back here once I play around a bit more. I did write my current thoughts on what you guys have said so far.    With this in mind some comments regarding this early MemoryManager::allocate(size_t):   a) Please stop using the NULL macro. Use nullptr (C++11) instead if supported by your compiler.   b) Your condition guarding the method is wrong. You probably want to break if mHead is nullptr or requested size is greater than the available capacity, so          if (!mHead || size > mBytes) return nullptr;   c) You could avoid many of the nasty castings if mHead would be a char* (but continue reading).   d) The parameter size can be very big, but you store its value in a byte. So you need to break and return nullptr also in case that size is greater than 255 in this case. Otherwise you need to be able to store bigger values.   e) The method does not consider alignment other than 8 bit. This is okay if and only if the clients are guaranteed to use the returned memory pointer only to store byte values. As soon as they want to store 16, 32, 64, ... bit values, things may become inefficient (slow) in best case or terminate the program in worst case.   f) The available capacity mBytes is not decreased on allocation, so one can allocate memory behind the backing chunk.   g) Notice that changing mHead destroys your only one pointer to the very beginning of the backing memory chunk. That makes regular cleaning up impossible.     Here is some of my feedback on what you've written. a) Ya, I actually read about nullptr in the C++ Primer. Definitely a big no, no on my part.     b) Oh good catch, I didn't realize I put an && there. I need to create some variables to track that the current location + size < mBytes instead of size < mBytes. I also need a way to look through the rest of the block so I can looked for pieces that might have been freed that I can give out instead of always pulling it from the end.   c) That's a good point. I wasn't sure if it was better to declare it as a void pointer or make it a char pointer for clarity on my intention to anyone else who reads it.   d) I may try to take sizeof(size_t) instead of just incrementing by 1 so I can ensure that I have enough space to store the full size.   e) I would want to be able to allocate complex objects and not just 8 bit values so this is something I will need to keep in mind and research more. I am not sure slow is something I care about in this initial example.   f) I believe what I wrote for b covers this my thoughts on this.   g) I'll have to think about the best way to keep track of the beginning, end, and current location of the memory chunk. The goal is to make sure that this memory manager doesn't dynamically allocate any memory on it's own so I am trying to be conservative.   That sounds interesting I am going to spend some time looking into this and see if it helps lead me towards the solution.
  16. DeFessler

    C++ Simple Memory Allocator

    Thank you for such a fast reply. I am going to take some time and analyze the example you gave so I can pick it apart and see how much  further I can get. Most of my confusion comes from how to mark memory as in use and it's size so that when I go to deallocate I can be sure to deallocate the proper amount of memory.   I also want to be able to use the in use marker search for a contiguous block of memory within the chunk in a scenario where multiple blocks have been given out and some random blocks were freed and I need to find the best match for the size I need to allocate but that is something I will get to when I figure out the above. Baby steps .   This is a really crude example and its entirely unfinished but it's the code I have created to play around in while I figure this out. class MemoryManager { public: MemoryManager(void* chunk, size_t size); ~MemoryManager(); void* allocate(size_t size); void deallocate(void* deleted); private: struct Free { bool inUse; unsigned char size; Free* next; }; void* mHead; size_t mBytes; }; MemoryManager::MemoryManager(void* chunk, size_t bytes) { std::cout << "init" << std::endl; mHead = chunk; mBytes = bytes; for (size_t i = 0; i < mBytes; i++) { char* head = reinterpret_cast<char*>(mHead)+i; *head = 'a'; } } MemoryManager::~MemoryManager() { std::cout << "uninit" << std::endl; } void* MemoryManager::allocate(size_t size) { if (!mHead && size < mBytes) return NULL; char* bytes = reinterpret_cast<char*>(mHead); void* head = reinterpret_cast<char*>(mHead)+1; mHead = reinterpret_cast<char*>(head)+size; *bytes = size; return head; } void MemoryManager::deallocate(void* deleted) { std::cout << "dealloc " << std::endl; }
  17. DeFessler

    New to game design, actually...

    I'm still fairly new to game development and programming in general. However, I do have two very small completed projects. One is a vertical shooter and another is a Tetris clone. Making a 2d game similar to Pokemon with the ideas you suggested shouldn't be very difficult to get going. You'll need to pick a good language and API but if you work hard it shouldn't take more than a year to get something small and fun. I use C++ with an API called Allegro. So that is my suggestion with where to start. I have heard good things about the API called SDL and the XNA game studio using C#.
  18. I've read two C++ books so far as well as reading every beginner tutorial at http://cprogramming.com. I can flip through the pages and understand every block of code in the books without having to retrace or look up anything. I was wondering if anyone could point me in the right direction for what I should read next to improve. I was thinking about buying C++ primer plus 5th ed. The books I've read so far are: C++ Without Fear: A Beginner's Guide That Makes You Feel Smart Beginning C++ Through Game Programming I have a book called Game Programming All in One but I'm not sure I enjoy it very much and I wanted to get my baseline knowledge down. Oh! I have also taken a semester of c programming, half a semester of advanced c programming and half a semester of Java in college.
  19. DeFessler

    (C++) Book Recommendation

    I've barely read any of the harbour book. I've read the dawson book twice and just barely finished with the without fear book. I'm not going to waste my time with the harbour book if it uses outdated standards, I don't want to develop anymore bad habits, I want to work towards good ones. I will probably take what I know now and try to rewrite my Tetris and see how wel I can do, then possible get the book on effective C++. While reading some articles recommended here.
  20. DeFessler

    (C++) Book Recommendation

    Thank you everyone. I really appreciate all the awesome input. I'm not even sure if I will end up trying to make a career out of this some day, I just enjoy it a lot and want to get better at it as a hobby. If I get good enough to take it on like that, it would be great. With help like this, how could I doubt it. Got a lot of work to do. ^_^
  21. DeFessler

    (C++) Book Recommendation

    Well VB was the first language I was introduced to, but I didn't learn very much of it. I didn't start trying to learn programming until I completed my C programming classes in school which is probably why my code looks that way, haven't used OO really at all. The only times I use single letter variables is for array indexes, I thought it was best that way. However, I know my variable names are horrible but I get kind of crazy throwing my code all over when I get into it, experimenting. I will follow your suggestions, thank you.
  22. DeFessler

    (C++) Book Recommendation

    I'm unable to reproduce any problems with it resetting before the blocks reach the top, but I already have plans to change the way that works. It was temporary way of making it playable. Also, the 'R' key will reset the board as well.
  • 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!