Jump to content
  • Advertisement

mr_tawan

Member
  • Content Count

    183
  • Joined

  • Last visited

  • Days Won

    1

mr_tawan last won the day on April 10

mr_tawan had the most liked content!

Community Reputation

222 Neutral

1 Follower

About mr_tawan

  • Rank
    Member

Personal Information

  • Role
    Programmer
  • Interests
    Art
    Audio
    Programming

Recent Profile Visitors

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

  1. I think, using nested components sounds more like OOP to me.
  2. mr_tawan

    Is there good free music?

    I can do my own music, at that level (probably :P), but that's not considered free for my own use don't you think..... My recommendation is, please subscribe to this channel. Listen to all "Stupid XXX texts" . I think that would help bring some sanity back to you Who owns the copyright? If the author still retains his copyright then I think it's not consider 'free music' for the game. He just grant the permission to use the song.
  3. Well I've just quit my job last Friday. Just getting frustrated with the new role in the new team. Anyway I have provident fund which should last a year given that I'm spending too much... I'm thinking about getting back to game development where I was last only a year at the beginning of my career. My knowledge are mostly obsoleted, only some basic concepts I have with me still applies I guess. I still don't have any direction though. I hope I can find the way after spending a few months thinking what I will do next... May be I will come up with some idea after my money runs out :P. Thinking about the past... I think the day I leave my game development career, I told my colleague that I need to get back to reality, I have to be realistic. Funny I've got hit hard by the reality lol. The said colleague is now at Square Enix I think, working in his dream job all day long. I guess I'm kinda jealous to say the least. Well live goes on anyway :P.
  4. mr_tawan

    Not even a beginner yet...

    You can learn from the internet, of course. However, even learning from the internet alone can mean so many things. Eg. learn from the articles/series hosted here in Gd.net, learn from Youtube, learn from online courses like Udemy, or even learn in a virtual class which the instructor teach lives for a group of people via Skype or Youtube livestream. These are all the internet method of learning. Each of them have pros and cons. So choose wisely. Personally I'd prefer a method where I have a group of class mate so we can discuss, do group work, etc. I think video courses like Udemy is pretty boring.... That said the former is much more expensive. A friend of mine took an AudioKinetics WWise online class at Berklee earlier this year, and that costs $1500, while most Udemy courses are $10-20. Choose wisely, live well.
  5. Well I think Monogame change the renderer state, shaders, etc. to draw things on the screen. If you mess around with the renderer then it's drawing won't work as you expected. And unfortunately the basic 2D stuffs like shape is not supported.... You need 3rd party library for that.
  6. mr_tawan

    My brief tour through 3d engines

    I've heard that CryEngine has significantly improved on the documentation front in the latest version. Haven't checked though.
  7. It helps when you are in a room full of people who wants to interrupt you, or at least distract you. Personally I don't listen to music when working in a room alone. I agree that it's still difficult to focus when working with music on, especially if you're are serious listener who tends to analyze the music while listening (I am one of those). Even instrumental music does not help in this case. I probably have to move on to ambient music sooner or later LOL.
  8. I'm in a place with no compilers at all (and cannot install one). In this case I'd say it's more convenient. ... well may be at least for me I guess.
  9. mr_tawan

    C++ compiled EXE not running

    My guess is, you have some code that refers to some resources file. Then when you run the exe file, which is in another directory, the program fails to find the file in the relative path you gives to it in the code, then it crashes. Try copy the exe file into the root of your project and run it again. May be that helps.
  10. Off topic: Please don't be sorry to ask in JS. In fact, it's even more convienient than says C++ or C# as it's easier to run :).
  11. I think I used to have the problem @L. Spiro mentioned long time ago when we only have dual core cpu at most. Basically the CPU resources are all used up by the compiler or other tools, and leave too little resources for the MP3 player. The music becomes stuttering. So it depends on your work load and the machine you have. One more thing is, I think most machine right now reads music as a file (we used to have analog cable routed to the sound card, and the cd drive has its own dac). One problem is if the CD is too damaged that the drive can't read, your machine might becomes stalled (or even crash) as the application waits for the data to come. MP3 or file-base music also has this kind of problem as well, but I think you'll see much worse problem before you can open the music file :P.
  12. I agree with @Gnollrunner that singletons should be avoid if possible. And In most case, you don't really need a singleton. You could just use one instance of the class/struct. Quite often there are classes that are designed as a singleton and later use cases that using multiple instance of that class make more sense appear. Regarding the long initializer-list/constructor parameter lists. If it requires to have all of those parameters being valid at the time you create an instance, you can use Builder pattern. For example. class Application { public: Application(Context*, AudioManager*, GraphicsRenderer*, UIRenderer*, InputManager*, NetworkManager*, ResourceManager*, SpriteUnpacker*, MemoryManager*, MyBossExecellencyState*); }; class ApplicationBuilder { public: ApplicationBuilder& SetContext(Context*); ApplicationBuilder& SetAudioManager(AudioManager*); ApplicationBuilder& SetGraphicsRenderer(GraphicsRenderer*); /* the list of set function goes on */ Application* Build() { return new Application(/* super long parameter list goes here */);} }; int main(){ ApplicationBuilder builder; builder.SetContext(new Context); builder.SetAudioManager(GetAudioManager); /*....*/ Application* application = builder.Build(); } The code will be longer than it has too be and there'd be performance impact, but at least it is more readable. This is not to completely avoid the long parameter list, but it is used to limit the place where it's used to one place - inside the Build() function. Also using 2 stages initialization can work fine as well. This technique is very similar to builder method. class Application { public: Application(); Application& SetContext(Context*); Application& SetAudioManager(AudioManager*); Application& SetGraphicsRenderer(GraphicsRenderer*); void Intitalize(); }; int main(){ Application application; application.SetContext(new Context); application.SetAudioManager(GetAudioManager); /*....*/ application.Initialize(); } However these are more like a bandage to a bad design decision.
  13. I know a lot of people that keep Youtube on all day longs just to listen the music while working. Programmers included. Spottify apps on PC are just a browser-based application (I think they use Electron) so basically it use resource as much as Chrome. CD Player uses even less resources as they are recorded as PCM, no decoding required. However if you are not comfortable with listenging music on the same machine, consider buying a portable player. I used to use iPod classic during my coding. Of course you can use your phone as well but I find it interrupting me too often.
  14. mr_tawan

    Whats the Best Software for Game Development

    It depends but most people nowadays start with Unity 3D, with Unreal Engine come next in the row I guess.
  15. Personally I'd use exception rather than returning null. The reason is, I think returning null means the operation is success but it does not produce any output. Throwing exception usually means there's something wrong with that operation. As a plus, you can specify what's wrong with that operation by putting some information in that exception class. However, throwing exception has performance impact and the error can be hideous if you're not careful enough. You might accidentally wrapping the function call with try...catch that do nothing when the exception is thrown (this is clearly a code smell though.).
  • 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!