• 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.

mychii

Members
  • Content count

    171
  • Joined

  • Last visited

Community Reputation

898 Good

About mychii

  • Rank
    Member
  1. I know the feeling of dissatisfaction upon the codes, the feeling of "is this right? would it be a problem later?". I usually remember that it's not about the code I'm doing, but the result. So I'll focus on the result. When things get slower or tangled, that's when I try to solve it. If it's about architecture, it has to be designed/thought up first and not during coding (whether it's the whole program or features), until I hit a real problem because of it. When I'm done, and the code that I worried about is actually not a problem, I'll confidently write it again in later time without hesitation. This is where colleagues can really help. For example in a project, you and I may face different code problem at the same time, but may have each other's problem in the future. We can correct this together without trying to solve it ourselves so we don't wander around asking ourselves whether this is okay or not. It could be just a simple confident booster to keep moving on sometimes.
  2. Agree with cozzie, it's general. I've worked in a few IT companies in the past. The first one let me work for 7 hours a day, 5 days a week. It's a small, family-oriented company. Then the 2nd one gave me a workload and deadline that implicitly forces me to work 12 - 16 hours a day, 6 days a week without overtime pay. (I quit right away 3 months later right before they give me a freaking legally bound 1 year "suicide" contract). The last one is 8 hours a day, 5 days a week. I can't work beyond that hour because they turn off the lighting and the cleaning service start cleaning the room, which annoys me a lot that I can't work at all (probably intended). The office is also closed at Saturday so there's no chance to get in there to work unless the big boss have some sort of event or extremely rare urgent matters. It really depends on which company you choose. I'm glad I had my first job that is quite sane. If I get to the 2nd company as my first job ever, I may think that's how I should work for my life.
  3. Recompile those external libraries with something like /Dmalloc MyMalloc / add a PCH that contains #define malloc MyMalloc / etc :)   On some platforms, there is an OS-level API that you can use to supply your own allocator which will be used internally by any calls to malloc/new. I haven't done iOS work, so I don't know if this is the case there. That's a nice idea, adding a PCH for malloc on each library! I'll try that first. :-) About the OS level API, where can I find them? I tried to search for such info in Google for either Android and Windows, but no luck. I probably don't get the right keywords yet.
  4. Hi guys.. So I'm at the point where memory management becomes quite a tedious and daunting task. I'm currently making a game for mobile device, and I allocate one big chunk with a hope all (most) memory allocation would strictly use that so I can track them while also limit the memory usage just to that chunk I take from a single malloc. Now the issue isn't how I handle that big chunk, but the libraries that use its own internal allocator, especially in C. For STL, globally replacing new and delete (and its array forms) works. Then Vulkan is almost the same as making custom allocator for STL container... and then here come other libraries like FreeType, sqlite3, and I don't know what else will come when I need them. Some of them are even harder to handle! My lazy brain starts to think to just let the memory usage grow instead of restricting them in one big chunk I allocated, it may seem to be not a bad idea it says... but then the issue is I am unable to track them, and again it grows. I'm not sure if my game can keep up in a phone with the memory suddenly being full when I need them during the game. I also may not be able to track them of which does that. What's your opinion to handle this situation? Do you soldier through replacing/creating custom allocators on these external libraries' allocator or just ignore them? ... or is it possible to replace global malloc/free? lol.
  5. Thanks for the answers guys. I'll check on what you guys have suggested, starting from vstrakh's answer first. I forgot to mention that this isn't for Windows primarily, but for Android and iOS. Not to mention the iOS uses Metal and the Android is expected to have Vulkan optionally..reason why I don't bother saying what graphics API anymore as it's not the main issue.
  6. Hi guys, I'm not sure where to post this, but since I'm new to rendering text, so I post it here. I'm currently doing a job on rendering 2D text for UI from scratch using C++ and a graphics API. I have no idea on the workflow to render text. I also need to be able to render Japanese texts along with its kanji characters. The first thing that came up in my mind is, do I have to turn the font to image first so I can iterate the characters from the image? Is that the only way? I'm also worried on how to handle these thousands of kanjis, or should I just pick whichever I need... manually? Also, if I'm using texture fonts, then what about resolution? Would it be an issue? or should I just have it large and scale it down? Or is there other way? It's still hazy for me on this one. Cheers..
  7. Merry Christmas. Got myself a family pizza. Lol.
  8. Cool, thanks for the attention Zipster. :-)
  9. Have a checker that the component won't work if it's not accompanied with required components. I'm sure component has a reference to an entity it is "attached" to, so it won't be a problem to access or to check if dependent components are also with the entity. I think Unity does that but I forgot which; when you add / remove a component, it will tell you that it is depended by some components, etc (I think some even throw errors during runtime). This is inevitable.
  10. Have your specific system to iterate the specific components instead of entities. For example, renderable components are rendered by a rendering system regardless of who the entities are, not rendering system searches for entities that have renderable components.
  11. You mean like what AllEightUp suggested at no 4? Yeah I've tried it and it looks great on the build result. However somehow it only works on VS but not Android Studio. Anyway I'm using Clion now so I guess it's not an issue anymore, but it's no harm that I'm still adding that command nonetheless.
  12. I think, think of your ECS as proxy to your modules. The components take the data (in this case, related to physics, in a way your artists/game designers could understand) and then the data is processed by whichever module through the related systems. This makes it easier to attach any 3rd party library. In this case, your physics module/library/engine/whatever. Just a quick thought.
  13. Grats on your first program! How about letting a guy with a name to put some more food on a table, and then that guy can choose one of them to eat first? :wink:
  14. Wow this is going to be a lot of changes to grasp :wacko:, but all the answers I need so far. That project structure is surely clean :wub: .   Thanks a lot AllEightUp, especially the workflow part, that is gold. Welps, gotta catch up with the suggestions. Thanks again guys! :lol:
  15. Glad to hear that, and thanks for the tip, it worked.   So let me get this straight... if I start using CMake, I have to focus not on making the code on VS and do it manually (which I have no idea what, text files?)? I mean, I opened the VS and it's almost kind of a mess (I'm not used with folders separated as libs instead of actual folder consisting .h and .cpp only), and in the end I started to think that the VS is only meant to only compile the code in this kind of environment. But if I look to my files, it's been bloated with tons of cmake generated files that I can hardly see my source codes:     I'm quite confused on how I should work with my project with this kind of environment. Like I said before, I'm used to work inside the VS, not with Cmake like this, so I need to be sure how.   I'm not sure what you mean by "If you add move files to a folder they will go into the proper project." Is my concern above is what you mean?