Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

WuliRocks new game!

Discussion in 'Made With Unity' started by Wulirocks, Jul 11, 2022.

  1. Wulirocks

    Wulirocks

    Joined:
    Mar 18, 2013
    Posts:
    63

    WuliRocks


    Hi there! So what is this post all about? Initially it is about showcasing something made with Unity, and I hope I won't strive too much away from that, but as a solo developer, you can't just develop, you can't just build as you have to take into account many other things like marketing, monetization, distribution, all of which revolve around the spine, which is the product itself. So, this is a 2D sandbox, when I build it, I though it would be a great opportunity to be creative regarding the monetization especially with that genre. Could I sell tiles/block packages? Could I sell storage? (if player needs more space to save multiple world maps), should I sell characters, if so that means the animation engine must be able to customize characters... So that is what I mean by the connection between the way the product is build and the way it can be monetized. In my case, I am still focusing on polishing few things but all the ideas above can be applied. It is currently being tested in here:

    Demo https://wulirocks.itch.io/wuli

    Since the game is connected to the Microsoft Playfab server https://playfab.com/, I can gather some info on how the game is being played and I am waiting for some small streamers live reaction videos which in my opinion is a really fun way to see how players handle it (If the streamer has a genuine personality, that goes without saying). I will probably post some of these videos here when they are available.
    • Footage


    Below is a screen capture of something I built as a final test before sharing to make sure all tiles work, that they look great, that the map saves and loads without issues.



    Also, some editor tools were built so I can modify the drawings and the tile UVs at runtime without having to: first quite play mode, do the changes, save, then reload the newly modified tiles. Modification at runtime are saved in a .Json and .Bin file which is then sent to Playfab through their REST API.

    In a game like that, one has to realize that editor tools are as much work as the game itself, fortunately most editor tool here use methods that are also used by the game at runtime, so it is like hitting two birds with one stone.


    In a game like that, one has to realize that editor tools are as much work as the game itself, fortunately most editor tool here use methods that are also used by the game at runtime, so it is like hitting two birds with one stone.



    • 2D terrain Engine
    It started off the unity asset store "2D Terrain Engine", to build this 2D sandbox https://www.gameassetdeals.com/asset/115381/terrain-engine-2d which is amazing but got deprecated and I never really understood why. After that I added and modified tons of stuff.

    • From PC To WebGL
    On PC, things where pretty ok in term of optimization, with a 16GB computer. But when the player wants to load a map previously saved, that's where some trouble arise: it loads 5 big chunks of data from Playfab and allocates 35MB of memory each, which freezes the game for few seconds for every chunks of data loaded and after that the game runs pretty well. But, it is quite annoying. I guess these pieces of data should be cut out in smaller pieces? Below, a small screen capture so you know blocks are sorted by categories, wall tiles being the ones with colliders --> Flash news! switching from one category of tile to an other was just reported to be a bit slow... an other thing to fix ASAP!





    • How to get blocks and start building
    There is a Quest mode and a Creative mode with enemies and various task to complete, but

    Quest mode has been disabled for now as I would like to focus only on one thing at the time in this testing phase.

    Therefore, in this version, you can only test creative mode, which means you have access to a large amount of tiles/blocks right from the beginning, so you can focus on building right away.

    .Just make sure to save your map and to wait for the saving process to finish or you may end up with some corrupted data.



    It is always fun to look at what people build even if it is a modest house because it is usually something I would not have though about building my self. There is currently about 200 block designs available... and more will be added as we move forward.


    Here is a GIF that shows the steps, going in the crafting menu, adding tile in the main inventory, then equip the tile to use it...



    • Eyedropper tool (use it to go faster)
    By the way there is a trick to go even faster: put your cursor on top of a tile in the environment (not the inventory) and press the key "i" to auto-select that tile. It is a bit like an eyedropper tool. You will be able to use it right away.

    • Playable Demo
    Regarding my upload on Itch.io, among the players who run the web player, some don’t have the patience to wait for the loading time (the build is 80MB, sure my texture could be optimized ), so I guess the loading time could be the first issue to be taken care of... For those who actually tested and built few things already, they really enjoyed it, and finally, there is those players who just can't figure out how to play. It happens...

    • Login Bug(fixed)
    I had a bug for few days where new players were added to the same player data base… it is actually and interesting story from a technical stand point, but I would be digressing too much if I were starting on this. Or, for WEBGL developer out there, I will give you a hint. I was using in my Playfab create account request, customID = SystemInfo.deviceUniqueIdentifier. And do you know what SystemInfo.deviceUniqueIdentifier will return on WebGL? See if you can reply in the comment…

    • Going live
    These are very modest numbers, I share it now, because in few week from now, no one will believe we started at 4 new players per days, with 2 backlinks on internet , and a Twitter account.



    • Web3 Contest, for NFT or Fiat currency?
    It seems that, NFTs have a bad reputation in the traditional gaming world.

    But I feel, for a game like that, where player may spend hours crafting cool stuff, the Web3 offers the perfect opportunity to reward them, and I really though it over. The first contest will probably be small, just to test things out and also the rewards may not involve NFT for various reasons but simply, XP points, Discord roles or fiat currency for highly engaged contributors. A service like Crew3 will be used for management.

    Sorted from the smallest to the highest level of engagement you could:

    1. simply share/retweet some images of the game on your Twitter.
    2. create a house following some requirements.
    3. make a nice screen shot of that house, then tweet it.
    then submit it to Crew3 to validate your entry. (a link will be posted)

    How much would be the rewards? I am glad you asked. Only those who join the Discord will know. Just kidding!

    The amount is undecided at the moment, but it seems like the best way to determine this is based on people’s overall level of engagement. The more people participates, the bigger the reward will be. So keep your eyes on Twitter and get your voice heard on Discord if you think your opinion could add value to this topic.

    This is not just about setting up some contest rules, this is about experimenting, and maybe even creating new business model.

    Discord: https://discord.com/invite/TZszHsf92c

    • Marketing got to be original!
    With this approach, instead of having a marketing budget allocated to marketer/influencers, that budget get distributed among players directly thus removing the middle men and that is an other valued aspect brought by Web3 technologies and/or services like Crew3 https://crew3.xyz/ .

    • Characters
    Below are not up to date characters but that should give you an idea. The game has it own animation engine and I did not want to use Unity animation tool because of one bug that never got fixed (that would be too long to explain). Character have 42 layers, and for customization, there is something like:

    10 hairs, 10 pairs of eyes, 10 torsos and many other variations that I am just going to skip for now. The in-game generator can spit more than 10K variations...

    But let's not be too hasty here. Some of them are ugly or make no sense, so I coded quite a few restriction to forbid certain combinations to happen.

    In the playable demo, only one default character is available, for now and how to get these character would be a subject of its own, so I will leave it there...



    • Conclusion
    I hope they where few interesting things in this post, if it was too long or if I went off track talking too much about tiny details, let me know...(for next time) or if there is something cool I could have talked about but omitted to do so... just let me know and feel free to share your thoughts or questions!

    Discord: https://discord.com/invite/TZszHsf92c because --> Your input, is what really matters!

    Twitter: https://twitter.com/wulirocks because --> I post updates 5 times a week, you won't miss anything.

    Playfab: https://playfab.com/ because --> Self distribution gives developers more freedom and control.

    Asset store that helped me out:

    More Mountains: https://assetstore.unity.com/packages/templates/systems/corgi-engine-2d-2-5d-pla...
    2DTerrainEngine: https://www.gameassetdeals.com/asset/115381/terrain-engine-2d Rewired: https://assetstore.unity.com/packages/tools/utilities/rewired-21676**ReIconed for Rewired: https://assetstore.unity.com/packages/tools/utilities/reiconed2-for-rewired-168383

    See you around and thank you for reading through. -Wulirocks



     
    Last edited: Jul 11, 2022
  2. Wulirocks

    Wulirocks

    Joined:
    Mar 18, 2013
    Posts:
    63
    Hello folks!

    From now on, a new articles will be published every week.
    The articles will mention a number of items, including, ideas, upcoming features, bugs, or simply feature that are already in the game
    so player can discover them.
    For more info.

    Playable demo: Itch.io
    https://wulirocks.itch.io/wuli#download
    Discord:
    discord.gg/TZszHsf92c
    Twitter:
    https://twitter.com/wulirocks


    Spawning an NPC and Getting it in the House.



    This is a very basic implementation right now.

    • To add an NPC, simply add a bed and the NPC will appear magically.
    • To get rid of the NPC, simply remove the bed.
    That's all there is to it! That is the fundamental loop.

    This loop will undoubtedly be expanded. For example, a bed should not be placed anywhere by the player.
    Once a bed is placed, an algorithm (90% complete) should check all of your house's blocks surrounding the bed to determine what type of house you built, which will determine which NPC will move into the new house.

    Also, at least in adventure mode, the NPC should take a moment before moving in...

    The server will keep track of when the bed spawned and will notify you once the NPC has moved in. In a few hours, days? I'm not sure yet...







    Skin Bug Fixed.



    BUG:

    The white color on the NPC is due to me forgetting to run a method that handles the colors on different body parts. (That Method is currently being used on the main character on the right.)
    He is not supposed to be holding a knife.

    REWARDS to Implement:

    NPC will generate points, or virtual currency which will help unlock more things within the game and the virtual currency could be turned
    into something else, but we will leave it there, for now...

    It's unclear whether the game is a 2Dsandox in which you gather materials to build villages and evolve through quests, or a more straightforward game maker in which you can access all blocks right from the beginning, build maps, exchange and sell these map to other
    player etc...
    However, in terms of game architecture, it makes no difference. Simply put, switching from one idea to another is possible by adjusting a few parameters.

    In the game there is a variable called "autocraft," and it is just a boolean.

    When "autocraft" is turned off, you're in Quest mode, and you must first gather the necessary materials before you can craft that block.
    When "autocraft" is enabled, you are in Creative mode, and you can immediately begin using the block you require.
    So from the development stand point it is not difficult to switch from one game mode to the others.

    You will be rewarded based on your activity in the game.
    The PlayFab server to which the game is linked keeps track of every tile you add or remove. That would be the most cost-effective way to earn $WU the game currency, (convertible to crypto for those who are into WEB3).
    Here and example of a board (not available to public yet) that shows what blocks a user is using:



    The problem with that is that it can easily be cheated. A player could earn $WU by randomly placing blocks in the world with no intention of creating a valuable map...

    During the last testing phase, a player suggested that chickens be added to create a farm.
    As a result, a brilliant idea was born. The chicken would lay eggs, which would earn the player $WU. However, in order to have chicken, you must construct the appropriate house or farm... using some specified game block.

    In the game, there is an algorithm that can validate the structure you built by analyzing the blocks you used in it. For example, in order for your chicken coop to be validated, you must place a certain number of straw blocks, a nesting box, and so on. (That verification process is not implemented yet)

    Okay, you get it. You build more farms, buy more chickens to produce more eggs, and earn more $WU.
    This game loop could then be used in a variety of ways without changing the game architecture.

    This applied to human NPC, Each one of them will go about their daily business and generate $WU as well...

    Of course, the various timers that keep track of each NPC would run on the server, so even if you are not playing or logged in, the NPCs are still at work.

    NPC could be updated.

    An NPC's equipment may need to be updated from time to time, or an extra item (Block) may be required for its home so it can better perform.

    Sneak peek at some Custom developer tool



    This is the lookup tool. It shows every appearance a Biped can have in the game. These biped appearances are appropriate for anyone:
    It can be applied for the main character, any NPC, enemies, or anything else...(any thing that is a Biped)

    Other parameters such as "idle," "walking," and "attacking" store the number of animations to be used for each of these actions. The reason for this is that it believes that a character's appearance should be linked to the way it moves. For example, a skeleton may not move the same way a zombie move etc...

    [11/17]

    Example:

    A skeleton, a zombie, and a human. Will they employ the same walking animation? Perhaps not. In that case, the tool allows you to design the character's appearance while also defining how it moves.
    Character behavior is something else, and it is defined in a different tool.


    [11/18]


    That is the default design that you start with when you begin your journey. Later on, the default character could be generated randomly and be truly unique for each player.

    [11/18]


    That is the player's first piece of armor. The procedure for obtaining this armor has not yet been defined. Can you make it by yourself? Should you construct a structure to invite a specific NPC (in this case, a blacksmith), he will begin working to deliver your new armor.

    [11/18]





    Another piece of appearance data that can be viewed in the "appearance window" tool. Even though that skin is currently be used for an adversary, you could theoretically play as a goblin if you so desired.

    Itch.io
    https://wulirocks.itch.io/wuli#download

    Discord:
    discord.gg/TZszHsf92c

    Twitter:
    https://twitter.com/wulirocks