Jump to content
  • Advertisement

slayemin

Member
  • Content count

    1753
  • Joined

  • Last visited

Community Reputation

6197 Excellent

About slayemin

  • Rank
    Contributor

Personal Information

  • Industry Role
    Programmer
  • Interests
    Business
    Design
    DevOps
    Production
    Programming

Social

  • Twitter
    @slayemin

Recent Profile Visitors

41143 profile views
  1. slayemin

    Oculus Store (Keys Only)

    It's always been like this. I don't really have a problem with it. Look at it from their perspective as a business: They are there to make money off of their store. If people upload stuff to their store for free, they get nothing out of it. They also want to curate the content available on their store so that the content is quality and reflects their content quality standards. They don't want their store to turn into another XBox Live Arcade, where people create and upload fart apps and general garbage. So, with that in mind, they're actually pretty nice and supportive about letting you upload your game even if they don't make money off of it. This is great for early feedback and testing (kinda what you're doing) during ongoing development. When you continue developing and polishing your game and making it higher quality, you may decide to resubmit it and start charging a price for it. In those cases, the very light entitlement check suddenly makes sense. Also, Oculus doesn't like having the SteamVR dlls included in a project. If you have SteamVR running and you have your oculus plugged in, many times your Oculus won't get any display input until you shut down SteamVR. They don't play nicely with each other, so the oculus policy is to protect users from having confusing hardware problems and submitting unnecessary trouble tickets. Sure, it would be nice if Oculus worked with SteamVR, but Oculus has no business incentive to support their competitors platform. It's just going to be something you have to deal with if you want to support Oculus Store. If you don't like the oculus store key only distribution approach, you have a few other options: 1) Pay $100 and distribute your game on steam. You can send links to your steam game from there. 2) Host your own website which contains a publicly available link to your game. This will also cost you money.
  2. slayemin

    Dell World 2018 in Las Vegas

    Thanks! I dug into the engine source code to see how it did video playback and created a new video playback class with a few wrapper functions which allows me to play individual videos and toggle whether they loop or not. The only problem now is that a looping video doesn't buffer the beginning frames as it reaches the end of file, so I still get the black frames. That's almost certainly going to require a modification of the engine and then staying on top of source code changes with version updates. A possible hack would be to have another sphere start playing a video a few frames before the first one ends and then quickly toggle sphere visibility? It would be sort of like double buffering screens similar to how DirectX does page flipping.
  3. slayemin

    Dell World 2018 in Las Vegas

    Alright. I finished my project for Dell this evening. It took me about two and a half months to complete it, though the first month or so was very light work. The work ramped up quite significantly towards the last two weeks and I was working weekends for the last two weeks. The good news is, I finished perfectly on time, on budget, and to specifications. As far as project management goes, this went perfectly! Tomorrow afternoon, I am flying out to Las Vegas to attend the Dell World Expo and will be hovering in the background making sure the booth attendants get properly trained and I can fix any problems that arise (including hot fixes). I will be most interested in seeing the reactions of people as they try out my app and looking for new business opportunities. Anyways, here is a youtube video which shows the app as of tonight (pardon my awkward voice): So, I think it would be valuable to go into a bit of post-mortem detail on what went well and what can be done better next time, and what I learned from the experience. First and foremost, I learned that I should NOT be charging an hourly rate for my work. I am a contracted *company*, not an employee. Hourly wages are an employee mentality which I need to break my mind away from. I need to think more like a business, where I bid for a project to make profits, get payments, and then pay employees an hourly rate out of the total project budget. If I charge hourly rates, the incentive structure is inverted in disfavor of good engineering and efficient work. If you work too fast, too efficiently, you get paid less money and thus, working slow and inefficiently is rewarded. If you charge by project instead, the faster and more efficiently you work, the more you are rewarded. I also need to start thinking in terms of hiring and managing other people and calculating their time and costs into the project proposal budget. It's useful to know how long everything takes so that I can properly estimate an accurate project cost. The better I can be at estimating true project costs, the more competitive I can be. I've been seriously undercharging for what I've done, so that will change from here on out. I will not charge an hourly wage, I will charge by project and its costs will be based on the scope and requirements of the project. I think the minimum I will charge is $50k per project? So, let's get technical on this interactive video project. Here's some really important details to consider: When you are playing a 360 video inside of a sphere, the data rate of the video needs to be around 15mpbs. Any more than that, and you start running into video stutter. You should not use transparency or chroma keying in your video. If you chroma key, the lossiness of an MP4 will cause color bleed on the edges. If you decide to use transparency on and alpha channel, you're going to be outputing an MOV using a lossless PNG, which will cause the filesize to skyrocket (ie, 90 seconds of video = 900Mb). Leap Motion can be a teensy bit finicky, even after the Orion update. It's trying to do its best with noisy image data, so you're sometimes going to get false positives. Sometimes, it won't know whether the hand it sees is a right hand or a left hand. For some frames, it may incorrectly see a "grip" gesture, so you should try to account for that with a frame buffer. Leap Motion doesn't really have events for when a hand left its view frustum, but you really, really need to know when this happens. Especially if the hand has an object attached to it. You'll have to create your own events and event handlers for gaining and losing a hand and decide what you want to do with a held object. When it comes to gripping to move the camera vs grabbing to activate and object, you want to be very careful about how far you put objects away from the player camera. If they are trying to turn their view with their hands but their hands overlap an interactive object, they may accidentally trigger that object interaction and get frustrated. I found that 85cm away from the player camera is a good value. This can be adjusted without recompile by physically moving the leap motion closer or further from the player. Cheat as much as you can. Buy as many premade art assets as you can. Sub contract people out to fill in the gaps. Beware that some art assets you purchase may be unusable garbage. The DNA strands I bought for $25 were useless. I ended up creating my own programmatically and they turned out better than a what I would have gotten with a static mesh. Play test with people who have never seen the project before. Don't tell them anything, except, "Hey, try this app out" and start it on the intro screen. Watch where they get lost, then design UI cues to fix that. It's worth your time to get familiar with the media player code on the engine side. The better you understand how it works and what it's limitations are, the easier it is to work smarter. I initially didn't do my due diligence and I just spent maybe 15 minutes looking over the API. I didn't see how to figure out the length of a video file, so I made that into a function parameter value. If you have 19 videos, that means you have to right click each one, go to properties, go to the details tab, and then find the length and convert it to total seconds, just so you can enter it in as a function input parameter. And then, if your video guy sends you an edit, you need to find and update this value. It got tedious, so I eventually looked it up programmatically. Videos don't loop out of the box. The "loop" functionality applies to a playlist of videos, not an individual video. If you want to loop a video, you have to add that functionality in yourself based off of the video duration. Oh, and by the way, when you get to the end of a video, you have to seek to the beginning and that means you're going to have a few black frames. I think most video playback systems will buffer the next few frames automatically, but if you want your video to loop, it's not going to start buffering the first few frames when it reaches the end of the file. That would require an engine mod and I didn't have the time to invest in that (though I certainly have the technical capability). It was just easier to produce a video which had several loops in the video and just accept the black frames during the loop cycle. We had a 10 second loop which we turned into a 90 second clip with 9 loops in the video. A few black frames once every minute and a half was a lot more tolerable than black frames once every 10 seconds. You only want to play one video at a time. We took the last frame from each 360 video and turned it into a texture. Once a 360 video completes, I replace the video material with a texture material and let the video player play different videos. You want to make sure that the end still texture is a scene which doesn't have any moving parts to it so that the transition from video to end still is seamless and unnoticeable. This is something to keep in mind when you're doing video production on set and doing clip sequencing during video editing. If you have 2D videos in a 360 sphere environment, you don't want to make the 2D surface a curved surface. If you need to change the distance of the video from the viewer, the curvature perspective changes and you'd have to create a new mesh to account for it. It costs too much time and effort and there isn't enough payoff to make it worthwhile. Video transitions are a great polish feature. Fade to black, fade in from black, scaling from an axis, shrinking to an axis, all are great ways to prepare the viewer for the video content. Combine it with audio SFX and VFX to really sell it (I could have done a lot better here, but I was pressed for time). If you have voice over audio and you're trying to time things with it, you want to do things at 1/10th of a second precision and note in a separate document your timings (Any greater precision has diminishing returns on noticeable value). I used Audacity to examine a WAV file and note the timings. I used the same video sphere for every 360 video. Every interactive menu was spawned dynamically I bound number buttons to key storyboard points. I also created buttons to skip forward 5 seconds in a video. This really helps to develop, test and iterate faster when you have video. You don't want to sit through 90 seconds of video to see if the event at the end fired correctly. Waiting is a waste of time. These controls are also going to be super useful for booth attendants. They can skip to particular scenes, reset a scene, or restart the whole app at the push of a button to be ready for the next person in line. It's never going to be perfect. You can always find new things to add before it is finally "perfect". If the app is consider done only when it's perfect, it will never be done. Even now, there are things I'd want to spend lots of time fixing and changing and I'd feel better about it. But it's good enough. I feel a bit nervous about showing something I feel is imperfect, but... I've also seen my own app hundreds of times. People seeing it for the first time won't see its imperfections like I do. A big part of effective development is deciding what to let go and what to focus on. I went and gave a quick demo at a local meetup and made a new connection which might turn into a future business opportunity. It's worth showing what you're working on, but do be prepared with a decent pitch. Who are you? What do you do? What are you working on? What does it do? Why is it useful/cool? What's the value proposition? etc. Yesterday I went to a sponsored happy hour filled with tech people. I brought a 10 minute youtube video of my app. It was too long. I need a shorter sizzle reel to show people. I also need an elevator pitch. I got stalked by an investor and I was totally unprepared for that meeting. "Are you working for a company?" "Yes..." "Is it yours?" "Yes" "What's it called?" "uh.... Wobbly Duck Studios..." (cringe) "What do you do?" "I make VR games? And... now I made this new thing that's not VR and I don't really know what to call it?" "Cool. Do you have a patent for it?" "No, I just invented it a few weeks ago and I can't afford a patent." (Not that I want to patent it anyways or even care about patents, but in USA, company valuations are based on patent portfolios and that determines VC interest) "What stage is your company in? Seed round? Series A?" "Uh... I'm entirely self funded and broke?" (I don't know how to answer this) "Do you have any employees?" "I had one a few years ago, but then I ran out of money and he quit. I'm still surviving though, so I guess that's okay?" "Oh, okay. Well, I have to go use the bathroom. Bye!" (flimsy pretext for them to escape further conversation with someone they're not interested in) The reality is that I honestly don't care about investors anymore. I consider talking to them a waste of time. I used to care and chased them, and before I met with one, I'd spend *days* going over notes in preparation for it. No amount of prep can fix my general amateur CEO levels though, and they see that and I don't get any interest, much less funding. Why waste my time prepping for days to get nothing, when instead I could be spending my time doing something actually valuable, like developing products? Why would I want to give away equity and control of my company to outsiders who are only looking to 10x their principle at any cost? Especially at my current stage and low valuation? I can take on increasingly larger and more profitable projects to fund myself and keep 100% of my company to myself. And why would I want to measure my company value based on the number of employees I have? Full Time Employees in a pre-revenue start up are a drain on capital and generally a huge mistake (Something I learned the hard way), so head count is not a good measure of valuation. What matters is positioning, product market fit, your IP portfolio, your human talents, and how its all managed with respect to the market ecosystem. Anyways, I must be sure to remember all that I've learned so far and apply that towards business and future projects. I honestly think I could make a few million dollars in the next few years if I apply myself correctly, but that's going to depend on building a track record of successful projects and a history of pleased customers. I think if I can do this, I can fund my game development indefinitely and build a core team around it, while also building a core team around building and delivering other software apps. I'm feeling cautiously optimistic about my future prospects right now. I think I'll have some bigger announcements in the next month or two
  4. slayemin

    Double Fine Quest

    I played your game, I wasn't a fan. Sorry to say this. The messaging seems wrong, your game comes across as both begging for a job and overly reverent of double fine. That's a turn off. You should flip the attitude so that you are totally amazing and a company like doublefine would be lucky to have you working for them. You can't say that directly, so you have to show through your work why you're amazing. Don't make another game telling the player how awesome you are either. Instead, make a great but small and polished game which demonstrates your skills. It doesn't have to be 100% original, just take some ideas from existing games and creatively merge them into your own game. The most important thing to focus on is keeping your game small and then focusing on polishing it. Polish it until it shines. Make it feel good. You can polish a boring game into an amazing game. Check out these talks by Vlambeer game designers: Also, your game music was ripped off from Final Fantasy. That's not okay, that's using someone elses' copyrighted work. In academia, that would be the same as plagiarism. I don't care that you may not have musical talent to create your own music, find someone that does or ask someone for permission to use their art. Worst case, it's better to have silence than to rip off someone elses' work. If game companies did the same thing and used the copyrighted IP of other game companies, they'd be sued for serious damages. By seeing you feature copyrighted content in your portfolio, you're sending a coded message to the companies you're applying for. You're saying, "I don't respect copyright and intellectual property, therefore, I'm a legal liability which may get you sued if you aren't watching me." which translates to the manager, "This person is going to be a problem" and they'll throw your resume into the garbage. I would bet that you'll have many rejections from game companies just from this alone. But congrats on finishing a project! That's never easy. You finished one, now start the next one and do better!
  5. slayemin

    Introducing the Blockchain Tycoon

    I hope this has some hidden biting commentary on the whole industry...
  6. slayemin

    Neural Networks Neural Networks 101

    Overall, this article is not very useful. The wikipedia page on artificial neural networks is a far better starting place. There are much better articles on neural networks elsewhere on the internet and actually have enough depth to give the reader the capability to create their own ANN. This article also completely misses several very important topics to ANN's which cannot be skipped: -Deep learning -How to train an ANN with a training set Forward propagation: The sigmoid function is mentioned, but there is no mention of the commonly used RelU function: return (X>0)?X:0; Backpropagation: The meat and potatoes of ANN is in the back propagation algorithm. This article just says, "It's confusing, so look it up elsewhere". I also think that if you're going to do an introductory article on artificial neural networks, it might be more valuable to skip the technical details of implementation all together and just talk about all the different types of machine learning ANN's are out there, what they're useful for, and generally how they work. Maybe something about ANN's, reinforcement learning, convolutional neural networks, LSTM's, etc.
  7. slayemin

    The Blackwood Witch

    Herby sat on a log around the campfire and half listened to the tales and gossip being told by the villagers. He took a long draw from the frothy mug of ale and set it back to rest comfortably on his large belly. After each story ended, he’d quietly huff in mild contempt and absent mindedly stroke his beard. None of their tales were any good compared to his. All of the other villagers knew it, but they waited eagerly. Every night, Herby always told his story last and it got better and better each time. As the night wore one and the campfire turned to glowing red coals, the stories and gossips gradually tapered off. One by one, the villagers grew quiet and waited for Herby to speak. “Herby, tell us o’ the Blackwood witch again!” one of them shouted. “We been waitin’ all night!” Herby glared at the villager for a moment in mock irritation, but secretly he knew he loved telling the story as much as they loved hearing it. All the eyes around the campfire turned and looked at him expectantly. Herby met each one and held the gaze for a moment, wringing his hands in eager anticipation, commanding their attention. He took one final long draw from his mug, and then wiped the froth from his mustache with the back of his sleeve. After a long pregnant pause, he leaned forward, as he always did, and began with a low whisper. “Ye e’er heard o’ the Blackwood witch?” he started quietly, eyes twinkling. “It all started a coupl’a years ago.” All of the listening eyes grew large and people quieted their breaths as they leaned in closer to hear. “Jonathan the miller had a daughter. She was fine as sin, she was. Had hair black as a ravens wing, skin fair as porcelain. She was a strange one, that she was. She had the most peculiar eyes any lad had seen, y’see? They were green as emeralds. I suppose that’s why old man Jonathan had named her Esmerelda. But, there was something off about her. I can’t quite explain it, but just one look at her and you could tell that she was the odd sort. Trouble, it just seemed to follow her everywhere she went. We didn’t know why at the time, but the most unusual, otherworldly things seemed to follow her everywhere she went. If she was in the kitchen, the teapot would suddenly boil fer no reason. The funny thing is, nobody turned on the stove. Or, she’d be in the mill, and a sack of flour would drop and narrowly miss yer head as if somethin’s trying ta kill ye. But the oddest thing about young Esmerelda, was that she seemed to talk to herself or something else that only she could see. Spirits, some said. Phantoms of the imagination, others claimed. Nobody really gave it too much serious thought though, y’see, she seemed a bit of a disturbed woman. Sometimes, she’d be yelling curses at the air for minutes. But, nobody had the heart to say a thing about it and just left ‘er alone.” “Well, one day a lad came down to the mill to get some corn ground into meal for his piggies. He’d ‘ad a pint or two … or three ... that afternoon, but who hasn’t, y’know? Anyways, he wasn’t quite in his right mind either, so he walks into the Mill, and who should he find there all alone? Lil miss Esmerelda. She was chattin’ up a furious storm that afternoon with some spirit or some such thing, and almost didn’t even pay the lad much heed. He got right agitated for havin’ t’ wait though, so he started shouting at her. He said he was just cursin’ her like any ol’ drunk ornery fool does, but she whirled around and looked ‘im right in the eyes with her emerald eyes. Oh, but they weren’t normal lookin’ eyes that afternoon. They had a piercing glow behind ‘em that looked right through ye, right into yer soul. She said to that lad, and I’ll ne’er forget these words, “You know nothing of curses, you miserable wretch. Let me show you a curse.” An’ she did. He said her eyes blazed green like wildfires an’ ‘afore he knew it, little itchy boils came up all o’er his skin, and whenever he scratched at the itchy suckers, little black spiders crawled out. His whole body was covered in these spider filled boils! I shudder to think about it, just imagining spiders crawling on me skin gives me the heebie jeebiees, but spiders crawling out from under the skin? That’s a whole ‘nother level of creepy. O’ course, you could hear ‘is scream clear down to ol’ Jebs tannery, and that’s pretty far considerin’ the walk. Anyways, he ran right outta that mill and left his corn fer the miller t’ take as he pleased.” “The lad ran all over town that afternoon, screamin’ and shoutin’ at the top o’ his lungs t’ any who’d listen. “The millers daughter is a witch! Esmerelda is a witch! She cursed me with boils and spiders!” an’ he’d show ‘em to any who’d look. It didn’ take the town long to rabble rouse outta their homes. The good townsfolk grabbed their pitchforks an’ torches, and marched right down to the millers house, shoutin’ for missus Esmerelda to show ‘erself. She knew they wasn’t up to no good that afternoon. She’d seen what they’d done to others suspected o’ witchcraft an’ sorcery, so she wasn’t gonna stick around long enough to have any o’ that. Before the townsfolk even got close to her house, she was gone into the Blackwood.“ “Back then, it wasn’t a cursed forest like it is today and the good townsfolk weren’t afraid to go in it for an afternoon picnic. But that all changed that evenin’. None o’ the townsfolk could find the young missus, but they were out for ‘er blood. Rabble rousing will do that to ye. A few o’ them were decent hunters, so they went off back home and fetched the houn’ dogs. Houn’ dogs are pretty good at fetching foxes, and young missus Esmerelda was quite a foxy lady, so they didn’ have much problem pickin’ up her scent that evenin’. The hunters said they’d go right into the forest and bring her back and then she could stand trial for her sorcery before the whole town, and then she could face the stake like the rest o’ them did.“ “We all heard it. The screams were loud as sin. At first, we thought the hunters had captured Esmerelda and she be puttin’ up a fuss. We all waited around for them to bring ‘er back, but hours went by an’ nobody e’er came outta the Blackwood that night. It later occurred to us that the screams we ‘eard were the hunters themselves. That was the last evening anyone ever saw them hunters, bless their poor souls. We all looked at each other with scared looks in our eyes. Nobody slept well that night. How could ye, when ye know there’s a witch prowlin’ the nearby forests? The next mornin’, a ranger set off to follow the tracks of the hunting party. No one ever saw or heard from ‘im again either. He got snatched by ‘er. From that day on, nobody dared to go into the forest again until the witch was dealt with. Some nights, if yer really quiet and still and listen t’ the wind, you can still hear her talkin’ to those ghosts or spirits, or whatever they are. T’ this day, the Blackwood is cursed. Any poor fool dumb enough to be out in that wood after sundown is a gonner. Probably cookin’ in ‘er witches brew. Stay outta the Blackwood or the witch’ll getcha.” Herby leaned back finished and out of breath. The villagers shivered a little in the darkness, a little from the cold of night, and a little from fright. The Blackwood forest behind them loomed menacingly in the darkness. One by one, the villagers gave their farewells and sauntered off to their homes for the night.
  8. slayemin

    More Contract Work

    It almost feels like it hasn't been worth writing an update for the last month because so little "progress" has been made on Spellbound. But I suppose such is life, and it too must be captured and noted as a part of the journey of an indie developer. I have still been doing various contract projects for both corporate clients and small game studios. On the contracting side, I've decided that it would be a good idea to subcontract work I can't do to other people and then add my management fee to their rates. I currently have my former artist working on a small contract project, so it is a viable business idea. He charges me $35/hour and I charge the client $50/hour for his work and I keep the difference. It's not much, but its a good start. In the future, I will raise his rates and pay him more when there is more work and larger projects, but I don't want to make public promises I can't keep. The hard part will be finding enough work to keep everyone busy. I've also been playing a light support role to my girlfriend. Her business is taking off and she's easily become the primary bread winner of the household and that relieves financial pressure from me, allowing me to continue working with minimal income. I can't stress enough how grateful I am and what an impact it has on my creative pursuits. A few days ago, she had a senator from China come and visit her company and our ranch. He was really interested in seeing my VR game, so I gave him a demo in my office. My roommates are all sales people as well, so they got to try out the game at the same time. One of them was instantly motion sick, but the other really enjoyed it. Probably the best takeaway from this was just how bad my user interfaces actually are -- they are not intuitive enough at all for completely new people to use. Also, the pacing of the action is also too rapid for novices, so I'll need to redesign my tutorial level to be more "tutorial" focused than story/immersion. Anyways, the Chinese senator was very impressed with what I'd been working on. I have a feeling that I may have a trip out to China in my eventual future. I think the Chinese market for VR is thirstier for content than the North American market, so it would be great for me to see first hand what the market landscape looks like. A fellow VR game dev told me the other night that he's been wanting to show my game to other people, but the trailer for the game is so out of date that it doesn't do the game proper justice. I completely agree, it's two years old and features old technology which I don't support anymore. Here's the stupidest objection in the whole world: I don't know how to produce a good game trailer. This is extra stupid because... I work in an office filled with film people who could help me. What's wrong with me? I'm a bit afraid to ask for help knowing I have no money to offer. I have been doing a lot of reading of epic fantasy books on the bus ride too and from work. I'm currently reading through the "Legend of Drizzt" series by R.A. Salvatore. Every time I read one of these epic fantasy books, I feel totally inadequate as a writer. I have a lot of self doubt that I could produce anything as good. Despite that, I'm going to have to push hard and write out a story for Spellbound. The writing is going much slower than I would have liked due to various distractions (ahem, contract work and lack of funding). I also feel a bit daunted/overwhelmed by the size of the writing project and what it's going to take. I should just shut up, stop whining, and start writing. "Yeah, Eric! Quit yer moanin', bitchin' and belly aching and get back to writing!" *whip crack* I have been entertaining the idea of producing another type of nature VR travel experience using 360 videos. It would be much easier and faster to produce and could turn into a new revenue source to fund my development of Spellbound and build my brand a teeny bit more. I must find some time to produce a rough prototype and see if its technologically viable. I've written out a 2 page business plan and it seems pretty good (but all of our own ideas sound good!). This idea has passed through my feasibility filters and its time to start figuring out what it would take to produce. Anyways, it doesn't hurt to give it a try and see what happens. On another note, I think some of my best ideas come to me while I'm walking to work. There's just something creatively magical about the act of walking and thinking. It really gets the juices going. I remember this one time I was working in Iraq on a tough problem with relational databases. Somehow, I had to get multiple records from one table to match multiple records from another table. I couldn't figure it out for days while sitting at my desk, but then I went for a long walk on base and solved it in my head. I came back, implemented it, and it worked perfectly -- it required an intermediary table to store lookups. Two days ago, I was walking a mile to my bus stop (in the rain) thinking about "stuff". The night before, I had been tutoring my girlfriends son on math homework. I have also given lectures at my former university and local meetups on game development and design. I have worked in Iraq and Afghanistan to rebuild war torn societies, and through my experience, I have concluded that the underlying foundation for a peaceful and prosperous society is an educated society. So, if you want to bring peace, prosperity and compassion to the world, start by educating people. I happen to love the acquisition of wisdom and the feeling of enlightenment it brings, so my way of sharing that is by teaching people what I know and hoping they too can share my passion. On my walk, I got to thinking: What if I give lectures in VR where people can learn something? It would be done within the universe of Spellbound, so the learning experience would be within a classroom of budding wizards, being taught be an old, gray bearded wizard (me). The character animations could be driven by a mocap suit and the voice could be recorded easily enough. The instructional material would be framed in the context of things wizards care about, so I'd be giving an hour long class on the intricacies of alchemy and brewing a witches pot, and it would be about selecting the right proportion of herbs, spices, ingredients, and cantrips. On the surface, it would be a lesson on magical brews, but in truth, it's a lesson on fractions and ratios. It would be a great fake out, where people come into a classroom expecting an hour of entertainment (which it is!) but they'd really get an hour of education. But, the lesson would be framed and presented in such a way that the audience doesn't realize its learning something else which is valuable in the real world too! I could produce a dozen lectures on various topics of interest, framed in the context of advanced wizardry, and people could attend my lectures in VR. If I can convey my enthusiasm for the subject, it'll be infectious and people will want to see all of the other lectures. What seemed like a action role playing game on the surface, had a lot of secret surprises on the back end. Some people may not be interested in this academic part of the game and prefer action and adventure, but others may be only interested in the academic side -- There's nothing wrong with wizards who spend most of their time in the academy advancing their own knowledge. After all, that's what wizards are predominantly known for! I think if I embed secret rune combinations within the lessons, students can get unique magical rewards by paying attention in class and it can be just as rewarding as exploring an ancient dungeon. I like this idea; I'll have to think about it more and let it ruminate. Lastly, I've been continuing my work with the Leap Motion and integrating it with 360 video. Check it out here: I heard from my partner that some sales guy saw our work and liked it so much that he said if we finish this app, he'd be willing to sell our services to other companies. If that brings in more work and it pays well, I'd be all for it. I'd eventually want to hire someone else to work for me and take over the production and I'd move myself into more of a creative managerial role, but for now, I have to keep building out the tech and envisioning how this will work. I've been trying to unite the film industry and the gaming industry for over a year, so this sort of represents a culmination of my efforts and helps create a sort of new type of media. I'm excited to see where other creatives can take this. Anyways, I still have a lot more work to do here and this is still evolving quickly, but I think what we're building here may be the first of its kind in the world. I'm excited.
  9. slayemin

    Contract Work

    I don't know what part of the world you live in, but there's no way I could sustainably charge people $100-200 for working on their projects. Before going indie game dev, I used to be a senior dev making $240k/year. I'm a professional developer. This work is my profession which means I make my living from it. That means I need to make enough money every month in order to pay my costs of living (food, rent, bills, costs of living, etc) and also add in some profit margin to make it worth my time. If a client can't afford my rates, they're the wrong client for me and I turn them down (ie, most indies). But you're right: I can't compete on price with run of the mill developers based in India, charging $10-15/hour for their work. No way. I have to compete in better ways. I'm local. I can come visit an onsite location daily if need be. English is my native language. I have the same cultural value system. I have 19 years of experience. I'm not a code monkey, I look at all work I do in context to larger objectives. I can work effectively with people and communicate clearly. I complete my projects on deadline, on budget, on spec. My code is maintainable. I can teach/mentor junior devs. I'm also pretty specialized because I work in VR, but also have a broad range of experience to pull from. I'm worth far more than $75/hour, but that's what I was charging for now (to build a client base) and it was a pretty good deal. I have a friend (John) in high school who started his own company. He needed to build a specialized app for his business, so he decided that he would outsource it to India and save money. On paper, it made sense. Why pay an american professional when you could hire 5 Indians for the same price? You'd get significantly more work done for the same cost! Or, the same amount of work done for a fraction of the cost! My friend dove right in and hired a team to build his app. His budget was around $20k. He discovered that his biggest challenge working with a remote Indian team was the communication gap. He could write a spec sheet and functional requirements, but what he got rarely matched and was buggy. He had to send it back for rework multiple times. The code was often a mess. The language barrier made it hard for his team to understand him. The cultural difference made him have to not tell his devs they were "wrong" on something because their feelings would get hurt. QA was a nightmare. When all was said and done, the project costed him $50k, was very behind schedule, met functional requirements, but was unmaintainable. I thanked him for telling me his story and woes. Not every international developer is bad, but the point is that the true costs are more than just the dollar amount you pay (time, team management, stress). Lastly, there are some devs who do work for really low rates. They seriously undervalue themselves and don't charge high enough rates for what they're worth. This has been me, even at $75/hour.
  10. slayemin

    Contract Work

    I have a hard time believing that the average developer salary in Seattle is $50k (source?). No way. I was paying my artist $50k, and that came out to $24.05 an hour. The minimum wage in Seattle is $15/hour, so a developer who went to school, got a 4 year degree in computer science, makes $9/hour more than a starbucks employee? That doesn't sound right. The biggest employers for developer talent out here is Amazon and Microsoft, and both pay devs between $70k to $140k, depending on experience and position, so their hiring volume would skew the market average pretty significantly. It's very well worth pointing out the difference between a full time employee and a contractor as well: Contractors have to charge higher hourly rates because they have downtime between gigs, so if you want to make the equivalent salary to an FTE with less hours, you have to charge more. It's worth it though, the contractors are usually specialized experts who can hit the ground running and become rapidly productive, all without the typical overhead management costs of staffing.
  11. slayemin

    Monday News #4: Hard drive failure

    You're only as recent as your last backup
  12. slayemin

    Contract Work

    Yeah, it may sound like a high hourly rate for a contractor. But I think comparing me to a typical contractor is sort of an apples and oranges comparison. A typical contractor would be someone who hops into an existing project and contributes code to it, progressing the project forward a bit. In my case, people give me the whole project and expect me to finish it from beginning to end. It's comparable to contracting a company to produce a commercial vs hiring an individual to be a part of the film crew. People will pay me to deliver a product to them -- they don't care how I do it or what it takes, so long as I can deliver it on time, on spec, and on budget. If I have to hire a crew of people to help me, they don't know & don't care. They're contracting a production company, and I just happen to be the sole staff member for the time being -- they don't need to know that, but it also won't always be true either because larger projects may require me to staff up. So, if I quote someone $10k for a project, my actual hourly rate will not really matter. In some ways, I think that thinking in terms of an hourly rate is more of an "employee" mindset than an entrepreneurs mindset, and I need to break myself from that habit because its holding me back. Note: I'm in Seattle, which is like Silicon Valley 2.0
  13. slayemin

    Contract Work

    Yeah, that's exactly what I'm thinking. I may eventually use a template to create products for people, but it's a template I created based on common use cases and needs and I have to be careful to not let the capabilities of the template limit what I can offer to clients. I'm going to switch to charging by project instead of by hour, and the cost is going to be a function of specs and complexity, and my hidden cost variable will be how much R&D I think it's going to take. The R&D costs are going to be the mystery box in terms of time costs and the biggest risk for cost overruns, so charging by project will insulate clients from that risk (as you mentioned). My girlfriend also tells me that if I charge way below the going market rate, people will assume that I'm not very good. There's an implication of "higher price == higher quality", and "higher price == more serious".
  14. slayemin

    Contract Work

    I need to make money to fund the further development of my game. So, I've been doing paid contract work in VR. Most of the work is pretty easy for me and consists of producing VR applications which run 360 videos with some interactive GUI elements embedded into it. I also have been helping other game developers produce their games. Initially, I charged $50/hour for my early VR programming work. I believed that I needed to figure out the development process and it would take a bit longer because it was new to me, so I felt bad charging a higher rate. I got it figured out now, so I raised my rates to $75/hour. I... think I made a mistake. The way I came up with $75/hour is pretty straight forward. I took my previous annual salary and divided it by the number of hours in a full working year, and that gave me a rough ballpark on my hourly rate. The flaw in this approach is that I was assuming that the amount of work I have would be constant, that I would be working a full 40 hours a week with billable hours. The reality is that I have huge gaps between projects, so that means I have huge gaps between billable hours. So, the general intuition would be to increase my hourly rate, right? I think that's also a mistake. The problem is that I've gotten too fast. It used to take me something like 10 hours to produce a 360 VR video app. That's because I built it from scratch. Now, I have a code base and template I reuse. It takes me about 2 hours to produce a simple video app. With an hourly fee structure, it's more profitable for me to work slow so I can charge higher bills. But I can't do that, I'm an honest man and my integrity is priceless to me. I'm also a lazy engineer which causes me to strive for efficiency so I don't have to do tedious, wasteful work. Spending 10 hours on a 2 hour project would feel like a waste of time and an antithesis to common sense. So, I'm tentatively thinking that the correct fee structure is to charge a per project cost. If I quote someone for $5000 to complete a project, that's what I'll charge regardless of how long it takes. If I can finish the project in 5 hours, congrats, I just made $1000/hour. If it takes me 50 hours, then I made $100/hour. Now, I'm properly incentivized to work fast and efficiently. The faster I work, the more rewarding it is. This comes with some risks as well. What if I estimate that a project will take 15 hours, bid accordingly, but it really takes me 30 hours to complete? I'm making another mistake here... I'm not taking profit into account. If I step outside of myself for a moment and pretend that I'm an employee to myself, and employees are paid an hourly rate (let's say $75/hour) and I'm bidding on the cost of a project based off of just my raw production costs, then I make $0 in profit. All of the income goes directly into paying for the employee salaries, leaving nothing for the company, meaning growth is impossible and I lose money over time due to overhead costs. Instead, I should be taking the employee salary ($75/hour) and multiplying it by a factor of at least 2.5x. If I replace myself with a hired employee and keep the same fee structure in place, then the company is equally profitable because I am interchangeable with other workers. If I add more workers to the team, then of course my bid estimates will change. So, the total bid = sum of all wages * 2.5x; For clients, this could be a pretty good system as well. Instead of having runaway costs inflate a project budget, there is a fixed cost of production. My biggest challenge will be to accurately estimate the scope of work and bid accordingly. If I underestimate the scope, then I eat the cost difference. If I overestimate the scope, more profit, more reward! But then, I also come full circle to the original problem I had: If I originally took 10 hours to finish a project and bid accordingly based off of that time estimate, but through experience, innovation and increases in efficiency I now reduce that same work to 2 hours and bid accordingly, I would still be losing the hourly difference. So, do I bid as if I'm starting everything from scratch because my competitors would be in the same position? Or do I look at the requirements of a project and use that as an input parameter into a piece-wise defined function to assess estimated cost? Or, do I just pick high numbers in a random ballpark and hope to get lucky? Obviously, if requirements change, then the cost should change proportionately as well. If I charged a flat $10,000 for a project given its requirements / feature spec, and then a few weeks later the client decides to add/subtract a requirement, how would I figure out how to proportionately adjust the pricing to reflect the change in scope? I... don't... know... One other thing I'm finding annoyance at is that some clients aren't good clients to take on. Indies and startups are bad because they often don't have money, no matter their good intentions and promises. If it's going to break the bank for them to have me work for them, it's likely they'll be unable to pay me or that it will take 6+ months for me to get paid. I owe people money, I can't keep them waiting because I'm waiting to get paid. If they're sweating over my up front fee of $150, I shouldn't take them on as clients. My policy should be, "If I think they can't afford me, they can't afford me.". It may be better to risk leaving money on the table than taking on bad clients. Maybe I should increase my fee to weed them out? Another factor I hadn't considered are the non-billable hours I put into project efforts: Responding to emails and answering phone calls. On some projects, I've put more hours into phone calls, conversations and emails than actual, billable hours. Now, I want to be a nice person and to be easily accessible to my clients, but every hour I spend on email or phone calls is an hour I'm not spending making money. Every hour I'm not making money is also an hour I'm not working on Spellbound. I'm tempted to charge for my time here, but I don't want to start a stopwatch every time my phone rings or I get an email requiring a response. Maybe I should just pad my estimated hours to account for time spent communicating? Or maybe I should measure the average amount of time I spend doing administrative stuff on behalf of a project, and adjust my multiplier accordingly? Instead of a 2.5x hourly rate, maybe 3.5x? The last few factors I also hadn't been considering is that I'm a freelancer, with talent and experience, ready to hit the ground running, today. I'm not an employee, so I don't get "company benefits". No medical. No dental. No vision. No retirement fund matching. No overhead costs (HR, managers, office space, parking, cafeterias, admin staff, etc). When the project is complete, I am done and go away -- an employee would still incur costs afterwards. No employee liability. Don't like me or my work? Fire me, no mess, no HR hassle, no legal wrangling. That means I have to pay for all of that stuff out of my own pocket, so I need to charge more as a contractor. My girlfriend has taken ample opportunities to remind me that I'm not charging enough. She told me that based on my skill set, I would be equivalent to a "technical editor" in the Hollywood film industry, and they charge something like $175/hour. Based on my background and experience, and how niche my industry is, she believes I should be charging at least $300/hour. That... makes me a bit pale to consider as an hourly rate. I have a hard time believing I'm worth it. But hey, if I can complete a project in hours which would take other people 5-10x longer, if not more, than maybe I am worth it. I recently went and visited a motion capture studio near my office to figure out how I can use them and what their rates are. They charge $3750 for 4 hours, or $8000 for 8 hours. That's a lot of money for a poor indie like me, but... really, it's not a lot of money at all when you think about it. I should be charging roughly in that ball park, right? Deep down inside, I think I feel afraid to charge a lot of money for what I do. But I think I need to reframe the way I think about this. People aren't hiring *me*, they're hiring *my production company*, and for now, I just happen to be the sole employee. If I staff up in the future, I wouldn't feel bad charging high rates to cover my costs. But staffing up would also mean I have to dedicate a significant chunk of time towards staff training, and I'm capable of training staff, so... that means I'm pretty good, right? I guess I just see the work that I do as "easy" and "enjoyable" and I shouldn't be getting paid for this. But, the work is only easy for me because I've got 18 years of experience and the projects I take on are 10x easier than writing my own game engine from scratch, or building enterprise systems for the military. Truly, the biggest risk for me is that the work is such a cakewalk for me that I am bored by it. I was realizing this afternoon that I'm most incentivized to work on other peoples' projects when I'm getting paid really well for them. $75 per hour is not enough money to motivate me to overcome my boredom, but $150/hour is. My girlfriend also tells me that I'm terrible at business, that I don't really have the head for it. I half believe her because she's a lot more experienced than I am, and she's bringing in a lot more money than I am. I've been thinking carefully about what I'm currently doing, how it's not profitable, and what I need to do in order to make my work profitable and worth my time. With my current flow of contract work and my billing rates, I don't make enough money. Honestly, it's just barely enough to pay my cheap office rent. I'm practically treading water, getting nowhere even though I'm working hard. For the last few weeks, I've been thinking that I need to get more proactive about getting money. I need to get out of my chair, put on a nice dress suit, take my VR goggles, and go door to door at every company and show them what I can do for them and how it can help their business. I need to figure out my sales pitch, refine it, and go get myself some big work. I believe in VR, I think its the future, I am bullish on its prospects, and I can sell. I have proven to myself that I have the personality and capability to sell, I can build what I sell, so... I should just get up and go do it. I'm optimistic that I could do well, but I'm sort of holding myself back somehow. The dream is that I do well enough at bootstrapping that I can work myself out of every job and become more of a CEO/producer type, hiring people to replace me. Programmer? Hire that out. Sales guy? Hire that out. Film guy? Hire that out. Hire people for everything -- delegate -- don't get my hands dirty, don't get into the weeds. If I do, I'm still doing it wrong. While I'm fully capable of writing code and producing everything myself, I can't scale. I would be just one guy, taking on projects with a scope of what only one guy can complete. Big projects = big money. I also sort of think that I should split my time 50/50 between providing services to clients and creating my own software applications and releasing them online. The problem with exclusively doing work for clients is that it fixes my scalability to whatever workload my production company can handle. My throughput is fixed, and thus my income is limited by my throughput. It would be a trap which limits my growth potential. However, if I build and release my own apps at the same time, my growth potential is limited only by my marketing and sales capabilities. Once an app is completed, I can make an infinite number of copies in an instant and sell them. If I diversify and make several apps in several different market categories, a few of them are bound to succeed. I have been particularly infected by an idea which could potentially establish a new market category for content in the VR market (I'll share details after I execute). If I can produce it, market it, and sell it, and it thrives, then I could scale it out and go big. I'm planning on creating a working prototype this spring and releasing it to the market to see how it fares. Anyways, the point is that it would be easier to make $1m by scaling out a successful app than by scaling out client services, but a successful app could also be an additional service category offered to clients. However I do it, I will fund the production of Spellbound and I will have a well funded team working on it...eventually. Anyways, I did something cool the other day. I integrated Leap Motion with 360 videos, so you can use your own hands to pan the camera around. I'm also going to add in finger taps for pressing buttons, so people can feel sort of like Tom Cruise in Minority Report. The placeholder video was shot a month ago at a Dell factory in China as a part of their effort to be transparent about their production pipeline. Check it out:
  15. slayemin

    Unreal 4 - Procedural Terrain (GIS)

    Okay, I think I have a rough idea on what you're doing. Is this ultimately going to be a military simulation used by the US military or foreign militaries? I'm assuming US. Do you have a contract already? Have you gotten funding? What branch of service are you targeting? What unit types are going to be your customer? What classification network are you going to deploy to? (niprnet, centrix, siprnet, jwics, etc) Have you looked at competing products which already overlay high res satellite imagery with elevation data from GIS databases? Can your app connect to a map server such as GCCS? Are there going to be any licensing/EULA restrictions you need to be aware of with UE4 in regards to military use? If this is ultimately going to be used for military use, information security is going to be important at your org, and you'll have to be very careful about technology export controls and arms export controls. Most of what you build won't be shareable online, especially if it becomes a part of a classified system. Do you have any military personnel as subject matter experts to help you design the app? If you're going the military route and using real life map data, why are you also doing procedurally generated fantasy world maps? That sounds kind of like a distraction from the main mission.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!