1. Help us improve the editor usability and artist workflows. Join our discussion to provide your feedback.
    Dismiss Notice
  2. We're looking for feedback on Unity Starter Kits! Let us know what you’d like.
    Dismiss Notice
  3. We’re giving 2017.1 beta testers a chance to win t-shirts and a Nintendo Switch. Read more on the blog.
    Dismiss Notice
  4. We want to know how you learned Unity! Help us by taking this quick survey and have a chance at a $25 gift card
    Dismiss Notice
  5. Are you an artist or level designer going to Unite Europe? Join our roundtables there to discuss artist features.
    Dismiss Notice
  6. Unity 5.6 is now released.
    Dismiss Notice
  7. Check out all the fixes for 5.6 on the patch releases page.
    Dismiss Notice

Lost my programmer 1/4 through development. What to do?

Discussion in 'General Discussion' started by theANMATOR2b, Jun 15, 2017.

?

To de-scope or not to de-scope?

This poll will close on Jul 5, 2017 at 6:45 AM.
  1. Cantankerously de-scope down to bare bones

  2. Optimistically de-scope with plans for second game

  3. Positively select another/smaller design

  4. Cautiously reach/look out for a new programmer partner

Results are only viewable after voting.
  1. jonlundy

    jonlundy

    Joined:
    Apr 15, 2016
    Posts:
    16
    You say you can use playmaker. If you can use playmaker then you can code, playmaker is coding it is just a high level visual method of coding.

    The hard part of coding is the logic, you are doing it with playmaker. The difference is that instead of dragging and dropping you are writing text.
     
    Martin_H likes this.
  2. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    1,899
    NO, as a coder non coder, code as interface is terrible and full of terrible thing to track in non intuitive way, damn those useless brackets, ;, that just obfuscate thing to visual people. It's like looking at a junkyard, it's messy awful and has no legibility, hence holy war around bracket and various naming convention.
     
    frosted and theANMATOR2b like this.
  3. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    2,671
    Sad to hear another example of a failed collaboration. I would suggest to either do it all yourself, or switch to hiring professional freelancers. Considering the cost involved with hiring people, doing it yourself might be the only option with a chance for you to see financial ROI on it.
    I didn't vote in the poll because I saw no option to keep the scope and just take way longer to work on it.

    Some people like @samnarain seem to be very happy with gameflow, which is also visual scripting, but more "blocky", no noodles. I think he converted most of his codebase over to gameflow in relatively short time. Maybe check out the #visualscripting channel on slack. I don't know it well myself and I never tried playmaker. For me personally visual scripting just doesn't click at all, but I have come to accept that for different people very different approaches work or might even be needed. But gameflow looked like a decent way to get to know the API and make it easier to switch to C# later on for another project.
     
    samnarain, theANMATOR2b and Ryiah like this.
  4. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    6,553
    I would have voted for that, too.

    I'm pretty familiar with most of the visual scripting systems, having written integration packages for use with the Dialogue System and Love/Hate. GameFlow is really nice, but for the structure of Fantasy Tac#Tics Toe (got it!) I think a more traditional FSM format like PlayMaker will work better, especially for the AI part.
     
  5. BoredMormon

    BoredMormon

    Joined:
    Dec 5, 2013
    Posts:
    13,578
    To be honest the first Unity tutorial I saw was a playmaker one. It was a pretty decent way to learn game logic without getting bogged down in the details. I actually didn't realise it wasn't part of the engine by default when I first downloaded Unity. I promised myself I'd buy it with the first $75 I made off Unity. But by the time that came around, I'd figured out how to code pretty well.
     
    theANMATOR2b and drewradley like this.
  6. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    2,367
    Man, I'm sorry to hear about your misfortune.

    While I'm not exactly oozing with experience I would say you have one of two options. Either pick up where he left off or tear down and start over.

    And what you should do is really all depending on how good of a job your coder did before bailing.

    If they made clean, understandable, and polymorphic code then you should be okay to build on it.

    If they made a mess of spaghetti, just start over. It will be easier than figuring out their nonsense.

    ALSO, keep in mind that if you were under a profit share agreement a tear down may be worth it to keep you out of having to pay them.

    At any rate, this would be a lot easier to help you decide if we had an idea of what their code looks like.

    Care to share a little?
     
    theANMATOR2b likes this.
  7. drewradley

    drewradley

    Joined:
    Sep 22, 2010
    Posts:
    3,041
    In my case, I came to game development to make RPGs (I have no interest in making anything else) and made several prototypes with Playmaker and quickly reached the limits of what it could do so I started editing the actions. Then I started creating my own actions and that was when I realized I could do anything I wanted in code much faster. I still have to look stuff up, but now I can pretty much write any code I need and haven't used Playmaker in years.
     
  8. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    5,987
    I thought about this but decided to respect the work that my programmer (and also my friend) had done.
    We all do stuff that might not be 'the best' to get things working for a set moment in time - so he may have written the best code on the planet - or he may have just got it working for the web portal deployment. Either way the game is functional for now, even though I'm still planning to refactor it all. ;)

    I don't think I misrepresented in the original post but just to provide a little more info, the split with my programmer was amicable. Since this is my design, I know how the logic works behind the scenes because I wrote the rules. Of course this is high level stuff right - but he has volunteered his (extremely limited) time to detail how the logic IS at a lower level. I'm struggling to explain this here - because I'm still a ROOKIE designer. :) You programmers know what I'm saying.
    I don't think I really NEED this input because I can see how the 'stuff' works pretty well, but every little bit helps, and I'm thankful for his offer. I'm sure a lot of ya'll can see the logic of the game from just playing it for a couple rounds.

    @TonyLi @Martin_H I didn't consider keeping scope and working longer probably because I think the scope is greater than 1 year of constant development (20+ hours per week) and I'm hesitant to do that (for this game) - heeding other peoples warnings on scope, and also knowing my own situation, and knowing the design intimately. But thanks for your input, I actually considered this for a couple hours the other night - just F-it! I'm doin it! Before getting a hold of myself. This is a personal struggle I have, Metering ambition with reality.

    ;)
    ^ This 100% on the money.
    Although I quickly became a strong believer in naming conventions 10+ years ago when using a .obj converter on a full up 3D repository. The exporter truncated all support files (mostly textures) down to 8 characters :eek: so all textures that had the same first 8 characters were magically named the same and brought into the scene with all mixed up, jumbled textures across about 40 models with up to 700 mesh elements per model.
    That was fun!
     
    GarBenjamin likes this.
  9. samnarain

    samnarain

    Joined:
    Jul 6, 2015
    Posts:
    84
    Yup, but remember; I am a coder ;) The reason why I can use GameFlow beyond the tutorial, because I have three very special advantages.

    1. I am using its 1.0 beta, which has custom actions and has features that are currently not in the released version.
    2. I am capable to write C# and UnityScript like a boss. I can go beyond the basic capabilities of GameFlow because of my ability to write a variety of languages.
    3. I've two additional tools which are supporting me with visual scripting; one is a secret, never released visual scripting package that allows me to create logic like Blueprint and transpiles to C# code, and the second is Seneral's node editor framework.

    The debate however is pointless. If you want to build a car from scratch, either learn about how cars works or hire someone to build the car for you. Doesn't matter if you learn about fixing cars with GameFlow or good ol' C#.
     
    frosted, Martin_H and theANMATOR2b like this.
  10. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    5,987
    I'm unfamiliar with your 'code base'. Is it a game? link?
    What prompted the conversion to visual scripting? Why?
     
  11. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    2,671
    Teila, theANMATOR2b and samnarain like this.
  12. samnarain

    samnarain

    Joined:
    Jul 6, 2015
    Posts:
    84
    You can find relevant development stuff about my game Twilight Punkster here. It will be released officially on Indigo 2017 in the Netherlands, an event hosted by the Dutch Game Garden and is published through Red Iron Labs.

    Because there is more about a game than code. There is something called "testing", which many people do poorly in the game development industry. Where most do only Unit Testing, others dare to do Test Driven Development, I go that extra mile where I do this fancy thing. In order to do such haxory, I need code for certain areas (which includes shaders, C# and yes... UnityScript - because I can, and I am a fan even though it will die in .2017).

    Second, I work using composite practices but also agile. No, not that bastard version of scrum where the only reasons are to track the project and people hate meetings, but the ability to perform change management. From simple A/B testing to rapid prototype development into a milestone. Scared? You should be.

    Eventually, you will get to a stage where you will build and break things. Build times will matter. You will go into depths to push the limits using asset bundles and because Timeline is a .2017 feature that some of us (me) couldn't wait for anymore and went for Playable API to juice 5.6 to its knees. With editor extensions to quickly build up areas, levels, arenas, menus, AI behaviour, everything revolves on working smarter and faster. Create once, use anywhere.

    Try coding this instead of using a visual programming solution.Then try to maintain it with 100s of changes. See you in the year 2020 and tell me how you felt afterwards.

    To tie together 10 scriptable objects, that are combined with logic, with 4 avatars, dynamic navmesh and tracking the state over an active ragdoll. Eventually, I went for this.

    As you can see, roughly 90% of my project eventually becomes tied to a visual tool. Doing this with code was a good decision; less typo's, easier debugging, less performance issues and easier project-wide optimization. Did I mention minimal compile and build time?

    I got good reasons, doesn't mean someone else should do what I do.
     
    Last edited: Jun 18, 2017
    neoshaman and theANMATOR2b like this.
  13. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,578
    I cant stand extra credits
     
  14. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    1,899
  15. BoredMormon

    BoredMormon

    Joined:
    Dec 5, 2013
    Posts:
    13,578
    They have their biases. And they don't know as much as they think. But they still come up with some reasonable stuff most of the time.

    I wouldn't recommend it as a sole source of business and game design advice. But it does alright as part of a balanced diet of game dev advice.
     
    neoshaman, Martin_H, frosted and 3 others like this.
  16. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    1,151
    @theANMATOR2b I had a chance again to think about this, and I'm not sure you'll get beyond this.

    Here are my reasons why.

    1. I think it will take a reasonably long time to figure out the AI with FSMs and you'll find it tedious getting all the edge cases down, especially if it isn't an AI that always wins/draws, youring aiming for dumb AI and this is more difficult. If you wanna go the neural net way it would be easier in the long run but way more difficult in the short run.

    2. I'm concerned about the feedback you received. You said it was positively received, but I feel this is a red herring. When you put a bunch of people playing against one another, that's the joy of the game. You get to talk and chat with the people you're playing with and goof around. Even noughts and crosses is mildly entertaining when you're playing against another person.

    When you pit against AI that takes out all the fun, it's boring. I remember I loved playing chess online, take that away and play against Stockfish it becomes insanely boring and unrewarding. Mainly because the AI trashes you and even on dumb AI the moves are still unhuman like. Play against players in your strength range it becomes interesting.

    So why am I telling you this. I think the merit of your game rests with the multiplayer/interactive mode.

    Now this brings with it more complexity, you gotta make your game multiplayer compatible. For a non programmer that's gonna be tough. On top of that, and perhaps the biggest barrier going forward is making your game popular enough so you have lots of players competing with each and then setting up a server to handle this.

    I mean, if you think the above isn't an issue, you got something. If not, it's time to rethink.
     
    QFSW and theANMATOR2b like this.
  17. samnarain

    samnarain

    Joined:
    Jul 6, 2015
    Posts:
    84
    It will be tough even for a programmer ;) Try the wonderful documentation in regards to UNET...

    Community games require community building. No matter what kind of game.

    State machines are awesome, but they will not cover all areas of AI design. In that regard, state machine allow you to respond based on the environment. Even if you would quickly iterate through a bunch of methods, you are pretty much doing a state machine. In today's gaming, they are inevitable.

    You won't get every edge case - they occur as part of an organic process. You deal with them with agile principles. Some people have difficulty to adopt this methodology. Pretty much it is all about restriction (i.e. clipping, wallhacks, stuck), unexpected results (i.e. cheating or failure to drop in certain scenario's), and undesired behaviour (i.e. Lydia in Skyrim).

    Nobody will aim for "dumb" AI, but for balanced AI. Other factors can increase the difficulty (response time requirements, character stats, traps, etc.); it will depend on the type of game you are playing. Sometimes a state machine will suffice, sometimes it needs more - like planning through a GOAP mechanic, fast utility rules, BT's or advertising per object. Game AI is like a human body. A heart will keep it alive, a brain will make it conscious, but eventually arms with functional thumbs driven by muscle memory make it able to use tools.

    I personally don't like their "business" videos. I do love their content in regard to game mechanics. But having watched most of them and looking at their latest contributions, I agree.

    To direct this stuff back to the OP:

    I’m confident I can recreate the core game in Playmaker in about 3-4 weeks.

    Yes, you can now. You couldn't back then. The whole time you have been accumulated experience with the engine, the process and the mechanics. The logic makes sense to you. Even though tools like Playmaker and GameFlow are promoted for the audience "ba.. ba.. I w4nn4 make Skyrim/GTA5 now!!!" (nothing wrong with that), they are extremely powerful once you understand the tasks that are at hand and become RAD tools.

    De-scope the existing game design down to its core, polish, add a very small amount of extra content, polish and ship. This will give me a strong base to prepare and build on top of for the original design – which will help reduce development time for the next game.

    This is a common strategy. And actually happens most of the time at studio's where they have the freedom. I've done this three times in the current project and it turned out to be for the better. You force yourself to reconsider decisions of the past with the experience and knowledge of today.

    And finally theres the option to look for someone to partner with, but I’m not sure if I can adjust to working with another person at this time. If the right person came along I might consider it, but at this point I’m kinda feeling a little discouraged and really just want to get back at it on my own.

    If you can hire help for things that are tough, do so. At this point, go on your own. Really, most technical requirements are necessary for AAA quality. Everyone else uses tooling. If you want to learn fast, join the Unity Slack channel. Especially the #code, #editor-scripting, #virtual-reality and #visual-scripting channels. Besides myself, there are plenty of fast responding people from the community and plenty developers from Unity are active there. You aren't alone and not the first one to bite of more than you can chew. Not sure about PlayMaker, but I know the GameFlow developer is always spying on people.
     
    theANMATOR2b likes this.
  18. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    2,323
    EC has some really great content (and I love the "extra history" section - they do a surprisingly good job w/ history).

    The problem with EC is that they totally fluff up their background. Always making it sound like they're a long term veteran game dev who's been working deeply in industry, when the reality is that at best they did some very minor consulting.
     
    Ryiah, Martin_H, BoredMormon and 3 others like this.
  19. samnarain

    samnarain

    Joined:
    Jul 6, 2015
    Posts:
    84
    Thank you for saying the thing I would otherwise say... you know... in a mean way :p
     
    theANMATOR2b likes this.
  20. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    5,987
    Thanks for your input @iamthwee - as I mentioned before I welcome the difficulty. I'm not adverse to obstacles. I think it's part of the process, although I get your point - it will undoubtedly be difficult to go the route I've chosen.
    At this point in my mind I can see the AI system clearly, although I won't be distraught when the AI is a lot more complicated/complex than I think it will be. I'm wrapping up a animation contract but this will be one of the areas I focus on early to make sure the single player aspect, which was always the original design for the game, is doable.
    I don't see turn based AI to be extremely complex based on if/then and setting variables to make the AI "smarter" or easier to beat.
    No - I disagree, although we are talking about different game settings here. I've played single player puzzle games, and there is ample evidence single player puzzle games are popular, and continue to be played by large demographics. I base this on match3 games statistics that I've gathered. I think this game is comparable to a match3 game rather than knots and crosses or chess.
    The feedback I received by players at the conference was unaided. We didn't tell people how to play the game, we let them play the game and I watched there uncontrolled initial reactions. I know this isn't scientific or controlled, but I was looking for peoples non-verbal reactions to the game. This feedback is definitely not a red herring, and is not related to the single player experience at all. Although I would submit it IS confirmation - people are instantly puzzled and intrigued by the subtle changes to the base tic-tac-toe game. They want to play more - right away.
    However most puzzle games become repetitive and boring if there isn't sufficient progressive added value. I plan to add value to the extended gameplay - with "perks" the player receives when they continue to play the game. Just like any other match3 game - if the player doesn't get more goodies as they play - the gameplay becomes stale.

    I'll agree multiplayer board/puzzle games are fun, however I've had the exact opposite experience when playing single player board/puzzle games, so I think you might be biased in your point of view that single player games against AI is boring. The proof that supports my view is the consistent number of top 100 single player puzzle games that are played on a regular basis listed on nearly every platform I'm considering.

    Thanks for the lead. I've shied away from slack and other IM services mostly because I have limited development time during the evenings (I work during the day), but I might consider it again. I can definitely see the value there, lurking in the UMA skype group lead to a ton of useful information that is not readily available thru other avenues.
     
    iamthwee and samnarain like this.
  21. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    6,553
    For those who aren't familiar with Fantasy Tac#Tics-Toe, I'm pretty sure networked multiplayer is way out of scope unless I'm remembering wrong, as is machine learning, neural nets, etc. If I were to implement the AI for a game of this scope, I'd start with an FSM. In fact, I'd probably even use PlayMaker to make it easier for the designer to tweak the AI without having to come to me for code changes. It fits the scope and requirements.
     
    theANMATOR2b likes this.
  22. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    5,291
    I believe it should be possible to use sockets and fling udp packets on your own. Using functionality provided by C#, without relying on third party services.

    If I remember correctly, OP is doing a tic tac toe. Basic tic tac toe is an extremely simple game that does not require "AI" and can be done without finite state machines.
     
    theANMATOR2b likes this.
  23. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    5,987
    If your interested in comparing the mechanics to regular tic-tac-toe, I provided a link on the first page. ;)

    I've researched regular tic-tac-toe AI and actually have the 'code' for it. Well for perfect unbeatable AI anyway.
    The main differences with my game and regular tic-tac-toe is each player can diagonally attack for their turn or place a piece (pawn) on the board, and when an attack occurs the board can shuffle horizontally or vertically.
    So basically the AI would have to reassess the board after each attack/destroy and shuffle - which is similar to regular tic-tac-toe AI.
    However instead of mapping out every possible outcome like simple tic-tac-toe AI does, and which is many times more outcomes than regular tic-tac-toe, I'm going to give the computer controlled player a set of rules that can/should be followed, and allow rules to be ignored/overlooked. I think this approach will provide enough AI depth to enjoy playing against. A simple // of the ignore percentage can create perfect AI that always chooses the best move, but rarely does that kind of AI make for a fun game.

    Although the game is designed for single player I think local multiplayer is something I'm interested in providing as an option.
     
    QFSW and GarBenjamin like this.
  24. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    1,151
    But it is not really a noughts and crosses clone, the way the board can destruct and respawn offers another dimension to the ai, also the yellow lines are significant I believe.

    I will concede with tonyli and say a neural net is beyond the scope and so is multi player not least because multiplayer implies popularity and a large enough player base.

    If the OP can get to the single player AI stage I'll be impressed. Let's see where this ends up. Talk is cheap, ideas fizzle out. Good luck OP.
     
    theANMATOR2b likes this.
  25. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    5,987
    As soon as I wrap up the current animation work I'm planning to start fresh, to include a new wip thread.
    I was hesitant to do that before because I wanted to make sure the game presented well. However being involved with this community for a while, I've seen the benefits of sharing early/often.
    Even though the game still isn't in a presentable state to my standards, current builds being shown for core mechanics only, I'll have a lot more to show having both visuals and logic in hand.
     
    iamthwee and Martin_H like this.
  26. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    2,671
    I'm with you on that one. I've come to realize I mainly enjoy the complexity and freedom of multiplayer games (correlation, not causation), but I actually dislike interacting with strangers online. Any kind of strategy game I'd rather play singleplayer vs. a good AI, than in 1 on 1 multiplayer matches with strangers. With close friends that's a bit of a different story, but lets be honest, for most people it's hard to find timeslots and games that their friends can agree on to play together.

    Understandable concern, but let me tell you that the slack chat is not really as time consuming as the general discussion subforum, and @samnarain is spot on with the advantages of slack. I'm not as much on there as I used to be, since the browser slack no longer works, and I have to use the application, but I'd still recommend it. And like you say, chats sometimes lead to information that's not easily available through other channels.
     
    theANMATOR2b and samnarain like this.
  27. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    9,485
    PlayMaker integrates with Photon.

    https://hutonggames.fogbugz.com/?W928
     
  28. samnarain

    samnarain

    Joined:
    Jul 6, 2015
    Posts:
    84
    Hehehe - not using PM or Ph, just pointing out that networking in general comes with its own domain. ;) Just because Photon takes work out of your hands, means one shouldn't do their homework.

    Indeed I am! Here, to make life easier: https://unitydevs.signup.team/
     
  29. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    1,151
    That's the moxie, the best thing you can do is post a WIP and set a deadline you expect. Then meticulously make those deadlines!!
     
  30. samnarain

    samnarain

    Joined:
    Jul 6, 2015
    Posts:
    84
    Don't forget to buy this with to meet those deadlines:

    [​IMG]
     
    Ryiah likes this.