All Activity

This stream auto-updates     

  1. Past hour
  2. Definition: "Flow" is that mental state you enter into when you are focused and highly productive. It is a pleasurable state to achieve and leads to productive gains (aka, "getting into the zone"). When it comes to any sort of creative work (game development, writing, artwork, design, etc), it is really important to get into the flow state and maintain it for as long as possible. I would dare to suggest that this is one of the most important things for you to manage in yourself and others, and success is hardly possible without consistent progress. You want to get into this flow state when you begin creative work. Establishing Flow: Onramps The reality is that establishing flow is a fickle beast, and it's not something that can be toggled on and off like a light switch. Sometimes, you may spend an entire day trying to establish it and have no luck. These days are generally wasted, unproductive days. However, there are various controllable factors which make it easier to enter into the flow state. Some factors have no effect on some people, but some factors are universal. Here is what I have found to work: Coffee: It is brown, hot, delicious and a caffeinated stimulant. It gets my brain juices flowing. Music: I find that music helps to eliminate external distractions and can be invigorating. On ramps: I purposefully design my task list so that I have an easy entry point for the next day. Leave yourself something easy and accessible to start the day with. You want a quick and easy victory so that you can build momentum. Once you have momentum, you can increase task complexity/difficulty and slide right into the flow state. If you don't do this, you create a barrier for entry for yourself the next day and its mentally easier to procrastinate or avoid work because its hard. Example: "This bug is super simple to fix / this feature is super fast to implement, I'll leave it for tomorrows onramp." Exercise: By exercise, I don't necessarily mean going to the gym or sweating up a flight of stairs. I like to briskly walk to work, which increases blood flow and wakes me up. Intention to work: I find it's helpful to have an intention to go to work to get something done. Clench your fists and say, "I will get this done today, no matter what.", and make it happen. Set a resolve for yourself. If you are in an environment filled with other people, you will share their intentions. If they intend to screw around all day and do nothing, so will you. If they intend to focus and get work done, so will you. Enjoyment: It really helps a lot to enter into the flow state if you enjoy what you are doing. Habit: If you have established a habit of consistency, you will find it's easier to repeat a pattern. This can be good and bad, because habits can be good and bad. Focus on creating good habits and breaking bad habits. Days off: We are not machines, we're humans. We need to take days off from work in order to maintain fresh minds eager to work. If you don't, you risk burn out and your productivity will diminish to zero whether you want it to or not. Its more productive to not work every day. That doesn't necessarily mean you have to take off every weekend -- take off a week day. You know its time to take a day off or go on vacation when you mentally feel like you are in a repetitive grind, doing the same thing, day in and day out. Sleep: From experience, it is not possible to enter into the flow state and maintain it when I have not had sufficient sleep. I am adamant about this. If you need an extra hour of sleep, take it! Would you rather spend the whole day fighting against brain fog due to lack of sleep (resulting in a wasted day) or would you rather spend an extra hour or two sleeping so that you can be maximally productive for the rest of the day? Distractions: The flow crash. I think of flow like traffic and driving cars. You have to gradually increase your speed before you reach this optimum cruising speed of maximum productivity. Distractions are like getting into a head on collision or hitting the ejection seat button. Here are the distractions to worry about and why they are distractions People interrupting you - They come up to you and start a conversation with you while you were in the flow state. Now, that state has been ended and you probably lost about 15 minutes of productivity time in addition to the time it takes to have the conversation. You want to design your work situation to prevent people from interrupting you. Lock the door. Have reserved distraction free time. Work alone. Schedule meetings instead. Side conversations - Someone else is talking about something to someone. They're having a conversation about something. It doesn't even have to be interesting. Whether you want to or not, you are probably listening to bits and pieces of this conversation. Every time you switch your mental focus from your task at hand to the conversation, you are interrupting yourself and getting distracted. Ideally, the way to counter-act this is to work in a quiet space without distracting conversations or noises. A second best solution is noise cancelling head phones with music which has no vocals. This is one of the top reasons why I think "open office" floor plans are terrible for productivity. Social Media & Email - Holy crap, this can be distracting and a major time sink. This warrants a category on its own because it can really destroy your day. How? Let's say you get an email from someone. What happens? Do you get a pop up notification and a noise? This suddenly attracts your attention to this email event, even if you ignore it. Flow = hitting the brakes. Social media is terrible as well because it can turn into an addictive cycle. "I wonder what's happening on facebook? Do I need to catch up on twitter? Reddit? instagram? email? online forums?" The curiosity can haunt you when you're trying to establish the flow state and you can easily give in to your own curiosity and accidentally waste 15 minutes to 5 hours on social media and email. This is a robbery of your time. For what? What tangible value do you actually get out of it? Cell phones - Yet another source of distractions. They ring and make noise when people are trying to call you. You feel obligated to answer calls or risk being rude. You get text messages from people in your life. Ideally, I would throw my phone into the ocean and never get another one. Practically, you should put your phone on silent. Let your loved ones know that you are unavailable during certain hours. Home life - If you work from home, there are more distractions than you can count. The more people, animals and noise there are, the more distracting home becomes. Is your spouse trying to spend time with you? No work gets done. Do you have kids who need attention? No work gets done. Kids also have no concept of interruption, so they can't sense when you are busy. If you have animals, what happens when the dog barks at a noise? Or the cat meows for attention or walks across your keyboard? What about chores? "Honey, can you take out the trash? Can you do the dishes? Vacuum the living room?" etc. Home is generally a terrible place to get work productive done. If you must work from home, you should have a quiet study to work from, where you can lock the door to keep people out. Alternatively, you should work away from home. Food and bathroom breaks: It's a biological necessity for survival to eat and drink, and generally something you should do. Keep in mind though, excessive drinking of coffee (or other liquids) can lead to frequent bathroom breaks, which interrupt your flow. If you smoke cigarettes, smoke breaks can also be flow breakers. I advise against drinking alcohol if you're attempting to remain productive. If you get hungry, you should eat. Continuing to work while hungry turns into a flow interrupter because the pangs of hunger start turning into repetitive interruption signals. Technology - You have to be very careful with technology. Some technology is beneficial and enhances productivity, but other technology is a source of distractions with limited benefit. It's sometimes hard to tell the difference. Generally, instant messengers, skype, discord, email, and any application which interrupts you with a notification of any sort is bad for flow maintenance. Entertainment - In 2017, you have a ton of entertainment available for you at your fingertips, at any time you want. You can watch netflix. You can play video games. You can browse videos on youtube. Watch movies on demand. Stream TV shows. Use social media. This overabundance of available entertainment makes life fun, but it drains away your ability to be productive. This makes creative work much more challenging because there is an overabundance of distracting time sinks available to rob us of our productive time. Have fun, but be disciplined and use set hours for entertainment (start times and stop times). Conclusion: Overall, if you work in a quiet, isolated environment, you can get a lot more work done (Some people work late into the night because its quiet, isolated and distraction free). Take the time to be introspective about your work day and assess how it went. What was good and helpful? What was bad and unproductive? Some days, you won't enter into the flow state. Don't beat yourself up over it. It happens to everyone. Instead, focus on how you can make tomorrow a better day. What can you do today to make tomorrow better? I'm interested to hear what you guys think. Did I miss anything huge? What works for you? What hinders you?
  3. Variadic Template Argument...problem o_O

    Your variadic template is working fine. The problem is you are returning a reference to a temporary: vvv ref vvv vvv temp vvv const Point& GetPosition()const { return Point{ /* snip */ }; } All things are possible for him who readeth from invalid memory. =P
  4. Text Based RPG

    Hello everyone! First if you are taking the time to read this "Thank You!" I'm new to programming (Java and C), and I would like to learn/practice more by making a Text-Based RPG. I have an idea in mind and I kinda started to code it in Java but I'm not sure how to put my bits of code together and would like some help. I'm not asking to make the game for me, but to guide me in the right direction... maybe some books, tutorials or even some one on one if you don't mind. The game I have in mind is going to contain: A player, world, leveling system, melee combat system(with some skills), monsters, inventory system, intractable objects(like a tree that you can cut down), item storage system, NPC's that interact maybe a store or something, and a saving and loading system. After that maybe I would like to add some more Non-Combat skills, a mage and range combat system along with some more skills, and make the world a bit larger with some interesting stuff in it... Anyways that's a lot so thank you for taking your time to read this, let me know if I can explain anything better or if I didn't explain something enough!
  5. Today
  6. Actually, I could use this trick instead - The smaller screens of the characters are in conversation loops, but in a subtle, barely noticable way. The exact technique is used here too inside a combat mission - There is obviously no lip-syncing but the "interference" effect on the screen covers for this. What do you think, is this the most efficient way to solve this?
  7. Variadic Template Argument...problem o_O

    Here below a main.h with my basic setup , you can run it yourself to see it happening in your console: #include <iostream> #include <vector> #include <memory> using namespace std; struct Point { int x, y; }; class Entity { float XCenter,YCenter; public: Entity(int x, int y) { XCenter = x; YCenter = y; } const Point& GetPosition()const { return Point{ static_cast<int>(XCenter),static_cast<int>(YCenter) }; } }; class Paddle : public Entity { public: Paddle(int x, int y) :Entity(x, y) {} }; void LogConsole() { std::cout << std::endl; } template<typename TFirst, typename... TArgs> void LogConsole(const TFirst& first, const TArgs&... rest) { std::cout << first << " "; return LogConsole(rest...); } int main() { vector<unique_ptr<Entity>> Entities; Entities.push_back(make_unique<Paddle>(751, 838)); for (auto& E : Entities) { LogConsole(E->GetPosition().x, E->GetPosition().y); } return 0; }
  8. this is super strange... I have this function here: template<typename TFirst, typename... TArgs> bool util::LogConsole(const TFirst& first, const TArgs&... rest) { std::cout << first << " "; return LogConsole(rest...); } bool util::LogConsole() { std::cout << std::endl; return false; } it's recursive, keep printing "first" and recursively sending the rest, until rest is empty and the overload taking no argument is called, which just print a newline. Ignore the bool return. Anyway, now I have this code somewhere else: for (auto& E : Entities) { float valx = E->GetPosition().x;//return 751 float valy = E->GetPosition().y;//return 838 LogConsole(valx, valy); } Entities is a vector<unique_ptr<Entity>> which currently only contains the derived from Entity player Paddle, so I access the Base class Entity method called GetPosition, which is the center pivot coordinates of the object. I pass the variable to LogConsole which predictably prints: But not I try to call LogConsole without those 2 variables inbetween, like this: for (auto& E : Entities) { LogConsole(E->GetPosition().x, E->GetPosition().y); } and watch what kind of output I get! : ... the y value is an unreasonable value o_o How is this even possible?! Since only the second value is being affected, my assumption is that there is some weird interplay with the second template parameter, the variadic argument...but I wasn't able to debug it even stepping trough it line by line...can anyone come with an explanation for this really strange behaviour?
  9. I am looking for an Artist which can handle modelling/animating/texturing and of course shaping a Survival Game with me. Basic Information: Back in February this year I started an engine coded in Java. The goal was to overcome those typical Voxels like in Minecraft but still be able to modify the whole world! 7 months later I am at a point where I can actually share some visual stuff and start shaping an actual game out of it. The direction I would like to go with this game is a mix between hardcore survival and improving your environment with technical aids. So the concept is going from a Stone Age like man and crafting your basic utilities to generating electricity through windmills, watermills, coal generators and afterwards using this electricity to ease your life (example: from torch to lamps). I don't want to go too much into detail but natural disasters will play a big role as well. Here I got some footage of the engine so far: ENGINE Everything is coded in Java. The reason is pretty simple: Mods. The biggest modding community exists in Minecraft and mods are by far the greatest thing for me in games to add some variety. Obviously you can't just blast holes in the world like in the video it's more like in this video (at 0:23): DIGGING What's your job then if a lot of stuff gets procedurally generated? Modelling, texturing, animating, designing tools, machines, basically breathing some life into the game. What artstyle would you like? The goal is to have a similar artstyle like 'Zelda: Breath of the Wild' (IMAGE) It doesn't have to be too cartoon style and even could be a bit more 'realistic' than Zelda. Payment? I am working on this game near my fulltime job, so don't expect any until the release (or maybe Kickstarter financing). I am not hungry for money so we can probably negotiate something that works for us both when we are near the release. Language? It would be nice if you are capable of speaking English or German. About me: I am 23, working fulltime as a YouTuber since 2013 (2 channels with overall 1.1m subscribers+) and my passion is gaming. I studied programming and since the age of 12 my biggest dream was to make a game. So here I am making a game looking for someone who would like to join me till the end! If you are interested send me a private message or make a post with details about you and your experiences. Selfmade art from you included (Stone Age tools like axes, spears as an example would be nice).
  10. Yes, I have no intention of getting a refund or anything else that'd be hostile to them. I'm done with the game by now and don't care about the plot and if I did I'd watch it on YouTube since replaying on NG+ is tedious due to bad saving system and bad skip system, as I said there too. My attitude to early access, crowdfunding, etc. is also "if you want a game, buy it, don't crowdfund". I just wanted to share my thoughts on this because I was so badly flabbergasted on the contrast between the well ran and seemingly high profile campaign: tons of media presence (see video), mentions by important people (like the Square Enix president in a Japanese E3 interview mentioning that Square Enix Collective is working on it, "people behind Life is Strange" saying it's good, etc.), encouraging updates that said what they did, shown screenshots with controller support and other stuff, voice samples, parts of anime sequences, etc. I mention around 19 minutes in that I sent an email 4 days ago asking why some stuff is missing or half-done, how will updates be done, why was there a choice when the page said '&' and I got no reply at all. 10 euros is barely anything anyway and I exercised the usual "assume you are burning that money" attitude you should have for Kickstarter, I'm not even regretful, some (sadly few and far between) things in the game are nice, I just kept going "huh?" on the issues because they seem so simple. The experience and perspective I gained in witnessing such a contrasting campaign is more valuable anyway. It just seems like a few non-technical people making a game and kinda falling over their own feet when doing it..? And the game isn't technically advanced either and it lacks polish and usability. They also "delivered" the promised features, at least nominally: VA - yes, but it's a few lines and gasps for a total of 80 seconds. Anime cutscenes - yes, but it's maybe 3-5 minutes of anime is in the game total. Translation tool, controller, Mac version - they promised it'd come soon (controller support was in the game but was taken out because it's buggy.. despite them working on it for seemingly weeks..?), as I mentioned, and the only one I wanted personally was controller support. Instant switching of languages, choice between Steam or DRM-free instead of getting both - no idea, they didn't answer, seemingly no one cares? In a funny twist of fate I actually got a legal DRM free copy of the game and never agreed to any EULA, rules of service, etc., something money can't buy, since it's only sold on Steam with some 3rd party SE EULA applied. On Steam the game also has mostly positive reviews praising the plot, the writing, the impact your decisions have, etc. which also puzzles me, I feel like the odd one out here.
  11. This isn't that unusual with crowd funding platforms. A quick glance at my kickstarter page suggests that just under half of the projects I have backed have actually shipped a product to date, most of those shipped between 1-4 years late, and several of those have never achieved their design vision. I'm afraid that's sort of what crowd funding is - a way to monetarily support projects you are interested in. If you treat it as a way of buying things... you are far better off waiting to see if the product ships, and then buying it at retail.
  12. Hey, I found a very interesting blog post here: However, I didn't really got how to use his "TestConeVsSphere" test in 3D (last piece of code on his post). I have the frustumCorners of a 2D Tile cell in ViewSpace and my 3D Cone Origin and Direction, so where to place the "testSphere"? I thought about to also move the Cone into viewspace and put the sphere to the Center of the Cell with the radius of half-cellsize, however what about depth? A sphere does not have inf depth? I am missing anything? Any Ideas? Thx, Thomas
  13. Then I am really surprised by the fact that a double crashes and a integer doesn't. Because a double is more bites than a integer it would stand to reason for me that the unrolling of the larger double is what is causing the crash. If you ever find out what it is please share, I tried it on my own and it only slowed down; I did not get a crash. Using high numbers only causes the shader to fail and render pink.
  14. Time for a new way of developing games?

    I knew of GODOT, but I have heard mixed receptions. I did check it out, of course, and probably should again, t least for some ideas on code. I never heard of C4, but just googled it, and both it and a few others came up that look interesting. I never knew you could see the source of Unreal! What may still be lacking is a more rookie-friendly way into the code. As stated, I am an early "disciple" of NeHe code, and would really love something similar for bigger stuff. Whether it makes more sense to do it on something existing or something I make and therefore know is still hard for me to decide on. Suggestions are, as always, very welcome!
  15. All of the things mentioned in the video looks like the team making promises that at the time they didn't even know how to do and now with the game released they still don't know how to do these things. Like you said the delay is expected, it's the whole reason most developers don't even announce when they start a game. The rest is them failing to deliver a product that they claimed they would. Contact them, remind them what you payed for and ask if they will add it, if they say they can't or won't ask for a refund. I don't know the terms of the Kickstarter contract. Under a normal contract both parties must provide what they agreed or make a counter offer. If they fail to provide you with what they said they would, you could take legal action against them but all you would get is your money back. It's easier to ask them for the money back if your not happy with the game.
  16. Sky Domes

    So deferred shading is categorized under post-process (since you need to convert from NDC to view space or world space, depending on your shading space)? Although, I do not see material unpacking data for converting data from the GBuffer (assuming you do not use 32bit channels for your materials). And similar for sky domes, they are categorized under post-processing (since you need to convert back to world space which isn't handled by the camera)? If so, I understand the separation and I am thinking of using something similar for the camera (and move this upstream away from my passes). Originally, I thought you created FrameCB for custom (engine-independent) scripts as a kind of data API for the user.
  17. Inspirations

    In the begining we had an idea to make one button game. That was our only goal, (why?) I guess becouse it is unusual, and was ment to make us stand out a little bit from a big crowd of indiedevs. We were searching many games (just to check if this is possible to make something good with just one button). There was not much interesting ones (as you may guess), one button game.... that sounds ridiculous and oversymplified. Maybe one game that was interesting, it is this one: "One Button Bob" but my friend said it is to simple, and just flash trash, but anyway I liked it, and thought - hey "one button" concept is verry interesting, we have to dig deeper ;] So we did. Finally we found 2 games that looked promising those was: "Boxing Physics" "Bouncy Basketball" Both of them have preety much the same "left/right" woobly mechanic as Bob. So we have made prototype, during testing we decided to add jumping to this, and later on we had adopted "Flying Bug" - see more in "Blessed by Bug" entry in this blog. We are releasing Bouncy Bob 13 th of october 17 and we are pretty optymistic, becouse all testers love it, Dont forget to wishlist it (it will be quite low 4.99$ and during premiere even 10% less):
  18. Sky Domes

    I don't like the zero init as well for some time now. Not for perf reasons, but this way the compiler can't warn you against uninitialized vars and you can easily miss them. Justhard to get down to refactoring it The maincamera stuff can be confusing. The small camera constant buffer is responsible of rendering the scene for multiple cameras, while the post processes are using the main camera buffer. The Prev and inverse camera properties only matter for the post processes, the other passes, like reflection and shadow pass can't generate velocity buffers for instance for which the prev camera is required. I expect that this maybe has some bugs and oddities which were not found yet by me. I haven't a clue about tbe scale factor, you should experiment with it a bit and share the results
  19. Artworks for feedback (Cows VS Vikings)

    I like the left one.
  20. +1 on style of graphics.
  21. This can't be right, xDiff=0, yDiff=-200 gives a path -200 * sqrt(2) + 200 is about -200 * 0.4
  22. I would very much recommend you reconsider use of libraries, unless you want to write video, mouse, keyboard, and sound drivers. Also, I doubt you want to write a PNG image decoder library, or sound file decoder. Other than that, any programming language is fine, in general. I know for sure with Java and C++, I haven't done any Javascript, so can't say anything useful on that. For Java, people here recommend libgdx, other options are lwjgl, and slick2d. I haven't used any of these, so check out which one looks useful to you (and sufficiently 'scratch' ). For C++, there is SDL2, and sfml. You can also go 3D, with glfw3 and opengl, although that might be more complicated than it's worth. At windows there is the directx stuff. As I am not a Windows user or developer, I have no clue about that at all. As for a site, this forum will work.I don't know of any links to scrollers here, but a search or some browsing of the articles would not hurt.
  23. 3D I like to learn about BSP rendering

    Division by Z is necessery for perspective correct texture mapping or any other interpolation for a scanline of a polygon. But Z is constant at walls (horizontal scanline) and floors (vertical scanline), if you can't look up and down. Quake did the z divide with floating point instruction every 16 pixels and interpolated the results in between. On Pentium this divide was free this way because it did integer instructions while FPU was busy with the divide. DDA is just a way to get all intersections of a ray traveling throgh a grid quickly and in order. Notice that using this limits you to right angled walls. Doom had walls at any angle, which was the major improvement against Wolfenstein along textured floors / ceilings. It might be easier / worth to reinvent DDA yourself than reading about it, it's a really simple thing but with many usecases.
  24. Sky Domes

    I used the zero-initialization (e.g. VSOut Out = (VSOut)0;) initially as well, but I noticed some small performance gains without it. I noticed your globals.hlsli which contains both a g_xFrame_MainCamera_VP and g_xCamera_VP. Your skyVS uses the latter and a g_xFrame_MainCamera_PrevVP. I presume that g_xFrame_MainCamera_VP = g_xCamera_VP in most cases, but what if you have a flat mirror and some sky visible through the mirror? Won't the reflection camera conflict with g_xFrame_MainCamera_PrevVP? I started to refactor and merge lots of constant buffers together, but the camera still puzzles me. I currently have a large number of "passes" which are all tweaked with minimal constant buffers, but this becomes less maintainable in the future. I am also curious about g_xFrame_MainCamera_InvP (posted a recent topic about it)? Both support for perspective and orthographic cameras? Do you think this factor is fixed or scene/game dependent?
  25. Sky Domes

    Oh yes, I see. You could just scale the sphere in the vertex shader by multiplying the vertices' y coord by something less than 1 before projection. This way the same icosphere can be reused in multiple shaders. I'm not doing the scaling though.
  26. 3D I like to learn about BSP rendering

    Yes there is a division instruction, i thought it takes 18 instructions, very slow. Is division needed ?, then i normally pre calculate lookuptables. Only i,m not this far yet, i,m reading this site : it says i need DDA "Digital Differential Analysis" Now to find out what that is in C code.
  27. Sky Domes

    See the image some posts above this one. The sphere is non-uniformly scaled to an ellipsoid, which kind of stretches the sky above the camera, resulting in a flatter sky above the camera.
  1. Load more activity