- 41
- 67 086
Chris_PHP
United Kingdom
Приєднався 28 гру 2020
I'm a computer scientist focusing on procedural generation and photorealistic rendering. This channel focuses on programming-related tutorials for implementing specific algorithms or features into your software or game!
Is a Computer Science Degree Worth It?
University is getting more expensive and it looks like no one is hiring, so is a Computer Science Degree worth it? I will go over my experience and opinion on the current situation to help you decide whether it's worth getting a degree.
New student loan for UK students:
www.moneysavingexpert.com/students/student-loans-england-plan-5/
New student loan for UK students:
www.moneysavingexpert.com/students/student-loans-england-plan-5/
Переглядів: 1 412
Відео
How I learn and implement new features into my games.
Переглядів 207Місяць тому
Adding new features to a game or piece of software can be difficult and I thought I'd go over how I do this with an example using sort, sweep and prune for collision detection. The Sort, sweep and prune code: github.com/ChrisPHP/odin-sweep-prune Original video about component based learning: github.com/ChrisPHP/odin-sweep-prune
a post-mortem of my Stardew Valley clone
Переглядів 409Місяць тому
I look back at a game project I was working on to learn however i had not planned it's scope properly and was just creating a game with no clear goal. Still there was a lot to learn and features that I can continue to use in other projects and I don't want to entirely abandon the idea and may return in the future when i have a much clear idea.
Learn programming by splitting it into components!
Переглядів 846Місяць тому
Getting stuck in tutorial hell or reaching a dead end in your project? A good approach is to plan ahead by learning features as components you learn each component as it's own small piece of software. This can allow you to gauge how difficult it will be to implement, create a more abstract version and create a reusable piece of code.
My experience using linux full time for 5 years.
Переглядів 3,5 тис.2 місяці тому
I've been using Linux for over 5 years now and I thought I'd tell my experience with it. What was good and what was bad about it. Overall it has been a good experience and i recommend you try it out especially if you are a software developer!
How to do pixel perfect 2D tilemap collision (Raylib)
Переглядів 6862 місяці тому
Here's the code used in the video: github.com/ChrisPHP/odin-tilemap-collision Bibliography: how to check collision with 2d rectangles: developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection Detailed tutorial on 2d tilemap collision jonathanwhiting.com/tutorial/collision/
Don't just make games but make tools as well!
Переглядів 982 місяці тому
Thumbnail made using my free tool called Pixel Texture Forge: github.com/ChrisPHP/PixelTextureForge Bibliography: Polyhaven talk: ua-cam.com/video/P2E3mu44mUI/v-deo.html&ab_channel=Blender Indie game clinic video: ua-cam.com/video/k46lePgzJ1E/v-deo.html&ab_channel=IndieGameClinic LPC terrarins from opengameart: opengameart.org/content/lpc-terrains
I made a free tool to create seamless pixel textures!
Переглядів 5814 місяці тому
PixelTextureForge Tool available here: github.com/ChrisPHP/PixelTextureForge This software lets you create pixel art textures for your video game. It is free under the MIT license. images used are from here: opengameart.org/content/50-free-textures-5-with-normalmaps
The Three Points of Game Development
Переглядів 2005 місяців тому
Video game development can be broken down into three main points, Graphics, Features and Optimization. A developer cannot have all three without making sacrifices in other areas. Bibliography: Mortal kombat 1 switch comparison image: www.vg247.com/mortal-kombat-1-switch-port-bad Ocarina of time image origin: www.gq-magazine.co.uk/article/ocarina-of-time-speedrun Fzero-x image: www.theverge.com/...
Can video games be too intuitive?
Переглядів 9365 місяців тому
As our understanding of human computer interaction improves and the video game audience grows. Are some games trying to be too easy to play? Thumbnail image from GameRant: gamerant.com/resident-evil-yellow-ladder-controversy-separate-ways-explained/ Bibliography: God of War gdc talk: ua-cam.com/video/eSB29qx6sWw/v-deo.htmlsi=rugDPqWgLUNUhZcT Forbes articles on making Sekiro and dark souls 3 eas...
Recreating Stardew Valley with Odin and Raylib
Переглядів 4426 місяців тому
Recreating Stardew Valley with Odin and Raylib
Should you incorporate procedural generation in your game?
Переглядів 5496 місяців тому
Procedural generation is a powerful tool for creating endless and unique content but it has it's own issues scope creep, complexity and even repetitive. Bibliography: Algorithmic beauty of plants: algorithmicbotany.org/papers/abop/abop.pdf Necesse steam page: store.steampowered.com/app/1169040/Necesse/ Masters code on procedural strawberry plants: github.com/ChrisPHP/L-Strawb-Py Procedural race...
Are these AI pins redundant?
Переглядів 1546 місяців тому
Both humane ai and rabbit r1 products recently launched and haven't been reviewed well with issues of being slow, unreliable and expensive. My video on running an LLM on an old server: ua-cam.com/video/1RnKZ6LGwOI/v-deo.html&ab_channel=Chris_PHP Bibliography: rabbit r1 founder tweet about mkbhd review: x.com/jessechenglyu/status/1785105150769811471 meta llama 3 vision model: ollama.com/blog/vis...
How to create and render a seamless tile set for your game!
Переглядів 8597 місяців тому
Using Wang tiles and marching squares you can easily create a seamless world without needing to draw many combinations. LPC terrains: opengameart.org/content/lpc-terrains Wiki on Wang Tiles: en.wikipedia.org/wiki/Wang_tile Bitmask guide: code.tutsplus.com/how-to-use-tile-bitmasking-to-auto-tile-your-level-layouts cms-25673t Marching squares: nils-olovsson.se/articles/marching_squares/
Convert real images into pixel textures!
Переглядів 2947 місяців тому
Creating pixel seamless textures with real images is an effective and useful way of making compelling textures quickly. Bibliography: imagemagick: imagemagick.org/ Pixelize script: www.fmwconcepts.com/imagemagick/pixelize/index.php img2texture: github.com/rtmigo/img2texture?tab=readme-ov-file GIMP: www.gimp.org/ Polyhaven for the textures: polyhaven.com/ Blender: www.blender.org/
Affinity acquired by canva, a good or bad thing?
Переглядів 968 місяців тому
Affinity acquired by canva, a good or bad thing?
Why are game file sizes getting so big?
Переглядів 1,8 тис.8 місяців тому
Why are game file sizes getting so big?
Why is Raylib becoming so popular?
Переглядів 26 тис.8 місяців тому
Why is Raylib becoming so popular?
Why some emulators get sued and others don't
Переглядів 9168 місяців тому
Why some emulators get sued and others don't
How to create procedural racetrack for your game!
Переглядів 5998 місяців тому
How to create procedural racetrack for your game!
How you can render your sprites like in Stardew Valley!
Переглядів 1,4 тис.9 місяців тому
How you can render your sprites like in Stardew Valley!
Is Python good for game development?
Переглядів 7109 місяців тому
Is Python good for game development?
Automatically remove silence parts from a video for free!
Переглядів 2969 місяців тому
Automatically remove silence parts from a video for free!
How to contribute to open source projects!
Переглядів 1,8 тис.9 місяців тому
How to contribute to open source projects!
Is Palworld using AI and plagiarism?
Переглядів 48210 місяців тому
Is Palworld using AI and plagiarism?
The rise of open source software!
Переглядів 2,1 тис.10 місяців тому
The rise of open source software!
Is the Dead Internet Theory real?
Переглядів 1,1 тис.10 місяців тому
Is the Dead Internet Theory real?
The Ethics of AI: How to use AI ethically and safely
Переглядів 6510 місяців тому
The Ethics of AI: How to use AI ethically and safely
Can you run an AI LLM on an old server?
Переглядів 4,2 тис.11 місяців тому
Can you run an AI LLM on an old server?
GODOTeater revamping the textures | Devlog
Переглядів 41Рік тому
GODOTeater revamping the textures | Devlog
had olama working great last night this morning i realized i was running off the net or something because it was gone this morning i spent 5 hrs planning my homenet future upgades to totaly deck out my setup and its gone all that typing and it gone
Yes it is
Yeah coming from 3 days of trying to set up SFML and their obnoxous forums and staff
If it took you 3 days to set up SFML you’re more than likely not ready to create a game with either of the frameworks bud
@Luno2137 hey pal, when the guide says to include everything but some obscure advice from someone nobody notices actually solves it then ask yourself why is nobody explainig it? See at this point if you had anything to add to the topic you would rip through linking, preprocessor and versions but nah. You dont know it either yet you don't ask about it. All you have is the 3 days information I gave you so you take that and say uhhh my guy uhh bud uhh guy you not good. Jeez dude go ahead explain C++ linking in VS GO AHEAD DO IT RIGHT NOW HIC RHODOS HIC SALTA. RIGHT FU NOW
For reasons to use a library like RayLib over Godot or unity I would also add that the skills are more transferable. Let’s be honest most us won’t end up as commercial game devs but learning C++ translates very well in most programming jobs.
I was just looking at a Supermicro H11DSI-NT REV2.0 mobo + 2 * AMD 7B12 3.3GHz 64C/128T 240W CPU + 16*32GB DDR4 (512 GB) 3200mhz RAM for about 140 $ on aliexpress, this is a dual cpu for a total of 256 threads! and I was wondering how good would it be running llama 3.1 70b, and if, if it will even try to run the llama 405b. I kinda need that machine because I train xgboost models on cpu, but I can't pull the trigger, it seams too good to be true. Also, better try the llamafile versions of the llama models. Llamafile is a Mozilla project that modify models to run way faster on cpu.
It's a good question and hard to gauge whether it would be fast enough especially for large models to be running on ram and CPU. the electricity consumption might also be quite expensive depending on where you live. GPUs will always outperform a CPU so if it has plenty of pcie slots you could also install GPUs on it as well. If it doesn't work as intended you can use it for other stuff like file storage, AI data training and other server stuff.
@@chris_php Thank you for your answer. I wanted to buy it, but only if there is any chance that it will run the llama 405b, even if a bit slow like 3 to 5 tokens per second would do it for me. One other interesting thing that you might find worth to share is this new android app called LM Playground. It's an app that can run local models on Android devices, and I'm running the llama 3.1 8b on my galaxy note 10 at good speeds, and the Gemma 2 9b at very low speeds, and heats up the phone quite a bit, but it runs.
Interesting I might have to check out the app and see what it is like.
I like your pragmatic approach
This is exactly what I need thank you so much
It could be useful for someone if you'd be able to show an example. Implement simple feature as a component and discuss the advantages on something concrete.
This is a good idea I will definitely do a video of this creating a component and then implement it into a larger project.
support for windows.h?
There is a workaround to use window.h with raylib. Raylib uses some of the same name conventions as windows.h.
@@chris_php Yea ,Can you show me the workaround?
I believe you have to use cmake to create the workaround. But I don't use Linux so I'm not entirely sure.
Really love the lpc art. Really surprised that it is hard to find videos of games made with it
Started distro hopping 2 months ago, 1 month on Linux Mint now. I also started with my laptop and later moved on to my PC. Deleted W10 on my other drive and left EndeavourOS on my laptop because it works best with that. My old backup PC runs on Mint too. No looking back anymore, but I can't advise arch based distros to people who just want their computer to work or just replace windows. Mint causes no problem with Nvidia and if you got AMD, Fedora is fine too.
So I have been playing with FydeOs (ChromeOs based on Chromium) on my PC with the View of installing it on my old laptop. Then it dawned on me that I could create my own lightweight operating system with Linux. So, I downloaded a minimal Linux distribution, installed KDE Plasma (not the smallest, but most appealing) and installed a ChromeOs dark theme with floating panel. Like ChromeOs all of the apps are web apps, like Overleaf for typesetting, Office360 and Google Docs for office productivity and email, and a bunch of other apps like photopea, Sketchpad or jsPaint for graphics, Netflix for TV, Radio Garden for music, Internet Library etc, all accessible through Firefox with the same theme. It looks great, is lightening fast and uses minimal drive space, considering that the laptop only has a soldered 32GB ssd. You can't easily do that with Windows!
The freedom to design your Linux distro to anything you like is great. Makes it more personal and unique to your specific needs.
@@chris_php Totally agree! Having said that, I think 20% of my computing time is for productivity, the rest is me just tinkering. I would get very bored very quickly with any operating system that I couldn't personalise.
I've tried that. Couldn't figure out how to properly setup my NVIDIA GPU after 2 weeks, a lot of research. When back to Windows, it took me 5 hours to get everything running flawlessly 😢
That's unfortunate, some distributions like Ubuntu and arch make it very easy to install the Nvidia drivers with a simple command to install them.
@@chris_php including cuda support for containers?
Installing cuda can be difficult especially if you are after a specific version and enabling cuda in a docker container can also be challenging.
@@chris_php I noticed. I'm familiar with Debian, but not a heavy user (for Linux standards). Containers with cuda were also working on my new Windows setup in a few hours.
The point that made me switch from Windows to Linux is the stability, the speed and the fact that after starting the PC, it just works. With Windows, it is never guaranteed to be able to work directly. I am the manager of a small business and I changed my habits to work with Ubuntu every day on PCs. 6 months of testing and full transition in September 2023. I save precious time because it just works. I also use Linux to play my games. Apart from COD or BF2042, 100% of the other games I play work with Steam or Lutris (some better than on Windows).
Excellent! Also not having to pay for licensing for windows will save money especially with every new windows release unlike with Linux it can just be as simple as the command line to update to the latest version.
Great videos but I'd make them shorter
Thanks I will try to make future videos more concise.
Congratulations on making the move to Linux! I've been on the Linux operating system since 2003 / '04! And I can honestly say?...it was the BEST MOVE I EVER MADE!....here;s hoping you never "jump ship" like so many other conte4nt creators do......the ones who do it JUST to make a video and gain clicks and money. ENjoy!!
I doubt I will ever jump ship the experience just keeps getting better on Linux and I enjoy contributing to open source projects.
What was keeping me on windows was World of Warcraft. Even though it is very playable on Linux, it's not great when you noticeably get frequent fps dips when doing high end raiding. I quit wow, so I quit windows.
Nice! Glad you made the full switch.
Thanks for sharing your views.
Started with Linux way back in the days of Mandrake,Red Hat and SuSe Linux,moved to Linux as my only system back in early days of Windows 10,never looked back either.
Problem never was Linux itself, it was always the lacking of our main softwares on it.
This was my early experience with Linux because it just didn't have a lot of main software but now it is more common to see a Linux version or a working wine or proton version.
linux is good because it doesn't force feed you spyware and advertizments
Linux is awesome
I was looking this up 5 minutes after you uploaded this thanks this saved my life
Aha no problem glad I could help!
How about support for websocket or netsocket
If you do more raylib/c++ videos I might join(pay money)
Thanks! I mostly tutorial related videos in python using raylib and explain it as clearly as possible so it can be implemented in any language. I have been using Odin recently which is a C like language.
Awesome Work Chris! Keep Going dude <3
Thanks! I enjoy working on this tool and hope it will be useful for people
You are a bot.
True
Draw a stick figure
Хорошо, я сделаю это. Распечатать ((((( /)!!!_- ())) Я нарисовал стикмена
@@GüßMadisï ok ¯\_(ツ)_/¯
Quite helpful, thanks :) It would be interesting to also add variable line width, so you can have wide and narrow parts of the track.
Good f**king question!
If there are graphics card that handles the graphics, then we need to invent separate pieces of hardware such as feature cards to handle features, and optimization cards to handle optimizaton. ... I'm joking of course, but still a pretty neat video!
Thanks! They used to have cards dedicated to calculating physics before GPUs did it all.
People who have money, are making games, not actual game companies
Good ideas get made by people who have no clue, because of investors
These games still need to be pitched by a lead and small indie companies or private companies will determine the type of games they make based on their budget.
The video topic is interesting but because of your diction or maybe microphone it is hard to follow what you are saying.
I've been starting new games on "Hard/Hardest" because I noticed that "Normal" really just meant "streamlined" and it helped me get past that "games are boring now" feeling - a minor fix but a surprisingly easy one
Dark souls having "the simplest UI so you can't really get confused" is an absolutely wild statement. I remember when DS1 first came out and people needed video walkthroughs for how to equip a shield and for what the levelable stats meant.
Well this is the point of the video on how some games are naturally less intuitive. But what I mean by simple is that it's nothing fancy that some games like to do. They further improved the UI in the later games.
simple UI does not prevent confusion. confusion comes from a lack of understanding, a simple UI often communicates less to the player which could make it harder to understand things and thus cause more confusion.
HP ML350p with 256GB, 1200W dual power supplies, 2 dedicated 16 lane, one 16-8 lane for the NVLinked.. and the video cards are up to you as to speed and power consumption,, But the A5000s should do for the linked or A6000(s) in the 16 dedicated, lane 32 bus.. three vid cards will leave you absent for PCIe accelerator cards and high bandwidth connections.. like to your mass storage.. Oh, expect your internet provider to complain if your LLM has access to the Web... you may have to upgrade to a business plan. These programs are hard on SSDs, choose accordingly or you consumer NVME will be written to death in months, so have a big backup platter (HD) as least and backup often. Petabyte write rated drives.
very mature takes! You are different on the hate bandwagon online now
Thanks! I try to get as much information and research as possible to get a more factual conclusion
😊!
Old PC with 128-512gb ddr3 RAM + a lot pci-e slots + some cheap Nvidia P can lift heavy workload without issue. Also in a tight 1000€ budget.
Yeah can do some good work with a Setup like that decent for also training your own data for your own models.
Raylib will probably surpass pygame in popularity.
I loved it until I wanted to attempt to develop a basic 3d game
Yeah when it comes to 3D you will have to start using opengl in order to have the scene lit and such
raylib is simple, fast and very easy to implement, litterally just one of the best graphic libraries, also works wonderfully in C so yea
Raylib is nice but for more serious projects I either use OpenGL directly or rarely SFML
Nice. I'm starting my learning journey with OpenGL, C/C++ and more low level gamedev. What libraries do you generally use for getting the opengl functions and creating windows/context? I've seen people recommending a GLFW + GLAD setup.
@iknowwhoyoupretendiam That's great! I use GLFW with GLEW now, used to use GLAD but I don't really think it matters much. GLEW is just always the same whereas GLAD needs to be customized for each usecase. I made a basic demo with only X11 through GLX, was fun but I don't recommend it for serious usecases
raylib is great introduction if you want to get into openGL in my opinion it lets you more focus on the game itself without drowning you in lower level stuff so that once you get to opengl you can better focus on the inner details and behind the scenes work
Currently learning networking programming using raylib, and Rust™
yeah
I've been messing with raylib for the past week and was excited when I realized how easy it was to load and render a 3d model. But as soon as I tried to add lighting I hit a brick wall and couldn't do it. The basic lighting example program works but when I add my own model it won't light it. So I dug into the code and it appears no less complicated than doing it straight in opengl. Perhaps even moreso because raylib is automatically assigning uniforms and it's a huge pain in the ass to figure out what the hell is going on or what is going wrong.
So what's the Conclusion? Don't use Raylib?
@@PixelThorn Well I didn't find it usable for doing 3d stuff for the reasons above. It has a lot of really good things about it though. It comes with an editor that is simple and convenient, and a lot of example programs, including custom shaders that have good educational value even if you don't plan on using them directly. It also has a lot of features that are useful, and the overall interface is much more user-friendly than using SDL for example. Basically it has a lot of boilerplate stuff pre-packaged that can save you the burden of doing yourself. However, in order to customize things, if you aren't already familiar with how those things are done, you will have to take the time to figure out both how they work and how Raylib is implementing them. In my own case I decided to just learn OpenGL and figure out how to load models and apply lighting from scratch. Which I've been able to do finally, but has been a lot of unpleasant work.
I've been playing with raylib for pure and simple 2D gaming and it's a blessing. It simply does not get in the way, takes care of the annoying boilerplate code you'd need witrh other solutions, let you focus on the game itself. But maybe for 3D games it's not the right answer, and something like Godot or Unity would work better.
Cos tsoading using it lol?
cos he's the only one you know whose using it lol?
exactly lmao
For me that is 100% true. ;-)
I don't even know who that is 😂
@@CitizenCoder check it out, quality over everything else
So its like a Util? well at that size its a framework i guess...
What I'd add to the library vs GUI engine is it really matters if you are working on the game solo, or if you need to collaborate with non-programmer artists. If you are collaborating with artists and level designers, the GUI is more for them than for you. Level designers need a "Halo Forge Mode," if you will.
Raylib is also good for statistical and simulation visualization when there is a lot of particles and nodes