Rami Morrar's Dev Room
Officially Retiring This Blog
Random Post
How long does it actually take to get your act together?
We all have goals in life. Whether it be out of necessity, passion, inspiration, etc. But what makes the us complete these goals besides the first motivator? We usually just do most things out of necessity, otherwise we risk the loss of something. We don't really care much about the results. When you're passionate about something, it's not the same. You care WAY too much about the results. Which is very annoying. I should learn to get out my own damn way and let myself work. Real talk, that whole "perfectionist" mindset can be very troubling. It's a very yin-yang balance that doesn't get talked about often.
I have no idea why I'm writing this, but yet again I do? Catcher In The Rye type of situation my headspace is in (and I hate that book). I'm gonna DO some more game dev work and see what sticks and what doesn't.
Anyways, that's all I got. See y'all around.
Understanding Game Design Theory For My Beat Em Up: No More Heroes.
Where I've been at and goals for the future.
So it's been a while since I made a blog. A LONG WHILE. I don't even know if I have the writing ability to write a blog since it's been so long but here I go
tl;dr : Ya boys employed.
Yes that's right, I am in the wage cage. And honestly THANK GOD. I was really unstable for awhile as far as a stream of income and revenue for pursuing my other goals and honestly, I couldn't be happier to get a job with some nice benefits.
What this means is that now I don't have to worry about money in the upcoming future. And since my job is pretty chill, I can focus back on game development and put out stuff that I want to work on. I initially thought I was going to do basically everything myself but honestly... doing all the marketing, researching, publicity and all that was going to bury me alive and really stopped me from focusing on the project. I really can't communicate very effectively on an open-platform that constantly moves so fast and I honestly cannot say that... if I were to market my game by myself, it would not get into many hands. Yeah sure, publishers want some of that stake too, but honestly, I can trust them managing my online presence for my project than I can myself.
Which is why I have been looking at the market for my game, the platforms people are playing it on, and who has been publishing said games. A crazy fact, Steam is not the only place you can go to get your game published, and it certainly isn't the best either. I have been looking at other avenues to get my games to other places and the type of game I'm making is looking better suited for a console than on a PC. Keyboard input feels way worse for the type of game I'm making and it really does suit better for a couch and controller type of experience.
Also, shout outs to Chris Z over on HowMarketAGame.Com. I would have been WAY more ignorant on a lot of things if I never stumbled across his website. He has a lot of great information on there and I highly advise you check it out when looking at your own project. It helped me formulate a plan on my own project and how to pitch it to publishers, and which publishers to pitch to.
That's all I have for now. Happy Game Devin y'all!
Game Job Offers You Should Avoid
So... I've been meaning to get this blog post up for a LONG time now. I think it goes without saying that trying to find a good position as a game dev is... well it's about as consistent as Bethesda trying to take bugs out *cough* I mean implementing features in their games.
But seriously, there are some REALLY terrible offerings out there. In fact, I have been subjected to most of these terrible gigs/offers in my time as a junior game dev. There are some very predatory offers that seem good first glance, but after reading between the lines, it is a road to hell paved with good intentions.
Now I want to preface by saying some of these offers are straight up just trying to use you as a free resource and the people who do this are scum bags. But most of these offers that I have gotten are usually due to ignorance/oversights on the employer/recruiter end of things. There is no particular order of extremity when it comes to this list, but do take my advice on the exceptions to certain gigs marked with an *.
1. Rev Share Gigs*
So say you come across a job offering on LinkedIn/Indeed or even forum post or Discord message on a game dev related server or blog. A company needs an artist/programmer/coordinating manager/coffee runner because the coffee machine broke thanks to Dave for breaking the glass pot. Instead of offering a paid yearly amount, the company decides to share revenue, aka rev share.
I would say rev share is a mixed bag as a job offer. This type of income is based on how well the game will sell and how many hours they require you to put into the job. I had a very bad experience with a douchebag of a company in 2019 who tried to do rev share. Thankfully that company has been disbanded since 2020.
To put it short, it was terrible.
For a longer story, I was offered this job to build a "vast open world First-Person Island Utopia simulator." And yes, it does sound more like a life choice than a virtual interactive experience. It was going to implement stuff like gold mining, house building, real estate management, turf wars and weed farming. Yes you read that right, God damn weed farming. This game's scope was so ludicrous and out of focus you could've mistaken it for a Phase 4 MCU movie. This project was so out of scope for that entire dev team that there was like... 5 people trying tackling on 4-5 huge game mechanics. It was a team spread so thin that you could have mistaken it for an Apple QA team.
The worst was that the main director for the project, who was a giant shithead that didn't even know how to open a damn file in google drive, wanted to add MORE MECHANICS into the game every day before it even hit the email of one publisher! Add the fact this guy would show up half-drunk on Discord calls and shout out Russian slurs to his spouse while he was playing CS:GO and you'd best believe ain't no damn way the "rev share" incentive would keep me around.
Now... these aren't ALL the teams that do this who decide to do rev share. But it does appear more often than not. Usually smaller teams will do it as a collectivist method to evenly distribute the wealth across the team. So if a team consists of a five people, it'll be 20% for each person after the game turns profit.
Rev share income alone is SUPER volatile/risky because it depends on how well a game sells. So if indie game #9999 on its first week sells well over 50,000 companies at $19.99, you'd best believe you'll be up fat bread stack avenue besides the old decaying boomers on Wall Street. But if the game is barely able to scrape by 1,000 copies in its first year, it's time to take up a couple extra hours on DoorDash or ask for extra work time at your local Target.
I will say however that IF you find a good team that knows what they're doing and has seen some traction around certain gaming sites/social media with a sizeable following, I would definitely say take the rev share.
2. Long-term projects with low flat rate pay
Like it says in the sentence. This usually happens due to fault of the company/employer who extends a 1 week project into 3 months for no good reason. Usually something like "Oh it's going to take me this amount of time until I pay you... we need you to finish things on a milestone basis..." or some other nonsense excuse. They offer a base pay of something adequate for the month of January and don't pay you until the month of September for the same work you finished in the March. In the business, we call this "holding the bag". Don't accept long-term projects with low pay like I did. Trust me, when I needed the $500 from work I did back in March and didn't get paid 'til August... It was rough. You need to put your foot down and say "enough is enough, I need my money."
3. Positions offered by LinkedIn recruiters
Now you might be asking "But Rami, surely people on LinkedIn know what they're doing! It's not like they're chickens without heads running around and messaging every single person including you to do their project!" Ah, I see you're an optimist. Unfortunately that statement is more the exception than the rule. You don't know how many times I get vague and broad terms for a Unity position.
They'll say nonsense like "Shader Coding Languages such as DirectX and OpenGL."
First off... do you even know what DirectX and OpenGL are!? And why are you contacting me about this? OpenGL and DirectX don't even appear in neither my Portfolio nor my skills category, so why approach me for the job? It's like if you asked your Starbucks barista to make you a dry-aged filet mignon with a caviar garnish on top.
These recruiters also often try to underpay you for your work or delay your benefits. Something like "we'll pay you $50,000/yr to be the lead to do our whole entire engine reintegration in Unity" or "|we'll give you a healthcare plan after 4 months of working with us." It's absolute garbage work and you shouldn't be wasting your time with these people. It REALLY sucks to say but you have to be the starter of the hiring conversation. In fact, if you even ask a team near your area, you might actually find a position to get something done. It all depends on who you talk, but definitely not LinkedIn recruiters.
4. Unpaid Long-Term positions
If a recruiter is asking you to spend months of your life with no pay whatsoever on a project for "experience," you better hit that ignore/block button quick. There is literally no excuse for you not to get paid. You don't know how many times I'll see a contract position go by on Discord or hell even LinkedIn asking somebody to work half a year with no compensation.
This has become a big problem in the last few years, especially now with the pandemic. Just because it's remote work does NOT mean you shouldn't be compensated for doing said work at home.
This video showcasing some of these ethically bankrupt methods of getting people to work for free can be detailed by my man Joshua Fluke in the URL provided below.
https://www.youtube.com/watch?v=Ic70AtRf1aU
5. Positions from companies with a bad track record
This should be pretty obvious but a lot of the time I see new developers try to get jobs fast out of desperation for work. They'll look at a company's steam page or how many reviews they have instantly think "ah, this team must do super well! Their games are highly rate on Steam! I'm going to apply!" Don't do that. Ask around. See who the person or people are running the group. They might be a bunch of scumbags who try to artificially inflate reviews with their power of community.
Now you might be asking "what about a team with no name or record to them, Rami?" That is a good question. I'd say look into the team of the project, such as credentials, previous work of individual members and so on. If they're competent and know what they're doing, go ahead and roll with them. If not, avoid them.
6. Offers from people who are not in the gaming industry whatsoever
This is actually super common on Indeed and other job posting sites. Specifically if you are a Unity developer since Unity is widely used for more than games now. Hell, the SF MUNI bus screens use Unity. You will get bombardments of emails asking for frankly... weird positions from some private company that just mass messages people who wrote a StartCoroutine() function. It's best to just ignore these since they actually do underpay you most of the time for what they're asking.
Conclusion
If you take my advice or have benefitted from this blog post at all, Let me know in the comments section below of this post. I really would love to hear you stories or other scenarios you have experienced as well. I just want to help people stay away from these terrible practices as much as I can.
If you'd like to support me in anyway, I have a ko-fi where you can donate as little as $3 to help me out. I really appreciate the gesture. Until next time, have a nice day!
https://ko-fi.com/wildworldgames
Going about MonoGame in a different way.
I decided to write a blog post on MonoGame and what my current experience is on how to use it.
So far I 've written a few games within a singular game loop, no editor/debugger or anything. I know how to add logic to objects and program inheritance, a bit of enemy AI, and some scripting logic like making a particle engine. The thing is however, that's all fine and dandy for small simple games like 1 level platformers and shmups, But when it comes to what I'm doing, I don't think it's gonna help me by restarting the main window every 30 seconds if a glitch goes haywire. What I need is a true debugger/level editor within the MonoGame window itself in order to make the development process more smooth. So the goals of getting my engine to actually BE an engine are the following:
- Debugger that actually pauses the game loop and shows actual analytics like memory usage and FPS, as well something that can handle entities and components
- Console-like terminal that makes debugging easier during test sessions
- A reusable engine that can be used for primarily 2D Games with other third-party software and codebases like Humper and Tiled
Now this is a lot of work and is easier said than done, But I have to do it because hard-coding every little thing is like buying a new pair of shoes every week because you just wear the old pair of shoes once. So yeah, I have a big stack ahead of me. Thank God I am not starting off from complete scratch with the 3rd party libraries I have with me. So that's a plus.
Anyways, I have to go for now. Hopefully I'll have something by next Saturday I reckon.
Trying a new style of learning: Programming in General Theory and Practice
Blogging is pretty cool; I'm trying to get into it more, not just because I think I can help a few people out, but for my own personal enjoyment and use as well.
I want to try a different style of programming and that is applying general physics/data logic into game scripting; what I mean by this is by instead of following some REALLY specific instance of a mechanic such as a grappling hook or wall-running ability is instead to figure out the actual physics of what an entity needs to be able to swing across a rope or how much force/friction is necessary to run-up a wall. This also applies to things like Shaders and Post-Process effects.
What I have found are some very helpful online resources that can help me out as I start this new journey.
https://gameprogrammingpatterns.com/
https://medium.com/@brazmogu/physics-for-game-dev-a-platformer-physics-cheatsheet-f34b09064558
http://allenchou.net/2019/08/trigonometry-basics-sine-cosine/
I'll try to update this list more and more if people have suggestions. I have also noticed general terms like "physics of a plane" and "force needed to push an object" helps as well. I'll be trying these findings out by the end of the month and post my test results. I hope you also have found this blog useful!
---
Hey before you go, check out these links to where you can donate to charity. A lot of people around the world could use your help with a small donation of $5 to help them out. Anyways, that's all for now. Happy Game Devin!
---
Officially Retiring This Blog
This blog has now been sunset as of Today on this very date. No more posts here. Instead, you can follow my Youtube channel here. https://w...
-
Hello again. I made a small 2D platformer with Python Arcade Library. I will admit, I am growing on Python a lot more, and I'm liking ...
-
So... I don't update this usually but... I feel that it's very important that I get my reflection across one way or the ...
-
How long does it actually take to get your act together? We all have goals in life. Whether it be out of necessity, passion, inspiration, ...