Dev. Log 003: Need to Pick Up the Pace

One the hardest to do in Game Development is maintain a Dev. Log. One, how you say “replace 500 line of crappy old performing code with 300 line of less crappy code for a mild performance increase” in way that is interesting to the reader. Two, after writing those 300 lines of code for maybe the fifth or sixth time, you sure do not feel like writing about it. Nevertheless, for the sake of accountability, this needs to be done.

Overview

In all honest, there have not be much done on the project to talk about. Most of the change are under the hood. Moreover, while you will be never see them, they will have a major effect on game play and development. First, I made some major changes on how I will be programming the project. Next, I have started working on the AI system while tweaking the character stats system. Finally, I have done a little of the story and game mode development.

Development Style

As stated in a previous blog post, I will not be continuing to use Unity ECS at this level of development. Based on time invest in the development of the ECS based Character Controller, developing using Unity ECS style, writing ECS native coding is not worth the time in the prototyping level of development. From here on out, all code will be wrote using Mono behavior and be rewritten as Unity ECS code if it make the cut to be in the final game.

Work in Progress

Enemy AI

This week I have started with a system I have struggled with in every game I have work on. The dreaded NPC AI. It only of few systems the affect the entire game. A good AI system can make or break an entire game based on how well the system operates.

So far, I have just barely broken the ice on the NPC system. NPCs can move about the map thru a step of waypoints or randomly selection point on the map within radius of the start point.  In addition, NPC can detect if the player is within a given area and insight. Once the NPC has seen the player look enough, they will become suspicious and will search the area the player was seen. If the NPC clearly identifies the player, they will start to chase the player.

Finally, I have been rework the character stat system develop by BurgZergAcrade in the Hack and Slash Tutorial and combining it will stat application information based on Final Fantasy XV. Anyone who want to get into Unity3d Development should definitely check out this tut series.

 Gameplay Element

Last but certain not less are the new additions to the Gameplay. Project Rebirth is a Hack and Slash Action RPG with magic use that takes place in a modern time period. One of the design problems I have since day one is how you do you tight fast pace hack and slash together with magic. I have been replaying my favorite Hack and Slash games to find some inspiration. Generally to use magic in a video, you have to have menu system where go in and selection the spell you want to use. This is slow and clunky system to use and severely breaks the flow of the game. In addition, unless game speed slows whenever the player open the menu, using magic penalizes the player for usage.

Right now, I have two possible solution, Magic attack map, similar to system used in Remember Me by Capcom and Dontnod Entertainment and Magic system used in Wizard of Legend. In system A, player will select spells to be auto launched after a given attack. This system speed up magic play, it would make comboing and chaining attack more difficult.  In addition, a large UI system will is needed.

The second system I have in mind is a combination of the rogue like game Wizard of Legend and Dragon Age games. Each spell will have a specific animation. Player will map the spell to a button. The triggers will be used as modifiers to allow for more magic slot.

 

Posted in Dev Log, Development, Uncategorized, Unity, Updates, Video Games, WIP | Tagged , , , , , | Leave a comment

Tax Consequences of Crowdfunding

Every so often, I come across information that is invaluable to starter Indies Devs.  There is a lot of information that we need to know. And let’s be honest the internet is not always the most accurate place to look most things up. However most of us can not afford the attorney consultation fee just to let up general information.   So I am going to try to re-post info I find help in the starting of my company. So that my errors can stop yours.

 

Also I am not an attorney or  CPA and am not acting as your council. You should definitely look into your look laws and regulations for regional information.

 

Excerpt taken from Gigi Brady, CPA Newletter

Tax Consequences of Crowdfunding

Crowdfunding websites such as Kickstarter, GoFundMe, Indiegogo, and Lending Club have become increasingly popular for both individual fundraising and small business owners looking for start-up capital or funding for creative ventures. The upside is that it’s often possible to raise the cash you need but the downside is that the IRS considers that money taxable income. Here’s what you need to know.

What is Crowdfunding?

Crowdfunding is the practice of funding a project by gathering online contributions from a large group of backers. Crowdfunding was initially used by musicians, filmmakers, and other creative types to raise small sums of money for projects that were unlikely to turn a profit. Now it is used to fund a variety of projects, events, and products and in some cases, has become an alternative to venture capital.

There are three types of crowdfunding: donation-based, reward-based, and equity-based. Donation-based crowdfunding is when people donate to a cause, project, or event. GoFundMe is the most well-known example of donation-based crowdfunding with pages typically set up by a friend or family member (“the agent”) such as to help someone (“the beneficiary”) pay for medical expenses, tuition, or natural disaster recovery.

Reward-based crowdfunding involves an exchange of goods and services for a monetary donation, whereas, in equity-based crowdfunding, donors receive equity for their contribution.

Are Crowdfunding Donations Taxable?

This is where it can get tricky. As the agent, or person who set up the crowdfunding account, the money goes directly to you; however, you may or may not be the beneficiary of the funds. If you are both the agent and the beneficiary you would be responsible for reporting this income. If you are acting as “the agent”, and establish that you are indeed, acting as an agent for a beneficiary who is not yourself, the funds will be taxable to the beneficiary when paid–not to you, the agent. An easy way to circumvent this issue is to make sure when you are setting up a crowdfunding account such as GoFundMe you clearly designate whether you are setting up the campaign for yourself or someone else.

Again, as noted above, as the beneficiary, all income you receive, regardless of the source, is considered taxable income in the eyes of the IRS–including crowdfunding dollars. However, money donated or pledged without receiving something in return may be considered a “gift.” As such the recipient does not pay any tax. Up to $15,000 per year per recipient may be given by the “gift giver.”

Let’s look at an example of reward-based crowdfunding. Say you develop a prototype for a product that looks promising. You run a Kickstarter campaign to raise additional funding, setting a goal of $15,000 and offer a small gift in the form of a t-shirt, cup with a logo or a bumper sticker to your donors. Your campaign is more successful than you anticipated it would be and you raise $35,000–more than twice your goal.

Taxable sale. Because you offered something (a gift or reward) in return for a payment pledge it is considered a sale. As such, it may be subject to sales and use tax.

Taxable income. Since you raised $35,000, that amount is considered taxable income. But even if you only raised $15,000 and offered no gift, the $15,000 is still considered taxable income and should be reported as such on your tax return–even though you did not receive a Form 1099-K from a third party payment processor (more about this below).

Generally, crowdfunding revenues are included in income as long as they are not:

  • Loans that must be repaid;
  • Capital contributed to an entity in exchange for an equity interest in the entity; or
  • Gifts made out of detached generosity and without any “quid pro quo.” However, a voluntary transfer without a “quid pro quo” isn’t necessarily a gift for federal income tax purposes.

Income offset by business expenses. You may not owe taxes however, if your crowdfunding campaign is deemed a trade or active business (and not a hobby) your business expenses may offset your tax liability.

Factors affecting which expenses could be deductible against crowdfunding income include whether the business is a start-up and which accounting method (cash vs. accrual) you use for your funds. For example, if your business is a startup you may qualify for additional tax benefits such as deducting startup costs or applying part or all of the research and development credit against payroll tax liability instead of income tax liability.

Timing of the crowdfunding campaign, receipt of funds, and when expenses are incurred also affect whether business expenses will offset taxable income in a given tax year. For instance, if your crowdfunding campaign ends in October but the project is delayed until January of the following year it is likely that there will be few business expenses to offset the income received from the crowdfunding campaign since most expenses are incurred during or after project completion.

How do I Report Funds on my Tax Return?

Typically, companies that issue third-party payment transactions such as Amazon if you use Kickstarter, PayPal if you use Indiegogo, or WePay if you use GoFundMe) are required to report payments that exceed a threshold amount of $20,000 and 200 transactions to the IRS using Form 1099-K, Payment Card and Third Party Network Transactions. The minimum reporting thresholds of greater than $20,000 and more than 200 transactions apply only to payments settled through a third-party network; there is no threshold for payment card transactions.

Form 1099-K includes the gross amount of all reportable payment transactions and is sent to the taxpayer by January 31 if payments were received in the prior calendar year. Include the amount found on your Form 1099-K when figuring your income on your tax return, generally, Schedule C, Profit or Loss from Business for most small business owners.

Again, tax law is not clear on this when it comes to crowdfunding donations. Some third-party payment processors may deem these donations as gifts and do not issue a 1099-K. This is why it is important to keep good records of transactions relating to your crowdfunding campaign including a screenshot of the crowdfunding campaign (it could be several years before the IRS “catches up”) and documentation of any money transfers.

Don’t Get Caught Short.

If you’re thinking of crowdfunding to raise money for your small business or startup or for a personal cause, consult a tax and accounting professional first. Don’t make the mistake of using all of your crowdfunding dollars on your project and then discovering you owe tax and have no money with which to pay it.

Posted in Information, Lessons Learned | Tagged , , , , | Leave a comment

Field of View

One of things I have always struggle with is creating good AI systems. For many of my previous projects, I have had outsourced  that work to a good friend of mine. Unfortunately, they are not available for this project. So I have been searching for a good set of tutorials and code example to improve my AI Programming skills. Last week, I came across the following  Field of View with Editor visualization system and I had to share.

 

Posted in Development, Tutorials, Unity | Tagged , | Leave a comment

Unity3d ECS: Look Back

Over the last month, I have been learn and testing Unity’s new ECS programming structure. I have been working with both pure and hybrid version of the system. Based on my experience, with pure and hybrid ECS, Unity has stepped their game up and Unreal should be feeling real pressure from the company. However, I have to ask to who is ECS intended for?

Due to Unity’s start up and true Indie friendly term of use, Unity3d has been the goto game engine for many first timers, hobby/enthusiasts,and 2nd job game developers. The tools and features found in the 2018.1 release have made it easier to make great looking games in Unit3d. But for most of us, I believe, it is too early in your project to implementing an ECS based coding structure. In fact, I believe that using the ECS coding style from day one of development can lead to the fail of project. Two of the greatest things about Unity’s OOP monobehaviour GameObject approach, is the ability to rapid prototype and deploy code and the isolation of codes. When developing the AI code for and enemy npc, a programmer is initially more with the proper function of code and not how well it function. Over the course of a project, I have found that I can rewrite the same section of code 5 or 6 times. Each time I write a section of code, it is slightly better than the last.

Please understand that I am not saying ECS is not a much needed additional to the Unity platform. I will definitely will be using Unity ECS in Project Rebirth. As I see it, for small team and solo Indies, Unity ECS is intended as am optimization step. Developers should continue make games the way they were prior to the introduction of ECS. Once you are ready to refactor and optimize your code, that is when you want to implement the ECS coding style. There is little to no point in writing high level optimized code that does not make it into your finished project.

Posted in Development, Unity, Updates | Tagged , , | 1 Comment

E3 Electronic Arts and Microsoft Press Conference

This is going to be a short and sweet post. Mainly because I spent most of this weekend working and did not get chance to full break down the announcements. But also by time this post goes up there will be a number of YouTube video and articles analyzing everything that has been said. I highly doubt I can offer any new insights.

So first out of the gates is EA, who only had one real objective this E3 conference. The only thing EA had to do is show they have changed from there Gold digger past. And by all early accounts, they did. No Loot Boxes for Anthem or Battlefield V. Battlefield V will receive regular map and content update for free. Anthem will include paid vanity item: however player will be able to select and view item prior to purchase. Along with this Battlefront 2 is getting a major update. For a detailed bullet point list, Check out the review post by Reddit user u/Loffeno. All in all, good showing for EA, even with the quirky format.

Unfortunately, this evening, the following image start to make its way around the forums.  What exacting are “vital supplies” and how advantage will they give to deluxe edition owner? That is still unclear.

02Bf6JKEl9daQg2IAtWHg5IaNJ4ai0xiYpQ68ggZviQ

 

Now for Microsoft, who has been struggle with keeping exclusive content for the Xbox One.  Prior to the start of E3, Crackdown 3 was delayed again to February of 2019.  You asked for games and Microsoft sorta delivered with  50 games, 18 exclusives, 15 world premieres. Also Microsoft Studios has started a new called the Initiative(Possible tied to the Dream. Build. Play. contest) and obtain four other.

  • Undead Labs (State of Decay)
  • Playground Games (Forza) , who is now working on a non Forza project

  • Ninja Theory (Hellblade and DMC Devil May Cry)

  • Compulsion Games (We Happy Few)

The question that remains is out of 18 exclusives, how many will be released and when? Scalebound and Crackdown 3 were first announced at E3 2014. Scalebound originally  slated for a 2017 release before being canceled while Crackdown  has been repeatedly delayed.  When with Superior hardware in the Xbox One X, Microsoft needs exclusive games and content to stay alive.

Posted in E3, Game Trailers, Thoughts and Ideas | Tagged , , , | Leave a comment

A Wild Pokemon Game Appear

This morning, I arose abnormally early to the initial release trailer for 2 new Pokémon game for the Nintendon Switch, Pokémon: Let’s Go Pikachu and Let’s Go Eevee. Well this new games finale bring Pokémon to the Switch platform and use the console in a different way, I am having a hard time figuring out just who this is a game for.

Based the trailer, Nintendo and The Pokèmon Company are hoping to cash in on both nostalgia Pokèmon Yellow and the hype of Pokèmon Go.

 

Essentially, LGP and LGE are Pokémon Go enabled modern remakes of the 20 year Pokémon Yellow. Players will use a single joy con to explore the world and catch’em all. On top of that players will be able to swap all 150 original Pokémon and their Aloha back and forth bewreen Pokémon Go and LGP/LGE. Also LGP/ LGE will include a local coop mode.

Basic on the trailer, I feel this a game for those children and those who return to Pokémon when Go was released into the world.  I can see parents going out to parks and malls to play Go with their little one and coming home to batt l.j e their newly catch Pokemon in Kanto.  Thru LGP/LGE. This game brings much requested PVP to Pokémon Go. I do believe this game is just a start. Depending on sales expect to see DLC to unlock the rest of the regions or sequels such as Let’s Go Cyndaquil. Well LGP/LGE, are interesting game, and I look forward to playing, these two games do not live up to expectation most of the community has been waiting for. Most pokemon fans were expecting a fall 2017 release of Pokemon Switch title. Only hope that this is enough to hold fans over to the next Pokemon game in 2019.

So what are your thoughts on the new trailer? Are you excited for so let’s go Pikachu and let’s go Eevee or were you expecting more?

Posted in E3, Game Trailers, Nintendo, Pokemon, Video Games | Tagged , , , , , | Leave a comment

What is Dreamer’s Inc?

Ever since the moment I came up with the vision to start my own indie game development group, I have been wanting a manifesto to go with it. A document that customers can hold the group to now, and in the future. Currently, I feel as if developers such as EA, Bungie, Activision, and Bioware are ax; only looking out for their bottom line and shareholders. These companies have forgotten about the gamers that purchase, as well as use their services and products. Over the last few years, we’ve seen game launches that have acquired one bug fixes, incomplete launch titles and broken games.

What is Dreamer’s Inc.? Dreamer’s Inc. is a group with a gamers first mentality. The purpose of Dreamers Inc. is not to draw profit from the industry but to make games that we love and want to play. At the core of the group, every member is a gamer. Personally, I enjoy hack and slash RPG adventure games, like Prototype, Final Fantasy 15 DMC Devil May Cry, and Star Wars Force Unleashed. It seems these games are being abandoned as the first person shooters grow out of control. Dreamers Inc. stands for gamers. This means that every game we release will be a complete game in and of itself. We want to earn each and every dollar that you spend on our games. This idea also crosses over into DLC content. All paid DLC will be fresh and new content. Gamers will never pay for retooled levels

Secondly, Dreamers Inc. wants to be a doorway into the industry for aspiring young talent. Over the past 7 years, I have worked with some great undiscovered talent in 2D and 3D design, programming, and animation. These aspiring artists could be an asset to any team, however, due to location restraint and or not having formal training, a lot of them struggle to find work in the game industry. What I want to create is an environment where artists and programmers can submit their work, with hopes that it can and will be used on the final product. We want to create an environment to showcase next generation work and foster their development. The biggest problem I am faced with at the moment is, trying to figure out how this will work and how to compensate artist and programmers for their work.

Posted in Uncategorized | Leave a comment

Dev Log 002: Unity3d ECS

The last few week has been pack with work. Both at my 8to6 and here doing Game Dev. As I am about to hit the road for 2 week for work, I figure I really should do a post on the state of my work.

If you have been following the development cycle of Unity3d, I am pretty sure you are aware of you adding an Entity Component System into the workflow. With the new “Performance by Default” campaign going on, it is definitely something necessary for the continued viable and growth of the engine.  While this is a much needed feature, I would recommend anyone looking to release in the next year to use an addon ECS system like Entitias. Unity ECS is very much in it infancy and Unity is still determine with direction to take with system. Currently developer have a choice whether to use Hybrid or Pure ECS. To see the difference between the coding of the two style of ECS, check out this video by Infallible Code

Based on the time style of programming and timeline for release, I have decided to test out the Hybrid ECS system in my current project. The real selling point was the Unite Austin Tech demo running on my system. I was about to maintain 19000 GameObjects on screen running at 1080p Ultra in Editor without baked Lighting at avg 45 fps using a RX560 4gb and Ryzen 7 1800x at 50%. I can only imagine what is possible on a 1080 TI or RX Vega. As of May 1, I have the Basic Unity Third Person Character  running using the Hybrid Entity with a few modifications. I have added a Timed Jump and basic hack and slash quick and heavy attacks. I has able to get 51 instances of Ethan running at 150 FPS and the entity controller only take 1.05 ms to run.

Also on the coding sides, The Character and weapon stat systems are 75% up and running. The stats system being used is based on Burgzerg Arcade Hack and Slash Tuts. The weapon item system using scriptable object. I am hoping to one day optimizes this system by adding and editor to speed up creation.

Whats Next?

Since I will be spending the 2 weeks with my cell phone and switch as the only tech with me, I plan on spending the next two week writing out the Dreamer’s manifesto. I want this document to be a guiding light for the company as it moves forward and grows. Something that consumers and gamers can hold me and accountable for.

Posted in Development, Unity, Updates, WIP | Tagged , | Leave a comment

Always Back Up

My father used to say I bought lesson is the best kind if you don’t pay too dearly. Last night I was once again learned a lesson that has been talk to me over and over again. Maintaining proper backs up is crucial to the success of any project.

While working Visual Studio Community last night, my surge protector decided it would be a good time to fail. It’s cause my system to do a sudden reboot and boot looping that you do too my overclock Ram causing instability. After some UEFI bios tweaking, I got my system once again running 3.9 ghz with ram clocked at 3066 mhz and stable.

Unfortunately I’m about 50% of the work I have completed using Unity’s Hybrid ECS architecture has been corrupted. While only a few early prototype scripts were all that was lost, it was enough to make me yell at myself for not having a backup. One of the most important things a programmer needs to maintain proper backups all files. You never know when a hard drive might fail, power outage, or you just need to go back to a previous clean version other section of code.

Posted in Development, Lessons Learned | Leave a comment

It’s Been Awhile.

It has been awhile since I last posted anything of substance to this to devblog. A series of unfortunate event cause me to talk a long hiatus from gaming, game development, and tech. However, I am back with restored vigor and ambition and a shiny new Gaming pc rig.

So the big question is where does this journey began? A lot has change around the game development world since I have been away. Unity3d is now implementing an Entity Component System, HDR Pipeline, and Cinematic system. All features I can wait to get me hands on and learn more about. For this iteration of the project I will be attempting to learn and use the unity ECS system. The first script that we going to attempt to apply ECS to is the character controller system.

Posted in Development, Introduction, Thoughts and Ideas | Tagged , , , , , , | Leave a comment