Skip to content
This repository has been archived by the owner on Nov 24, 2020. It is now read-only.
nwy140 edited this page May 13, 2019 · 2 revisions

Welcome to the MUFYSourceCode wiki!

Contents

Stuff you should learn

Web Development Html,Css,Javascript
Web/App Development FrameWorks: React Redux, BootStrap, NodeJS
App Development: Android , Alternative Tutorial 1
App Development: IOS
App Development: React Native Cross-Platform
Game Development: Unreal Engine Map Design
Game Development: Unreal Engine Development
Game Development: Unreal Engine VR Development
Game Development: AAA Development
Game Development: Get Started with no experience
Game Development: Unity C# Programming Fundementals
Game Development: Unity 2.5D Sidescroller
Game Developpment: Unity LongTutorials
Game Development: Fungus Visual Novel Maker in Unity
Game Development: Phaser HTML+Javascript
Game Development : Code Architecture & Design Patterns , Design Patterns Book HardCopy
Game Design : Game Design Principles
Game Design : Game Design Documentation References
Computer Graphics: Blender 3D Character Modelling/Art , Alternative Tutorial 1
Computer Graphics: Blender 3D Prop Modelling Long Tutorials
Computer Graphics: Voxel Art , Download MagicaVoxel
Artwork: Pixel Art , Online PixelArt Editor
Artwork: Vector Art
Artwork: Flash Animation
Artwork: Handrawn Art(Manga Art Style)

Learn Git Version Control
Learn SkillTree
Git GUI Client: GitKraken

Free Courses

Documentation Search

My Developer StartPage (Created in ReactJS)
SymbolHound
StackOverflow
UnityForums
UnrealForums
Project Management Tools

Game Development Opportunities

Itch Game Jams
Indie Game Jams
Weekly Game Jams
One Hour Game Jams There's no excuse to skip this jam, because it's too short
Ludum Dare Game Jam (Twice a Year)
Global Game Jam (Once a Year)
Utah GameCraft Game Jams
Goal: "Finish a game, take it to market, and earn $1"
Time Limit : 48 Hours

GameJam Advice

In a gamejam, you have to quickly come up with an idea, and decide on an idea that is very clear, realistic,that everyone agrees with.
If you don't decide on an idea, you'll be doing nothing for the entire jam. People usually spend most of their time in a gamejam creating the art assets and setting up their prefabs and characters, followed by designing the scenes,levels and UI. Programming is the fastest and the easiest part of a gamejam. Unless your project scope is too large.
Making an object move on the screen only takes one line of code these days with so many engines and frameworks available. Code Architecture is the real problem. Good code architecture allows you to easily add extensions and new features to your game without wasting too much time modifying your old stuff. Plus, some online classes/tutorials actually teaches a lot of bad practice, so its up to you decide how you want write and organise your own code. Or you can make your own framework/library and reuse your functions from your old classes to save time instead of rewriting everything from scratch again. As for the game design, think about the user experience, what kind of feeling you want to invoke to your player. Don't just dump too much mechanics into your game like a feature creep, please limit your mechanics and features so that the player get to experience the parts that are actually unique, important and fun that only comes up in your game that you don't see in other games. Think of it as if it is some sort of combination/recipe that invokes different thoughts, feelings and experience, much like a drug would ~ dopamine.
As for the Scene/Level design, how you structure your Scene/Level determines the difficulty, uniqueness of your game, think about how you expect your player to react to the game flow, objects and NPCs that are placed on the Scene/Level. Whether it is procedurally generated or designed manually by hand.
Plus, we are not an AAA Game Company, we don't have that much man power to implement everything. Viability matters.
As for the game art, think about people's first impression of the game on their first glance of the game's trailer and gameplay, there's a reason why so many smaller scope and badly made games with cute animals get so many downloads on the playstore. Think about your art style, perhaps a consistent and unique art style within your game makes your game different from other games.
Written by nwy140 based on his limited self taught game dev experience and past mistakes.

Marketing

GameDevSubredditPosts FB Release
PlaytestSubreddits 1 2

University Of Utah (We are one step ahead!!!)

CS in Games With EAE Emphasis

Utah School Of Computing CS Lectures Archive
CS in Eae Syllbabus

Gen Ed

General Academic Resources
Gen Ed Requirements

Utah Online Services

Utah Student Portal
Utah Mail
Campus Bus Tracker
Utah Map

Class Registration

Courses/Class Schedules
Register for Classes, send to cart to register
Course Information //Change Class Catalogue in URL
Course Syllabus Documents Collections
RateMyProfessors 😐

Extras

Realistic Programmer Playlist

Self Promotion

Download My Apps On Playstore
Download My Games On Itch.io
Download My Games On GameJolt
My Youtube Channel And My Own Indie Game Trailers

Check my GitLab Repos

Connect with Me On LinkedIn
Follow Me On Facebook
Follow Me On Twitter

3D Art Low Poly Bad Programmer Art Sketchfab Portfolio
2D Art Artstation Portfolio
My Wattpad Stuff (InProgress)
Mirror Link to this page

Development Tools

CS50 Online IDE
CodeSanbox - Online VS Code Like Sandbox

Developer Pledge

As a game developer, I can't let anything stop me from doing what I want, even exams and academics and whatever. I don't continue doing this because someone told me to, I only do this because I want to. Making a living off your passion is what truly matters to me.
No one told me to become a game developer or an app developer, no one told to me to get a gamedev internship, I do it because I want to. People tell me to go to college, study, do well in exams, do well in college, get a degree all the time, but is that what I truly want? But there's good in both side of the table, so the realistic option for me is to continue working on my own side projects, games and apps, that I will release to the playstore, while balancing my academic life. I mean, why not both? I was self taught before I chose to go to University for CS, but to be honest, I'm kinda worried that it will destroy my will and passion to keep working on my side projects. I mean, not everyone is like me, not everyone writes mobile apps/games for fun, some people are 100% academic, who don't do anything beyond anything outside of the curiculum. I'm not sure why some people find CS so hard? Is it because they are pure beginners without any industry experience? Is it because some schools treat CS and textbook algorithms like solving maths equations rather than projects in which you create something for fun. Maybe that's why so many real world developers drop out, because they have something else to work on, and they don't find college worthwhile. But that doesn't mean I will drop out, I think I prefer to balance my situation, have something going on in your life like a part-time job or a college course so that I will not feel stagnant, while doing what I want only during a specific period like weekends or nightime... There's a reason why there are so many self taught developers out there right now, who are making a living off their own projects. Its because of the availability of documentation and open source frameworks, anyone can look up documentation online these days and start learning on their own, not everything has to be learnt in schools anymore. And sometimes, the things you can learn online are much more advanced and interesting than the things you can learn in school. I know that those who goes to schools to learn CS, tend to have a stronger foundation and understanding in theory and textbook algorithms, and they are able to learn and pickup new things really quickly, but some of them lack real world practical experience. I don't think most schools actually teaches you how to use these open source frameworks to develop your owns apps followed with marketing,monetization and publishing them, instead I think they are more focused on textbook algorithms and theory than the practical side of things. Whereas there are many self taught devs out there who already know how to do all these things, and they are making a living off it. The Self taught devs I met are very passionate about what they do and they are always working on their own project in any spare time they have, I'm a self taught dev too before deciding to go to university for CS, so I know what it's like. While your average CS student is just there dreaming about their GPA, who only does assignments when they are given one and not work on any of their own side projects or learn anything else in their spare time, perhaps not every CS Student is like that , I've met CS students who are different though, but I tend to find that people who are not passionate in what they do, to exhibit this kind of behaviour. There's a difference between graduates and talent, and initiative. If you don't have anything to show to others other than the fact that you are currently a student or a college graduate, then consider yourself average. It is important to create something on your own, make your ideas come true, anything, while you are still learning. Being good at solving textbook questions does not make you anything special, being good at creating your own software, getting it to a production ready level to be shipped, and putting it out there in the market is what makes you special. That's why the barrier of entry for tech jobs are no longer there, you no longer require a degree, most employers only care about your work experience and your portfolio, and the projects you have worked on and what you created in the past.
Think about it, what's the difference between a writer who doesn't writes their own books but studies literature and a writer who doesn't studies literature but writes, sells and publishes his books to the market? Its the same thing with programmers/developers, a developer who doesn't write his own software or work on his own projects, is a developer who does not make any real world progress. As a game developer, the more games you make, the more you learn, even if you never finished your project and and it becomes an abandonware or your project failed. If you don't start somewhere, you will never learn, you'll never know what its like. The more you fail, the more you learn. And eventually, you'll get the hang of it, you'll discard the bad practices that have been implanted into your mind and start adopting a better workflow, and eventually, getting a project to a production ready level and taking it to the market is a norm to you.
Written before joining the UofU

One thing I noticed when I started my freshman year, is that, CS students are more focused on taking classes to fill up their credit hours and getting good grades, instead of working on their own projects. Whereas self taught devs are more realistic, and they're aways thinking of a new project to work on that they will dedicate their spare time to develop, and learning something new on their own (e.g a framework, marketing, graphic design).