Jump to content

WiiManic

Member
  • Posts

    1,001
  • Joined

  • Last visited

Awards

This user doesn't have any awards

Profile Information

  • Gender
    Male
  • Location
    UK.
  • Occupation
    PhD Student
  • Member title
    VR Fan Boy

System

  • CPU
    12600K
  • Motherboard
    ASRock Z690M-ITX/ax
  • RAM
    32GB Crucial 3200MHz
  • GPU
    Zotac RTX 2070 Super Twin Fan
  • Case
    Dan Case A4-H20
  • Storage
    1TB Saberent Rocket M.2 / 1TB Crucial M.2
  • PSU
    Corsair SFX 600 Platinum
  • Display(s)
    LG 27UD68
  • Cooling
    EK-AIO Basic 240
  • Keyboard
    Wireless Sofle with Zealios
  • Mouse
    ROCCAT Kone Pro Air
  • Sound
    DT 770 Pro 80 Ω -> FiiO E7
  • Operating System
    Win 11

Recent Profile Visitors

1,834 profile views
  1. I've found the Puget systems guide on it helpful when I hit some issues getting CUDA installed for it on a Linux machine, so you could try their Windows 10 guide: https://www.pugetsystems.com/labs/hpc/How-to-Install-TensorFlow-with-GPU-Support-on-Windows-10-Without-Installing-CUDA-UPDATED-1419/. Skip out the CUDA/Nvidia driver stuff and install `tensorflow` not `tensorflow-gpu` if you don't have an Nvidia GPU.
  2. I expect you'd struggle to get any funding from outside sources that aren't friends or family, just since you've (assumedly) not built anything before. Luckily, dev work is pretty easy on PCs, so you can get away with a normal machine for it. One piece of advice that I've seen be pretty important to first time game makers is to be realistic and start small. By that I mean its nice to try and build the entire massive game you've thought of that you want to play....but even a small indie game is years of work. Starting with a giant game is an easy way to burn out and get nowhere. I've seen so many people go "I've got this notebook with a million ideas for my game that is an MMO version of X combined with Y and bits of Z and its like this other game and ..." and they just never get anywhere since the scope is just monumentally big for a studio, nevermind someone who is starting for the first time. Taking your game idea, pulling out the most core part, the cool mechanic say, and just making that is a good first step. You don't want to make a bunch of art and level designs and this and that for a game that you start making and realise you need 8 years and 80 more people. You can expand the small feature as you go, or if you run out of steam/time you've at least got a cool tech demo that is useful to talk about at interviews and similar.
  3. If you aren't set on making something from scratch, contributing to open source stuff can be a pretty fun project. By that I mean either find an interesting project and help out, or look at the tools you use and see if you can contribute to one of them. Obviously you aren't going to be able to do much for something massive like the Linux kernel, but there are plenty of small or medium sized projects that are interesting and have some easy-ish stuff to work on. The advantage being that you can help out and update something that people are using, and you benefit from the bug fixes or features to that tool you use. Not sure where you are with life, but open source stuff is also the sort of thing that is interesting from employers / uni applications etc.
  4. Pseudocode is hardly a defined thing, its mainly just supposed to be a version of your code written in plain English. I would not include stuff like `IF __name__ == "__main__"` since its not exactly needed for pseudocode. I'd honestly go even simpler than you have: Prompt for file name, then add "txt" to end. Open the given file. If the file is readable Get its contents and print them. That said, pseudocode is more what you find useful than a defined specification. If I'm writing some pseudocode to lay out some code, I broadly go for the style I used above, or maybe a very loose python syntax where the more complicated things are simplified to English. So in that style, maybe I'd do something like: input("Input file name") + ".txt" open(givenFile) if openedFile == readable: print(openedFile.lines()) Broadly in the more "code" style pseudocode, I try to only use the very basics: input, print, while/for and if statements. The rest I'll do in English. Do some and just find what makes the most sense to you. I find it useful for complicated bits of code to stub out what I'm going to add in pseudocode as comments, so that I can go in under each line of pseudocode and add the real stuff. Doing that gets you better at finding the style you like.
  5. The most basic way would just be to check for the first missing element. That is, "Does demo_0 exist? No, okay I'll make it". Next press it looks, checks "demo_0" and see that it exists, so tries "demo_1" and so on. <!DOCTYPE html> <meta charset="utf-8" /> <html> <body> <button onclick="myFunction()">Gen</button> <script> function myFunction() { let id = 0 // Lets start from demo_0 // Try demo_0, demo_1 etc until we find a missing one. // Once we do, add a new <p> element with id demo_${id}. while (true) { let currentElem = document.getElementById(`demo_${id}`) // If the element was null, it didn't exist! // So lets make it, then add it to the page. // Finally, break so we leave this loop so we // only add 1 element on each click. if (currentElem == null) { let newDemo = document.createElement("p") newDemo.setAttribute("id", `demo_${id}`) document.body.appendChild(newDemo) break } // Otherwise, we didn't find it. // Lets increase the id and check again. id++ } } </script> </body> </html> That is, have a loop where we look for demo_0, demo_1, demo_2 ....etc until we find the first missing one. Then add that missing one and stop.
  6. I don't think you'd really hit any issues with using Unity, nor any other engine. One thing you should probably do is work out what the smallest cool thing you can make is. Having a giant grand design of a game you'd love to play is great....but its also not usually a good place to start since its so impossibly big that its hard to start. I.e. Minecraft, CS:GO, Space Engineers etc are all full time large scale games with tens to hundreds of people working on them, so you can imagine that replicating even a bit of what they have is very hard. Picking out one thing and working on that is a lot more realistic, and actually will help you get something out at the end rather than getting frustrated. I've seen many friends go into learning programming with "I want to make my dream game of this gigantic RPG system and its an MMO and its this and that and the other" and they can never get anywhere since every individual part is a whole game in of itself.
  7. Most (basically all) of my department is funded by STFC or similar studentships, which contain usually in the range of £800-1000 a year for training / equipment costs, then other money for travel, living costs etc. Most people spend that £1000 on their laptop in first year, but it could just as much be put towards travel or conferences. Its not necessarily UK wide, more UK-wide for people who get that studentship or similar. I know its very different in other departments, since getting money can be much harder. Some will only get their uni fees covered and not any living costs, some get nothing, and then some get basically everything. STEM is pretty lucky to get uni + living + equipment + travel and then some subjects get even more for living abroad etc if that is deemed useful.
  8. For my PhD and seemingly everyone in the Uni department we are just given a budget to spend how we see fit on hardware, so whatever we want in the price range. That is usually a macbook or a thinkpad (with Ubuntu), and then we are given a desktop from the Department which are pretty good too (i5-8600 or similar with 16GB of RAM, running CentOs or similar). When I was in work, we'd spend around £700 on a Lenovo or Dell machine and pair that with 2 24" monitors. The machines would have at least 16 GB of RAM and a 512 GB SSD (though we'd install them ourselves rather than getting at inflated prices from the manufacturer). So far its not been too bad! When I started at work, the machines were a bit slower, but we rotated all those out by the time I was leaving.
  9. Git has no concept of "live sync" since everything is done in commits. Ie, like save games. Save game would be a little useless if it saved every single second, just as having a commit for every 1 character change in code would be fairly useless. Instead the Git workflow is more like "Okay, I've done part 1 of that thing I want to do, I'll commit now". So you add a commit with some title like "Started implementation of feature 1 by adding X." and then push that up to your Git provider of choice (GitHub/GitLab/etc). Your teammates then see the progress of you adding small logical chunks of the feature, rather than every tiny change where you accidentally typed string as strign and so on. So you synchronise when you feel it is necessary with a commit then push, rather than all the time constantly. It can take a bit of getting used to, but it becomes very easy very quickly. Plus live sync would struggle or fail if you and someone else edited line 50 of the same file at the same time, whereas Git has plenty of built in ways of dealing with conflicts etc.
  10. You'll want to wrap the code in an If/else statement: import javax.swing.*; public class facultyTask { public static void main(String[] args) { String input; int number; long faculty = 1; input = JOptionPane.showInputDialog(null, "Type in a number n."); number = Long.parseLong(input); if (number > 0) { for(long l = 1; l <= number; l++) { faculty = faculty * l; } JOptionPane.showMessageDialog(null, "faculty of " + input + "! is: " + faculty); } else if(number <= 0) { JOptionPane.showMessageDialog(null, "Input is too small!"); } System.exit(0); } }
  11. I assume you mean factorial? Or maybe I've just never heard of "faculty" as a different word for it. Regardless, I think its because of the following bit: for(long l = 1; l <= number; l++) Since you are updating number, its just going to explode. You want to keep number and the result separate, so you are always comparing against the same thing rather than l <= number where number keeps changing. That is, as number goes up, the for loop keeps going. So number will hit 120 at some point, but the for loops is then comparing against 120, so it keeps going and going. Also, you don't want the while loop there at all, since its never going to exit, since number is always greater than 0. Perhaps you meant that to be an if, or for you to change the number in some fashion so it does exit after a few goes.
  12. Interesting to see around other research institutes! Love with all these advanced research institutes...and they have contamination control barrier of some shelves. I'm pretty sure that's about the same as they had when I was at some parts of CERN. Would be interesting to see around some of the other ones...FermiLab is in the US along with plenty of other smaller labs, and there is also so many over in Europe. Plus its just interesting for you guys! I get to hang out with some cool tech occasionally, but getting to see around some Physics experiments is especially exciting, usually due to their scale and how impressive it all is. That, and there is so much computing that goes into them all, as you've said. "Small" physics runs for these sorts of things can generate PBs in such tiny time frames. The prototype of the experiment I'm on was on the order of 2PB for a few months, and is expected to be closer to 30PB+ a year when running at full scale. The processing power behind that is incredible.
  13. Honestly, for stuff like that its just a bit pointless to change and in my opinion both worse for learning code and might make you look suspicious when you are not. If the code is really that simple, then almost everyone is going to have the same code. Like sure there are lots of ways to do basic things, but arguably doing them in a different way for the sake of it is worse for people learning to code, and makes it look like you were trying to distance your code because you've copied it. I've done 4 years worth of programming exercises and sure I bet some of my code looked the exact same as everyone elses, but the marker would be expecting that.
  14. You don't need quotes around any of it, since print() is fine printing numbers. And the final ) is needed, since the first one closes the call to MathUtils.average(). If they only had 1 ), the code wouldn't run. Like a few people have said, it was due to the brackets missing around (a + b) to ensure that the addition is done first.
  15. I mean, I think what you are asking for is basically impossible. You aren't going to find something that describes what every bit of code is doing, since that is a impossibly large task to do. You'd essentially need to write a program that can understand and explain any program at all...which is as hard as it sounds. Both Firefox + Chrome have the dev tools when you press "F12". Then if you go on the network tab, and select "JS" you'll see all the JS that is being downloaded. You can click them, and see the code. But you'd need to check them over regardless. But it will at least let you see what files are being loaded etc. If you are worried about being tracked, you'd be best suited using the common browser extensions. There is a list of the common ones over on https://www.privacytools.io/#browser. If you are looking more out of interest, just look into them online, I expect there is multiple explanations of how and why they work, and how to avoid it.
×