baseball435

Members
  • Content count

    67
  • Joined

  • Last visited

Community Reputation

286 Neutral

About baseball435

  • Rank
    Member
  1. I've been using LibGDX for over 4 years now and love it. I have developed multiple games using it and the cross-platform functionality is not hard to work with. Unity does take care of a lot of background graphics development when it comes to 3D functionality, but LibGDX can definitely match it. I personally don't like using Unity because you don't have as much control and power over it as you would a framework/library like LibGDX. On top of that you get a good understanding of what is truly happening in the background. This lets you apply the same ideas and principles in different areas in the future whereas with Unity you can't take (much of) the knowledge you learned and apply it in a different work environment.    Regarding your question about the graphics being better on Unity vs LibGDX, the graphics are only as good as you design them to be. By simply looking at LibGDX's website you can see a video displaying great looking graphics in multiple 3D games that were developed with it. If you have good graphic art your game will look good regardless of what framework/engine you use. Anything done in Unity can be done in LibGDX through the use of shaders (when it comes to graphics). They are completely platform-independent as all of the work is done on the graphics card.   My largest project (code and development wise) and most popular game that I have been developing using LibGDX is my Terraria clone: TerraLegion. It is an open-source project that has been in on-and-off development for the past year now. I only recently made it a public, open-source project. Feel free to take a look to get an idea of the power that LibGDX has.
  2. Open-Source Terraria Clone

    Here is a video going over the open-source release!   [video=youtube]https://www.youtube.com/watch?v=LGLSLR8y95Y[/video]
  3. Open-Source Terraria Clone

    Hello everyone!   I am here officially releasing the code for a Terraria clone that I have put about 60 hours of development into. The game was developed using Java and the LibGDX framework which allows it to be run on multiple platforms including Desktop, Android, and iOS. It was specifically designed for Android which means that optimization of rendering and processing is implemented everywhere it can be. The game will run at a solid 60 FPS.   Why am I releasing the code? I started working on the game about 10 months ago. It started out as a project to develop a basic physics engine and then extended into a Terraria clone. Over the next 6 months I was developing the game, implementing the basic features of any open world game. Over the past 4 months however, I have been very busy with school, work, and other projects that have taken over my time. Because of this, rather than let the code sit around until I get the time to come back to it, I figured I'd give to the community and allow anyone to use and modify the code.    The main reason that this project is open-source is to encourage community contributions and create a game centered around the development done by those in the gaming community. Contributions are heavily welcomed and I would love to see developers being able to place their own mark on the game.   Where can I find the code? The Github repository of course! Because I want the community to work together on this game, Github is the best place for the code to sit and allow people to work together. I would love to see the additions as development progresses.   Are you giving up on the game? No! I am simply allowing the community to contribute and I will be developing alongside them whenever I get the time!   Current Features World Generation: Over 1,500,000 blocks in the world. Lighting System: Efficient with almost no boundaries when placing light sources. World Saving: The world is split into chunks and saved to the device. It can then be loaded again. World Destruction: Break blocks using the different tools. The action joystick will place or break blocks within a certain radius dependent on the item you have in your hand. Item System: Pick up and use items or blocks. Blocks will be placed on the ground and items, if they're tools, will destroy the environment Entity System: Implement custom AI and entities with the entity system that is in place.   More information on the project can be found on the Github page.   Here is a video of the game in action! [video=youtube]https://www.youtube.com/watch?v=-z4o8CwJR8E[/video]
  4. Is Programming an RTS Game still good?

    That's a very unspecific, generic question. Sure it's worth it if you think it is. If you're looking to just get experience developing a game then yes it's worth it. If your sole purpose is to develop the next big-RTS, you'll need to have a solid plan with an idea on what would separate your RTS from every other RTS. If you don't have this plan and if you don't think that your RTS will be the next big thing, then maybe it wouldn't be worth it. On top of that you'll need to decide whether or not you have the knowledge to develop such a game. You need to determine what your purpose is to develop the game and from there you can determine whether it will be worth it.
  5. Algorithm for create caves

    Perlin noise can generate caves. I use it in my game. Id suggest implementing the algorithm and developing a separate application where you can visually see the values that are generated in the 2D array. It'll make it easier for you to get an understanding of how the algorithm works and how you can use it to generate the caves.
  6. Game Engine Architecture: what's after that?

    Questions like these pop up all the time. I think that the best way to actually learn game design is to learn from your mistakes. You can ask all the questions you want, and some may help you, but overall you need to develop games, receive feedback on the way you programmed the games by posting the source on an open-source repository, and learn from what everyone suggests. As you continue to develop games you'll get an understanding of what architectures will work better than others and you can determine what architecture would work better for specific situations. There is no specific way to design a game's architecture, there's only very general principles. You'll need to experiment for yourself to learn what is truly best.
  7. Open world 2d map loading

    In my game the entire randomly generated world consists of over 1,500,000 tiles. The way that I go about it is a mix of what you said and also what Infinisearch said. The world is split into chunks that hold, in my case, 64x64 tiles each. Only 9 chunks are ever loaded into memory which you can imagine as a 2D array with 3 rows and 3 columns. The chunk in the center of the array is always the chunk that the player is located in. As the player moves throughout the world, old chunks are cached and news chunks are loaded. Chunks contain the information about the individual tiles in that chunk. Tiles are held in a 2D array in the chunk and are represented by integers which correspond to their IDs. When a tile is acted upon, the tile type is found by that ID. 
  8. Beginner with a dream.

      While the majority of this is true, I believe that it's a better idea to work away from game engines and instead use game libraries to get full knowledge of the language. While Unity will teach you the basics of C#/Javascript/Boo, if you ever opened up Visual C# and were asked to make a basic application, you'd have no idea what to do. Other than the basics of programming, you don't really "learn [the] programming language alongside [the] project". When using game engines you are locked down to the API that they provide to you, and although the knowledge in the engine may be great to have, if you're looking to continue with programming outside of game development, Unity will never help you in a different programming environment. So in conclusion there's two ways to look at this: If you're looking to simply create this game and only games from there on, go ahead and use Unity. You'll finish the game in a faster amount of time than you would using a separate library or programming it from scratch. If you're looking to gain full knowledge of the programming language itself, become well-oriented with the language, and develop games among other applications, stray away from a game engine and focus on building a good understanding of the language. 
  9. [CRYENGINE] Dynamic Weather_System 2200

    I haven't tried it out, I plan to, but it looks really really nice! Great work.
  10. You most likely didnt and honestly, unless your app has gotten thousands of downloads in a short period of time, Google will never post your app in that section. The apps selected to be in those sections are all based on app statistics; downlads, ratings, etc.
  11. I had suspected mutlithreading could have fixed that. It seemed odd to me that the game wasn't effected by the polling of events until I added the networking. I will add some multithreading and see how that goes.     Great. Let me know how it goes! It should fix your problem.
  12. Design pattern implementation

      This would be a valid option but it couples the Achievement model with the controller and view. It's better to decouple them, following the MVC pattern, and encapsulate the functionality of each so that one isn't dependent on another.     Goodluck!
  13. I believe that it has to do with the way that SDL polls events. It may be blocking the rest of the application at this while loop until an event is polled. That is why when you move your mouse it sends the data. I see that you're still learning the ropes of networking, but you'll soon learn that you'll want to separate the networking logic from the application logic by placing the network logic in a separate thread. This is what I would recommend. Create a new thread and have all of the network logic run within that thread. This would solve your problem.
  14. Design pattern implementation

    I believe that the best solution here would be to create a view class for each achievement type. I would create a BaseAchievementView interface that provides methods needed to draw the achievement's information to the main view. Subclasses would inherit these methods and implement the way they would be drawn in the provided methods. For example, the BaseAchiementView interface would contain the method "draw" which would be used by the main view to draw the information to it. You would create a new class called BuyItemsAchievementView which implements BaseAchievementView, and in the draw method you would draw the item and other information you would provide to the user. You would follow this template for the other achievement types. Then in the main view, instead of holding a collection of achievement types, hold a collection of the BaseAchievementView interface. This would encapsulate the drawing of each achievement and separate the functionality from the main view.
  15. (Another) Terraria Clone

    Just released a video showcasing the current features in the game and what I plan on working on next! Let me know what you think!   https://www.youtube.com/watch?v=-z4o8CwJR8E