Search Unity

A year of Unity

Discussion in 'General Discussion' started by mvinc006, Oct 26, 2018.

  1. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    I've wanted to share my experiences after a year of using Unity, where I've come from and my background as I plan to be around here for a long long time, yeah you can probably guess I'm taking a crack at game development.

    I'll start with my gaming passion, this started when I was a kid. My uncle gave me his hand-me-down Sega Mastersystem II, with a few games. My favourite was Wonder Boy in Monster World, moving onto my teenage years I fell in love with Final Fantasy VII which I can proudly say to date, is my all time favorite game.

    I've always wanted to make my own game, unfortunately I was one of those kids who went to school to eat his lunch haha, and as a result didn't pick the right pre-requirements to follow into a computer / sciences stream.

    So I dropped out of school, did a course on basic computing, and built my knowledge of the computing world, I taught myself to code in C++ using the Bloodshed Dev C++, was pretty good at that got a couple of console/DOS type games.

    I took a long, long break of a few years to play games, focus on my full time job (which I still have). After meeting my current partner she convinced me to put my talents to use so I started to learn to code in Java, learning LWJGL (OpenGL) for about seven months. While I was able to make a basic engine of sorts, I realized it would take me years, possibly many years, to make something close to a full fledged game.

    Then I found Unity, I was really reluctant on using it to be honest, and as much as I cringe to say this now, I had a negative opinion of it at the game as many in the communities hailed it as being 'not for real programmers'.

    While some may argue to a point that this may hold true isn't the point here, what I will say is that coming from just source code OpenGL, to having a slick, clean UI with drag/drop interfaces and a way to preview everything in real time, I wish I learned it earlier to be honest.

    The first project I started with was RollaBall, then followed onto the other tutorials completing them one by one. Afterwards I started my first big project, trying to make a Minecraft clone. This failed miserably as I didn't understand the complexities of Voxels, and how to handle the huge amounts of data required for a terrain like Minecraft.

    With this project I very quickly realized that making tens of thousands of game objects wouldn't work well. So off I went with more learning, and moved onto my second project when I was ready. I had this really neat Idea for an open world Space Game, I made an asteroid field, filled with about 65,000+ unique asteroids which were not gameobjects, instead I learned to use DrawMeshInstanced. This project failed as well, because of a lack of understanding of floating point issues, how to solve them, and an overall design flaw of a fun an interesting game.

    My third project was similar, I was going to do a 2D style space game instead, this time I didn't have to worry too much about the issues with floating point arithmetic as I'd since solved that. This failed due to a lack of understanding of A) the tilemap system (I don't know why but it was just REALLY hard to learn how to use properly) and B) Particle effects - I suck and still to date don't know how to do these properly (or well at all).

    My fourth project was to try and create a clone-type of RuneScape, I had this working quite well actually but I struggled with level design too much and ended up getting bored and scrapping it.

    My fifth project was around a 3D style breaking into houses game, I got only as far as designing the 3D house and some basic items before I burned out on it. I may re-visit this again another time, I wouldn't say I've failed this one but put on hold until I learn a bit more.

    My sixth, and current project is around a Dwarf Fortress/Rimworld type game (with my own spin on it). I've solved my problems with the Tilemap system, I'm able to do custom animation within the sprites via code, merge tiles together and have it be a singular tile (i.e multiple different units sharing one tile will flash between each as an animation), keeping the batch frames to only 1!!! this was amazing for me.

    Anyway, I just wanted to share my experiences and ramblings of a solo (enthusiast), though I'd still prefer to proudly call myself a Game Developer, a Game Artist, a Game Designer, as truly I am all these things just chugging along by myself. I'm always actively looking for new ideas to try, and concepts to try out, whilst looking for ways to improve and build on what I already know.

    I'd like to personally thank the user Suddoha for pointing me in the right direction of avoiding the use of Singletons, Kiwasi and Kurt-Dekker for advice and the such for handling unity events, Mihaly Csikszentmihalyi (also known as GIGI) for his awesome video on game design (
    ), Schell Games for sharing the true power with Scriptable Objects in their Unite 2017 Austin sessions (
    ).

    And finally, to all the random people on the forums who post things like don't give up, even if you don't make anything worthwhile, as long as you're having fun and learning its never a waste of time. One day I hope to release something worthwhile, though that may be a year or more away yet.

    Edit: Apologies for the terrible formatting, forgive me
     
  2. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    No ones pointed out the value of scoping smaller yet? :p ;) :p ;)

    Thanks for the write up, was an interesting read.
     
  3. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    In one of the unity talks they talk about a tree, and you keep clipping away, and clip some more, and more, until you have a very well trimmed tree. Scope is like that. You can always cut some more!

    Edit: actually I could always remove the random worldgen from the game as well
     
    Last edited: Oct 29, 2018
  4. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    For solo devs its more along the lines of cutting the tree down and growing a potted plant.
     
    GarBenjamin, Martin_H, Ryiah and 2 others like this.
  5. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    I’ve been pretty good getting it to a potted plant hehe, so far I’ve cut:

    • Updating AI pathing to avoid obstacles
    • Research mechanics
    • Progression mechanics
    • Player building mechanics (AI will test building mechanics for me)
    • Removed farming / growing
    • Removed many types of items (only wood, stone, food left)
    • Removed most UI (only UI is to set zone designations for the AI)
    • Removed most zone designations (only gather zone, resource zone and city zone designations)
    • Removed fog of war from the game
    • Removed most jobs (except the AI building/gathering) for the AI
    • Removed handling multiple AI (units) in one tile (exists but will implement further down development)
    And a whole bunch more I can’t remember. Effectively going to just the absolute core mechanics, have an autonomous colony that can do “something” even if it’s just gather wood and expand its city.
     
    tylerguitar75 likes this.