Jobbar ni med C/C++? Vad gör ni och vad eftersöks?
Jobbar med C på atmega328p och stm32 mikrokontrollers med RTOS.
Tror jag var den första som implementerade pekare i vår kod, men ogillade starkt hur de hade använt 8 bit-shift för att uppnå pekare++, men det funkade ju att köra utan pekare. Man bör ju ha koll på hur hexadecimal och binärt reflekterar tal i minnet, t.ex. att 0xff är en byte full av 1or mer än att man vet att 0x200 = 512, och hur stora tal du kan få plats med i en byte, 10-bit, att en byte är 8 bitar osv.
Något man bör ha koll på är t.ex. att pekare _kan_ vara "farligt" om man inte gör rätt.
RTOS har som en typ av scheduling time slicing för att köra flera uppgifter parallellt, man bör ha koll på när man ska och inte ska låsa, och inte låser tråden i onödan.
Som ny utvecklare så måste man vara flexibel eller vänta på rätt jobb, så beror helt på dig, vad du vill jobba med eller om du är öppen. Men du bör åtminstone kunna grunderna bra för C, om du vill hålla på med C++ bör du kunna objektorienterad programmering ganska bra.
Men det är också mycket runt som kan vara helt nytt eller olikt hur du gjort när du sitter ensam.
Kan du git, rebase, merge, fixa merge conflicts. De kan använda ett annat verktyg för att fixa reviews än pull requests. Vet du vad jenkins är, docker? Kan du skriva tester för din kod, vet du vad CI betyder osv. Make, Cmake.
Vi har även en kontroller som kör Linux med Qt, men den sidan har jag inte mycket koll på.
Om du jobbar med mikrokontrollers så bör man kunna lite kommunikationsstandarder också så som UART, SPI, I2C osv.
Du kommer nog få svar från andra som har helt olika upplevelser från vad jag har också.
Jobbar med C på atmega328p och stm32 mikrokontrollers med RTOS.
Tror jag var den första som implementerade pekare i vår kod, men ogillade starkt hur de hade använt 8 bit-shift för att uppnå pekare++, men det funkade ju att köra utan pekare. Man bör ju ha koll på hur hexadecimal och binärt reflekterar tal i minnet, t.ex. att 0xff är en byte full av 1or mer än att man vet att 0x200 = 512, och hur stora tal du kan få plats med i en byte, 10-bit, att en byte är 8 bitar osv.
Något man bör ha koll på är t.ex. att pekare _kan_ vara "farligt" om man inte gör rätt.
RTOS har som en typ av scheduling time slicing för att köra flera uppgifter parallellt, man bör ha koll på när man ska och inte ska låsa, och inte låser tråden i onödan.
Intressant !! Jag tycker jag kan hantera det binära talsystemet bra, inklusive bitwise operators. Men måste erkänna att jag aldrig tänkt på att använda bit-shift för att uppnå pekare++, hur ser det ens ut? Jag får nog öva lite på hexadecimala talsystemet då!
Men det är också mycket runt som kan vara helt nytt eller olikt hur du gjort när du sitter ensam.
Kan du git, rebase, merge, fixa merge conflicts. De kan använda ett annat verktyg för att fixa reviews än pull requests. Vet du vad jenkins är, docker? Kan du skriva tester för din kod, vet du vad CI betyder osv. Make, Cmake.
Vi har även en kontroller som kör Linux med Qt, men den sidan har jag inte mycket koll på.
Git kan jag, jenkins och docker har jag hört talas om men aldrig använt. Jag kollade upp CI, men hade du skrivit "continuous integration" så hade jag fattat. Jag har faktiskt spenderat onödigt mycket tid på att lära mig Make, CMake och Premake - så hoppas jag kommer få använda något av dem.
Om du jobbar med mikrokontrollers så bör man kunna lite kommunikationsstandarder också så som UART, SPI, I2C osv.
Jag har ingen aning om vad det är; de enda protocols jag kan har med networking att göra. Är det något du har erfarenhet av att koda, eller används färdiga bibliotek för det (networking)?
Intressant !! Jag tycker jag kan hantera det binära talsystemet bra, inklusive bitwise operators. Men måste erkänna att jag aldrig tänkt på att använda bit-shift för att uppnå pekare++, hur ser det ens ut? Jag får nog öva lite på hexadecimala talsystemet då!
Sammanfattat så kan man säga att vi ville spara variabler i olika storlekar i en byte array i permanent minne.
Koden de hade liknade:
uint8_t storage[1024] = {0xff};
void store(uint16_t address, uint64_t data, uint8_t size){
for(uint8_t i = 0; i < size; i++){
storage[address + i] = (uint8_t)data;
data >>= 8;
}
}
Det gör att vi endast sparar de lägsta 8 bitarna i ett tal, sen flyttar hela talet 8 bitar till höger vilket gör att de första bitarna nu är bitar 9-17.
Git kan jag, jenkins och docker har jag hört talas om men aldrig använt. Jag kollade upp CI, men hade du skrivit "continuous integration" så hade jag fattat. Jag har faktiskt spenderat onödigt mycket tid på att lära mig Make, CMake och Premake - så hoppas jag kommer få använda något av dem.
Ledsen för CI, men du kommer få förkortningar kastade på dig i arbetslivet också
Jag har ingen aning om vad det är; de enda protocols jag kan har med networking att göra. Är det något du har erfarenhet av att koda, eller används färdiga bibliotek för det (networking)?
Det kan handla om att koda lösningarna själv, ofta finns bibliotek, men man kanske behöver ha lite koll på slav adresser eller andra saker som är inblandat för att koda om datan man ska skicka eller ta emot. Eller skapa ett kompatibelt API.
Jag jobbar som spelutvecklare och skriver mest C++.
Vad är det man bör vara duktigt på; ex templates, pekare, binära/hexadecimala talsystemet?
Jag skulle inte säga att man måste vara grym på det, men du behöver ha grundläggande kunskaper. Dvs du behöver förstå vad "std::vector<Foo>" faktiskt är men att kunna använda tex "std::enable_if" fullt ut är absolut inget krav. Hur bekväm med pekare du behöver vara beror på område men du behöver iaf förstå vad det är. Om du inte är helt bekväm med trippelpekare är det i 99% av fallen lugnt ändå Binära/hexadecimala talsystemet är väl egentligen inte något krav men jag skulle vara rätt skeptisk till att anställa en programmerare som inte vet det eftersom det är så pass grundläggande kunskap.
Hur ofta förekommer trådning (threads) i er kod; behöva man vara grym på det?
Eftersom både PS5 och Xbox SX har 8 HT-cores så är det så många vi använder Sen är det verkligen inte alla som behöver sätta upp hur allt ska trådas men du måste absolut har grundläggande kunskap om synkroniseringsprimitiver, dead-locks, atomära operation osv.
Vilken version C++ använder ni?
Lite flytande men minst C++14 och oftast inte den senaste.
Vad ska man öva på, och vad kan vara vettigt att nischa sig på idag?
Det som branchen du vill in i använder Vilket språk man använder för spel är rätt ointressant idag. Vi anställer folk som bara skrivit C# förut och dom lär sig oftast C++ rätt snabbt. Samma sak åt andra hållet.
Vilka bibliotek tycker ni är viktiga att lära sig in och ut; ex Qt, chrono, STL?
stl är väl det som är mest troligt att du kommer stöta på, men inte ens det är någon garanti. Spelbranchen har en förkärlek för egna bibliotek och om du skriver embedded så har det inte funnits minne för det innan så jag skulle tro att det är rätt ovanligt. Jag skulle säga att det viktigaste är att du hittar något du tycker är tillräckligt roligt för att du vilja fortsätta.
Jag jobbar som spelutvecklare och skriver mest C++.
Jag skulle inte säga att man måste vara grym på det, men du behöver ha grundläggande kunskaper. Dvs du behöver förstå vad "std::vector<Foo>" faktiskt är men att kunna använda tex "std::enable_if" fullt ut är absolut inget krav. Hur bekväm med pekare du behöver vara beror på område men du behöver iaf förstå vad det är. Om du inte är helt bekväm med trippelpekare är det i 99% av fallen lugnt ändå Binära/hexadecimala talsystemet är väl egentligen inte något krav men jag skulle vara rätt skeptisk till att anställa en programmerare som inte vet det eftersom det är så pass grundläggande kunskap.
Eftersom både PS5 och Xbox SX har 8 HT-cores så är det så många vi använder Sen är det verkligen inte alla som behöver sätta upp hur allt ska trådas men du måste absolut har grundläggande kunskap om synkroniseringsprimitiver, dead-locks, atomära operation osv.
Lite flytande men minst C++14 och oftast inte den senaste.
Det som branchen du vill in i använder Vilket språk man använder för spel är rätt ointressant idag. Vi anställer folk som bara skrivit C# förut och dom lär sig oftast C++ rätt snabbt. Samma sak åt andra hållet.
stl är väl det som är mest troligt att du kommer stöta på, men inte ens det är någon garanti. Spelbranchen har en förkärlek för egna bibliotek och om du skriver embedded så har det inte funnits minne för det innan så jag skulle tro att det är rätt ovanligt. Jag skulle säga att det viktigaste är att du hittar något du tycker är tillräckligt roligt för att du vilja fortsätta.
Coolt!
Hur är den branschen i övrigt? Svårt att få jobb, bra lön, mycket crunch?
Du sa att spelbranchen har en förkärlek för egna bibliotek, men hur är det med själva spelmotorn? Är det något ni skriver själva eller använder ni typ Unreal, Unity...Godot?
Även om jag kan det binära/hexadecimala talsystemet, så har jag egentligen aldrig använt det hexadecimala talsystemet i kod per se. Det verkar som att jag får färska upp minnet där och använda det mer när jag kodar (?)
Vad jobbar du med som spelutvecklare? Gameplay?
Jag har ingen aning om vad det är; de enda protocols jag kan har med networking att göra. Är det något du har erfarenhet av att koda, eller används färdiga bibliotek för det (networking)?
SPI/SMBus och I2C är protokoll för seriekommunikation mellan delenheter (mestadels i alla fall), inuti förhållandevis små/enkla/billiga system. UART är seriekommunikation och används mest ut/in från en svagare enhet till en PC (enligt min amatörmässiga erfarenhet). De protokollen är vanliga i elektronikprylar, en vanlig konsumentrouter kan använda alla tre internt/externt. I lite större system, typ bilar, är CAN vanligt, både för intern kommunikation och kommunikation med omgivningen. Inget av de ovanstående används på ett mer normalt datornätverk (ethernet/IP/TCP).
Coolt!
Hur är den branschen i övrigt? Svårt att få jobb, bra lön, mycket crunch?
Jag gillar den även om den har blivit lite tråkigare på senare år eftersom den tekniska utvecklingen går så mycket långsammare nu. Men det är kul med en arbetsplats där i princip alla är spelnördar och att få jobba med så olika personer. Att lösa svåra tekniska problem samtidigt som man samarbetar tätt mer kreativa personer är en utmaning ibland men roligt Idag skriker nästan alla företag efter folk så det är inte omöjligt så länge du har intresse och har något att visa upp. Eller så kan du gå en KY (typ futuregames eller game assembly). Lön är rätt varierande men ingångslönen för en junior utvecklare är helt klart lägre än andra brancher. Som mer senior är den mer konkurrenskraftig. Sen beror det på vad man prioriterar. Jag tar hellre ett jobb jag verkligen ser fram emot att gå till på söndagkvällen över några extra tusenlappar i månaden. Det är inte jättemycket crunch idag på dom lite större företagen, iaf dom seriösare. Sen kör det ju alltid ihop sig på något sätt innan release så lite övertid har nog alla
Du sa att spelbranchen har en förkärlek för egna bibliotek, men hur är det med själva spelmotorn? Är det något ni skriver själva eller använder ni typ Unreal, Unity...Godot?
Beror på företag men det går mer och mer mot unreal eller unity eftersom det är svårt att motivera kostnaden för en in-house-motor. Här kan du förresten läsa om motiveringen till EA:s egna STL: https://github.com/electronicarts/EASTL/blob/master/doc/FAQ.m...
Även om jag kan det binära/hexadecimala talsystemet, så har jag egentligen aldrig använt det hexadecimala talsystemet i kod per se. Det verkar som att jag får färska upp minnet där och använda det mer när jag kodar (?)
Det är mer att det är bra att inte bli förvirrad om du ser kod i stil med "(x >> 8) & 0xff"
Vad jobbar du med som spelutvecklare? Gameplay?
Jag jobbar med AI, dvs typ gameplay.
Jag gillar den även om den har blivit lite tråkigare på senare år eftersom den tekniska utvecklingen går så mycket långsammare nu. Men det är kul med en arbetsplats där i princip alla är spelnördar och att få jobba med så olika personer. Att lösa svåra tekniska problem samtidigt som man samarbetar tätt mer kreativa personer är en utmaning ibland men roligt Idag skriker nästan alla företag efter folk så det är inte omöjligt så länge du har intresse och har något att visa upp. Eller så kan du gå en KY (typ futuregames eller game assembly). Lön är rätt varierande men ingångslönen för en junior utvecklare är helt klart lägre än andra brancher. Som mer senior är den mer konkurrenskraftig. Sen beror det på vad man prioriterar. Jag tar hellre ett jobb jag verkligen ser fram emot att gå till på söndagkvällen över några extra tusenlappar i månaden. Det är inte jättemycket crunch idag på dom lite större företagen, iaf dom seriösare. Sen kör det ju alltid ihop sig på något sätt innan release så lite övertid har nog alla
Beror på företag men det går mer och mer mot unreal eller unity eftersom det är svårt att motivera kostnaden för en in-house-motor. Här kan du förresten läsa om motiveringen till EA:s egna STL: https://github.com/electronicarts/EASTL/blob/master/doc/FAQ.m...
Det är mer att det är bra att inte bli förvirrad om du ser kod i stil med "(x >> 8) & 0xff"
Jag jobbar med AI, dvs typ gameplay.
Kul att höra! Jag har varit inne på att söka till branschen, men det kändes osäkert av någon anledning. Kör du på distans eller bor du i någon av de större städerna, för det verkar ju vara där (Gbg, Malmö, Stkhlm) företagen/jobben finns?
AI verkar intressant och har en givande framtid. Jag hade dock kanske fokuserat på procedural content generation, men det kanske tillhör AI?
Har du några tips på hur man tar sig in i spelbranschen? Behöver jag släppa ett spel på Steam? Göra en egen spelmotor? Måste jag kunna Unreal/Unity bra innan jag söker jobb? Vad är det som eftersöks? Har man ens en chans att få in en fot som Junior?
- Idag Spara till ditt nästa RTX-kort – med en RTX-spargris 21
- 20 / 9 Nvidia kan sluta tillverka RTX 4090 i oktober 30
- 20 / 9 Samsung S24 Ultra slår Iphone 16 Pro Max i batteritest 48
- 20 / 9 Guide: Cybenetics vs 80 Plus – lär känna PSU-certifieringarna 37
- 20 / 9 Rykte: Playstation 6 kan släppas i två versioner 46
- Igår Microsoft ska återstarta olycksdrabbat kärnkraftverk 47
- Igår Krönika: Reklam kommer döda Youtube som kunskapskälla 48
- Igår Kraftiga prishöjningar väntar Youtube Premium 225
- Igår Helgsnack: Hur prioriterar du komponentköp? 40
- 20 / 9 Vinnarna i TCL-tävlingen korade – olja, rymd och fjäll på prispallen! 8
- Så mycket kostar en dator med PS5 Pro-prestanda288
- Spara till ditt nästa RTX-kort – med en RTX-spargris21
- Asus VivoBook från Elgiganten, nyskick eller demoex? (utbruten diskussion från dagens fynd)63
- M-ATX-Bygge för utveckling, AI och visst spelande, rött vs blått0
- YouTube höjer priset225
- Säkert att köpa ifrån? Hur tänka?0
- Asus M5A97 - vad kan jag ha för wifi kort?4
- Köpråd GPU 1080p, budget ~4k36
- Krönika: Reklam kommer döda Youtube som kunskapskälla48
- Home Assistant-tråden663
- Säljes Spelkod - Välj 2 spel (Avatar, Starfield, Lies of P, CoH 3)
- Säljes Vattenkylning tillbehör o massor av fläktar!!
- Säljes Skärmar, möss, skrivbord/stol, x670e
- Säljes Flyttstäd, snabb affär, diverse delar, 8700k, Kraken z53, NH-D15, mm
- Säljes Cooler Master Quickfire TK
- Säljes Speldator | 3070 | 3900X | 32GB | 1TB
- Köpes SSD 1-2tb 2.5"
- Säljes Gamingdator AMD ryzen 7 5800x3d, radeon 6800xt, Lian li o11 mini
- Säljes RTX 3090
- Säljes Intel 6700k / ASUS Z170-E / 16 GB RAM / be quiet! Pure Rock
- Saftiga systemkrav för Flight Simulator 202415
- Spara till ditt nästa RTX-kort – med en RTX-spargris21
- Stor förändring på gång i DirectX13
- Microsoft ska återstarta olycksdrabbat kärnkraftverk47
- Krönika: Reklam kommer döda Youtube som kunskapskälla48
- Kraftiga prishöjningar väntar Youtube Premium225
- Helgsnack: Hur prioriterar du komponentköp?40
- Microsoft släpper ”Windows‑appen”22
- Nvidia kan sluta tillverka RTX 4090 i oktober30
- Samsung S24 Ultra slår Iphone 16 Pro Max i batteritest48
Externa nyheter
Spelnyheter från FZ
- Rykte: Det nedlagda Concord har kostat Sony 400 miljoner dollar idag
- Skepp Ohoj! Like a Dragon: Pirate Yakuza in Hawaii har avtäckts idag
- Netflix smyger ut en teaser för Splinter Cell: Deathwatch idag
- Xbox 13 år gamla ambassadörprogram stängs ned i oktober igår
- Kingdom Hearts 4 kommer ge oss ett avslut på serien igår