• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

Blogs

Our community blogs

  1. I bought this little fella (http://www.wacom.com/en-br/products/pen-tablets/one-wacom-m) a while ago but i never found time to play around with it. This weekend was very hot so i was mostly home and i’ve drawn a background for the game, hope you dig it. Took me a few hours.

    Background

    The post Backgrounds work appeared first on Fat Pug Studio.


    View the full article

  2. Hello hello!! It's me again with the week 8 development blog, this week we spent some time relocating our studio and discuss the future changes of the game.

    Firstly, we have tried unit-count system which may not be the best resource management for our game, as unit-count may hinder and difficult to balance during progressing character level. On the other hand, we tried a new method of resource management which is a traditional "Mana Crystal" which you gain over-time and killing monsters.

    This resource system will come with another feature "Light Source building", which players will only be able to build within the Light Source area. Our team thinks this system will increase the depth of gameplay and challenges player to solve it with their solution. These Light Source Building will also generate "mana crystal" and there will be mana crystal boosting upgrades.

    We are building a prototype for this system, and if it is fun, we will implement into our next patch!

  3. I've only had about 15 minute to work on this project the last two days. I've been talking about it to potential teammates and thinking about it quite a bit throughout my day, but life is busy and it can be hard to find time. However, progress is still being made.

    Basics of player control (combat, movement, and resource collection) are completed, now I'm beginning to focus on enemy basic behavior. After I get through that, which might take a while, I'll move to wave control, then building basics, then allies, then UI. I have several people still working on some concept art to figure out what direction I'd like to move in artistically for the game, so hopefully by the end of this first prototype iteration I'll have some sample art to implement.

    After I've gotten through this first iteration, I'm going to spend a bit of time focused on design, as I've recently been struck with a couple ideas which could add more depth to the game. 

    Keep up the grind!

  4. New video of this last week. Featuring progress on two games and also showing another one.

    The video is really cool ( i think ), i'm doing better the videos each week.

     

    Enjoy it :

     

     

    Comments about the video, games or anything will be appreciated.

     

    If you know some videos about weekly devlogs please tell me about, i know only about the indie called thinmatrix, his videos are great.

     

    Thanks for your time.

  5. title.thumb.png.a1370bd267540204d2bc4c8e16f72ab0.png

     

    I've finally hit a new milestone. Farkle Friends is finally ready for some closed alpha testing. I'm finally getting close enough to releasing this game I can now taste it. I haven't posted recently as I have been working feverishly over the last few weeks to get to this point.

    Alpha testing will start in the next day or 2. Unless there is a major issue I plan about 2 weeks of alpha testing to work the kinks out. I'll make sure its working good on all the platforms I plan to support. Android, Windows, Mac OS, and Linux. Once all the initial play testing is done, and I have worked out any bugs found, I will then be moving on to some open beta testing.

    For the beta testing I plan on using GamingBetas and/or AlphaBetaGamer. During the alpa testing I plan to investigate these two sites and will choose one or both to help out with some beta testing. I will have another blog later letting you know my choice and how, if possible, you can join to help with the testing. I'm planning another 2 weeks, baring any major issues, for this step. Then I will start preparing for release.

    So if all the testing goes well, and there are no major issues I'm planning to release in about 4 weeks. For sure I will be releasing to the Google Play store. I have a list of other sites to host the PC/Mac/Linux version of the app as well. Here is a list of release site I'm considering. If anyone has any experience with these I'd love to hear about it. I will be investigating them and deciding over the next few weeks. I plan on releasing to Google Play store plus 2-4 others.

    1. gamejolt.com
    2. itch.io
    3. indiegamestand.com
    4. Steam
    5. indiedb.com
    6. gog.com

    I'm really excited to be at this point and looking forward to releasing this to the world. I already have ideas for more games and for future updates to Farkle Friends.

    Happy Gaming

  6. Liza Shulyayeva
    Latest Entry

    A couple of weeks ago I had the genius idea to rewrite SnailLife in Go. I’ve already looked into doing this once before a couple of years ago, but wasn’t really feeling it and stuck with PHP (mostly for nostaligia reasons). Now though, SnailLife is this bloated PHP app. Most of the core functionality is in. After weeks of battling infrastructure issues, when everything was back up and running again, I took a step back and saw how big the app (or rather the 3 apps now) had become. At the same time I’d been reading in passing about Go and became curious, so I figured - why not look into learning Go by rewriting SnailLife? Not because I think Go itself will necessarily make anything better, but because a rewrite might.

    The features are mostly already designed, reimplementing them in another language would hopefully let me focus more on improving the overall project structure while learning the new language of choice. Of course, the “learning the new language of choice” part also increases the likelihood of my turning my messy PHP app into a messy Go app as I go, but…it’ll be fun, OK?

    Anyway, I’m not yet sure if I’ll stick with the Go port or if I’m just amusing myself for a while before going back to the already largely implemented PHP version. So far I haven’t coded anything snail-specific and have instead been focusing on setting up database-related packages. I’ve made the code public on GitLab for now, though not sure if that’ll change when I go into writing the more snail-specific functionality: https://gitlab.com/drakonka/gosnaillife

    When I started the PHP version of SnailLife, I started by building the website and the main functionality that lets users interact with their snails. As time went on this focus switched almost exclusively to the back-end, and to working on functionality that required no user interaction. I realized that this is what the core of the idea was - simulating the actual snails - the brain, organ function, etc - things that the user could eventually influence indirectly, but things that would tick away on their own even if no user was involved. So for the Go version I am not starting with a web front end but with a simple CLI, and focusing on implementing the core of the snail itself first. Eventually I can build whatever front-end I want, or even multiple front-ends if I feel like it. Heck, I could even expose some sort of API for others to make their own apps on top of the simulation (if anyone wanted to, in theory).

    Go notes to self

    • Open and close DB connections as little as possible - the driver handles connection pooling for you, you should only really need to do it once.
    • Best way of reusing constructors between tests might be to create some test utilities outside of _test files which are imported only by the tests. Example usage in my case is creating a test db and table to run my mysql and repo tests against, which are in different packages.
    • Every directory is a package. There is no way to structure code in subdirectories without each subdirectory being a separate package.
    • Make use of table driven tests. They allow you to run multiple test cases per test.
    • interface{} is an empty interface and can hold values of any type…avoid passing this around too much, better to learn to structure the code so you don’t have to.
    • Go code looks to be very easy to move around and restructure if needed, so it should be fine to experiment with different project structures as I go.

    Current tentative project structure

    drakonka/gosnaillife
    ├── cmd
    │   └── snaillifecli
    │       └── main.go
    ├── config
    │   ├── dev
    │   │   └── database.json
    │   └── env.conf
    ├── lib
    │   ├── domain
    │   │   ├── item
    │   │   └── snail
    │   │       ├── snail.go
    │   │       └── snailrepo.go
    │   ├── infrastructure
    │   │   ├── databases
    │   │   │   ├── database.go
    │   │   │   ├── mysql
    │   │   │   │   ├── delete.go
    │   │   │   │   ├── insert.go
    │   │   │   │   ├── mysql.go
    │   │   │   │   ├── retrieve.go
    │   │   │   │   ├── tests
    │   │   │   │   │   └── mysql_test.go
    │   │   │   │   └── update.go
    │   │   │   ├── repo
    │   │   │   │   ├── repo.go
    │   │   │   │   ├── repoutil.go
    │   │   │   │   └── tests
    │   │   │   │       ├── repo_test.go
    │   │   │   │       ├── testmodel_test.go
    │   │   │   │       └── testrepo_test.go
    │   │   │   └── tests
    │   │   │       └── testutil.go
    │   │   ├── env
    │   │   │   └── env.go
    │   │   ├── init.go
    │   │   ├── init_test.go
    │   │   └── util
    │   │       ├── collection.go
    │   │       └── err.go
    │   ├── interfaces
    │   └── usecases

     

  7. Hey everyone - long time no post. Sorry about that. :) I landed my dream job over a year ago and have been pretty busy since then. I'm working at Harebrained Schemes on the new turn-based Battletech game. The last one was over 20 years ago! :D Come check it out at:
    http://battletechgame.com/

    Today I'm going to talk a little bit about a metadata database (That's really fun to say btw) and how you might use it in your projects.

    Database_Schema.thumb.png.2a40803e78f0d626311f12467a77a6e4.png

    What is a metadata database?

    Let's start with a couple of definitions. Metadata is just data about other data. And a database is just a structured way of storing and accessing data. So... a metadata database is a structured way of storing and accessing data about other data... Is your mind blown yet?

    Why use a metadata database?

    I'm going to look at our units for this example. We have a bunch of units with lots of data stored in separate files. Our unit metadata contains things like the filename, the type of unit: mech, vehicle, turret - and tags that describe the kind of unit that it is: medium, sniper, jump_capable. Instead of hard coding our unit spawn points to a specific unit, we configure the spawn point to ask for a unit with the tags "mech" and "medium" to change things up a bit. Without a metadata database, we'd have to load up every single unitdef into memory, and then loop through all of the data to build a list of the units that match, then select a random entry. With a MDDB, we can write a query that returns the list of units that qualify without having to load every single file and load the unit that we need to spawn.

    Also, once you put this type of data in a database, you can start writing sql queries to easily get at information. How many maps implement a particular encounter? How many contracts are written for the Escort contract type. Are there any events that can't be triggered because they rely on tags that are never awarded.

    Some Library Options

    We're using C# and Unity for our project, and these are the main tools we're using for our SQL needs.

    Some TagSet Query Code

    Here's some C# I wrote that builds a dynamic bit of sql based on the number of required tags and excluded tags. It wasn't trivial so I figured I'd share it. One requirement I'm not completely happy with is that the tags you ask for have to be in the database. At the start of the function I insert the ones that weren't present. It made the sql a little bit cleaner to look at and get right.  For our needs it's not a big deal because we'll only be asking for tags that we care about, but if an end user is typing in random stuff you'll want a slightly different approach.

    Also I made one change to the Schema since after the graphic was made. I dropped the TagID and just use Name as the primary key. TagSetTag then drops its TagID column and gets a TagName column to point to Tag. I recommend that datamodel instead of the one shown, but our fans made the graphic for the data model and I didn't have a way of updating it easily. :) The code presented matches the old way.

    public static List<TagSet_MDD> GetTagSetWithRequiredTags(this MetadataDatabase mdd, TagSetType tagSetType, TagSet requiredTags, TagSet excludedTags)
    {
        // Get the tag rows for the specified tags so we can get their database ids.
        List<Tag_MDD> requiredTagRows = GetOrCreateTagsInTagSet(mdd, requiredTags);
        List<Tag_MDD> excludedTagRows = GetOrCreateTagsInTagSet(mdd, excludedTags);
    
        // Here's what the query will look like for 2 requried tags and 1 excluded tag
        /*
        select
            ts.*
        from TagSet as ts
            -- Required Tags
            inner join TagSetTag as tst0
                on ts.TagSetID = rtst0.TagSetID
            inner join TagSetTag as tst1
                on ts.TagSetID = rtst1.TagSetID
            -- Excluded tags
            left join TagSetTag as etst0
                on ts.TagSetID = etst0.TagSetID
                and etst0.TagID='tag id 3'
        where
            rtst0.TagID = 'tag id 1'
            and rtst1.TagID = 'tag id 2'
            and etst0.TagID is null
        */
    
        string queryText = "SELECT ts.* FROM TagSet ts ";
        string joinText = string.Empty;
        string whereClause = string.Format("WHERE ts.TagSetTypeId = {0} ", (int)tagSetType);
    
        // Join to one instance of TagSetTag for each required tag.
        for (int i = 0; i < requiredTagRows.Count; ++i)
        {
            joinText += string.Format(GTSWRT_RequiredInnerJoinFormat, i);
            whereClause += string.Format(GTSWRT_RequiredWhereClauseFormat, i, requiredTagRows[i].TagID);
        }
    
        // Join to one instance of TagSetTag for each excluded tag
        for (int i = 0; i < excludedTagRows.Count; ++i)
        {
            joinText += string.Format(GTSWRT_ExcludedLeftJoinFormat, i, excludedTagRows[i].TagID);
            whereClause += string.Format(GTSWRT_ExcludedWhereClauseFormat, i);
        }
    
        // Assemble the query text and return the results.
        queryText = queryText + joinText + whereClause;
    
        List<TagSet_MDD> tagSetList = mdd.Query<TagSet_MDD>(queryText).ToList();
    
        return tagSetList;
    }

     

  8. It's the weekend, so that means I get to share all I worked on last week in another edition of the Developer Diary Digest!

    EVENT & HOLIDAY SYSTEM

    It seems like I've been putting off a holiday / event system for at least the last 6 months. It's one of the systems I've been most anticipating, but it relied on too many other moving pieces to work on...well, until now!

    At the dawn of each day, the game now checks if there's an event scheduled, and if so it fires off any scripts related to it. It's pretty robust, and the scripts can do things like create holiday-specific visitors, add new music or decorations, change dialog, and a lot more.

    Imgur

    As I wrapped it up, I realized that I needed a way to inform the player about upcoming events and what they were all about. This naturally lead into the next thing I worked on...

    A POSTAL SERVICE

    You can now receive letters from villagers, visitors, and other friendly monsters in the game. The goal is to integrate the mail system into as many other parts of the game as I can. For example, you'll get a flyer the day before each holiday that explains it:

    Imgur

    Letters you receive from villagers will reflect their personalities as well as their disposition toward you. Most will be helpful or friendly, but others, like Taswell,

    Imgur

    probably won't be at first.

    As I said above, I want mail to be integrated into as many other systems as I can. As I was browsing my list of features I got to "The ability to submit feedback from in-game" when I suddenly had an idea...

    SENDING FEEDBACK VIA IN-GAME POSTAL SERVICE

    ...wouldn't it be cool if you could write letters to the developer from inside the game itself?

    Imgur

    Now obviously there's a lot of things to consider here - security, spam protection, etc. - but the idea is so cool to me that I'll do whatever it takes to make it work.

    It's hard enough to encourage users to submit feedback, so providing something in-game that's also contextualized via a system they're going to be using every day can only help!

    BIRD SONG

    Finally, I'll end this week sharing a new 'flavor' feature.

    If you've played any of the demos you've likely seen birds flying about every so often. But unlike real life, they've been totally silent.

    Well not anymore! Birds that fly overhead will now chirp and caw and sing. I obviously can't record sounds via gifs, so I tried my best to provide an alternative:

    Imgur

    Well that'll do it for this week. Enjoy your weekend, y'all!

  9. In this daily blog (and video)-series I take a first impressions look at the best mobile games that I come by. Be sure to share your favorite mobile game with the rest of us in the comments below!

    Race Kings is the first racing game I have enjoyed playing in quite a while! It is a racing game based around drifting, in which you bet in-game cash to battle an opponent player (live), and whoever wins, gets the cash. 

    There's plenty of cars, the graphics are awesome, several events and fresh maps, and no stamina system. But! A part of whoever wins a battle depends on who has the most "Edge", which is a speed bonus added whenever you upgrade parts of your car. Edge resets every 30 minutes, meaning that you're forced to keep upgrading your car to keep winning. Upgrading your car, however, costs cash, which you conveniently can buy for real life money. 

    So where does the game land? In my opinion, the game is still worth checking out, as the gameplay is rather unique and had me sitting on the edge of my seat while playing. 
     

    My thoughts on Race Kings:


    Google Play: https://play.google.com/store/apps/details?id=com.hutchgames.racingnext&hl=en
    iOS: https://itunes.apple.com/nz/app/race-kings/id988762223?mt=8

    Subscribe on YouTube for more commentaries: https://goo.gl/xKhGjh
    Or join me on Facebook: https://www.facebook.com/mobilegamefan/
    Or Instagram: https://www.instagram.com/nimblethoryt/
    Or Twitter: https://twitter.com/nimblethor

  10. ActDesigner.png.0ed775bbe93d10008521b20299c17602.png

    I made a lot of progress in the past week. Waypoints, acts, and Quests – three of the features I wasn’t sure how to implement into Project Peril, resulting in much procrastination. I finally took the time to sit down and think through how these systems will be implemented neatly while keeping it easy to create acts, quests, and waypoints via script or internal tools. I’m quite happy with the result, and it took me just a few minutes to whip up a an act with a few waypoints and a quest that requires new heroes to kill a monster standing at the gate before being granted access to the town of Act 1.

    I’m also rewriting how inventories are managed on the client.  The way the inventory system was previously coded made it really hard to display stashes, trade screens, and NPC screens because it was kinda hard-coded to support only the player’s inventory.  As soon as this feature is complete I will begin working on trading and NPCs who sell items.  Something to look forward to next week, I suppose.

     

    QuestLayout.png.19ed44eac26ec281e6438d691629ec2b.pngWaypointMap.thumb.png.2d03cfbee309f28cb9a5b452dcf0a19b.png

  11. If you haven’t peeked into the Corona Marketplace recently, it now offers dozens of plugins and assets, from art packs to audio tracks to useful utility plugins. Periodically, we will highlight a few exciting products which can help you develop your dream app using Corona.

    Fabric + Crashlytics

    2017-07-16_01-39-27_-_Fabric-300x170.pngAnalytics are a great way to learn more about your app’s users and improve the user experience. This plugin allows you to log Fabric analytic data (also known as Fabric Answers) and log crash data via Crashlytics.

    Mix Line 98 New

    22945sale4-1.pngIf “Match 3” games seem a bit too easy, grab a copy of this “Match 5” game template and customize it as your own. Mix Line 98 New is an open-source prototype of both a “Match 5” game and a puzzle game, useful for developing your own games with these themes.

    Bard’s RPG Starter Kit

    2017-07-20-15-51-06-Bards-RPG-300x200.pnBard’s RPG Starter Kit is an excellent choice for those on a tight budget who need lush orchestration for a fantasy RPG game. With a generous offering of battle music & exploration music, this library covers the basic needs of most RPGs.


    View the full article

  12. We just started 3D modeling the #ColoredWoman from the book introduction to Game | Book Charly Men's BIZARRE.
    Simultaneously, we create the main-character in 3D, and we are also in the process of furnishing the first game location, Clearwaters appartment, in 3D as well. 

    The colored woman is going to dance in our next video that is planned to be published after summer.

    She is a vision of main-character of the game, Charly Clearwater, who will therefore start to write his novel Exzess. We recreate this book scene as a sequence in the game. 

    Common girl! Dance for me!

     

    ColoredWoman.gif

  13. We're approaching the time when reputation for all members will be re-indexed.

    As has previously been described, in our previous system reputation had a fuzzy definition. While a member could earn reputation through the usual up/downvotes, a member's activity could also generate reputation. For example, logging in on a daily basis would give you +1 reputation each login. Posting a blog, voting in the screenshot showdown, or posting an article would also generate reputation (at times +100!).

    But activity is not representative of how others in the community gauge your helpfulness, knowledge, or general contribution. In addition, the previous system does not match the new system where your reputation is only representative of your up/downvotes, which means the reputation still is not a representative value.

    To correct this, we will re-index the reputation for all members and remove all reputation points not earned through up/downvotes. Meaning, your reputation value will no longer include your site activity points, but it will include all of the up/downvotes you've received.

    A lot of members have a lot of reputation points, and in most cases the re-index will result in a severe drop in reputation value.

    So what about those reputation points based on activity? They have to be worth something, right?

    They are. All the activity reputation points will be converted into Pixels. We're finalizing how those points will be converted, but the current plan is for the conversion to align the activity with the Pixel awards in the new system. Site note: If you haven't figured it out yet, you earn Pixels through activity on the site. More activity through contributions to the community = more Pixels.

    We'll go into more about Pixels later. For now, I wanted to communicate this upcoming change and give the community an opportunity to provide feedback or ask questions.

  14. Hi everyone! :)

     

    Today, we'd like to share some wonderful news with you.

     

    We've recently applied to the Web Summit Alpha Programme, for startups like us to be present at the event. We can happily announce that we're officially going to be Web Summit 2017, in Lisbon, Portugal (our home country)! The event will take place from the 6th to the 9th of November, so we hope that if you'll be at the event too we can meet up!

     

    As you may already know, Web Summit is one of the biggest technology events worldwide. They're expecting more than 60.000 attendees this year! So it'll be a great opportunity for both FAXIME and our dear "Project SpaceVille".

     

    We'll have the opportunity to talk to investors and to show “Project SpaceVille” to the world in our booth. And that's just awesome! (laughs)

     

    Other Events

     

    We've already been to some small local game events, and we've always brought a prototype of "Project SpaceVille" with us. It's so gratifying to see people's faces enjoying our game. We've honestly been incredibly surprised by people's positive reaction to the game, especially considering that we've only showed a rough prototype so far (that's also why we haven't showed you much of the game here the blog).

     

    Just a side note: You can try this prototype (and others) out by applying the "Project SpaceVille" Insider Programme. Just send us an email to faximegames@gmail.com with the SPACEVILLE-IP access code. Thanks! :)

     

    Since we're on the matter of events, we've also applied for Indie Dome at Lisboa Games Week in September. And two days ago the PlayStation Awards Portugal programme was also released, so we will be also applying for that too! :)

    We're looking forward to seeing you in Web Summit!

     

    Until then,

    The FAXIME Team

     

    Follow us and keep updated at:

    Facebook: https://www.facebook.com/FaximeGames

    Instagram: https://www.instagram.com/faximegames/

    Twitter: https://twitter.com/FaximeGames

    Pintrest: https://www.pinterest.pt/faximegames/

    Web Summit 2017 - FAXIME.jpg

    Players Testing SpaceVille.jpg

  15. Hey guys and gals!

    It`s been an very busy week, and it will continue to be so for the next months. Alot of thing`s has been taken care of regarding animations, music, models and so forth and its very exciting to get things in order, so production can go smoothly and efficiently. Also, from now on the updates will come monthly (unless there is something extremely important to get out).

    So here is some screens for you to enjoy and dream about for about a month until the next update.

     

    Concept art of the cook, he has a pretty cool narrative story and it`s going to be cool to get your feedback on that in the full version of the game, he will not show up in the vertical slice.

     

    Cook Concept art

     

     

    Textured fiddel character in some variations. He is looking great, this is actually one of my favorite part for you to experience ingame.

     

    fiddler unity violin

    fiddler marmoset2fiddler marmoset4

    fiddler unity 3

     

    Game ready version of the whale, he is a lean mean killing machine. Old Grumpy. He has been hunted before but always managed to escape, he has years of experience. (Unity render)

     

     

    whale unity 1

    whale unity 2

    whale unity 3

     

     

    So this is it from the art side, can`t show you everything so will be little drops here and there. When we have a trailer ready it will show only in game gameplay. It`s going to be super cool, I can promise you that!

     

    See you again in august!

    http://www.indiedb.com/games/the-whaler-working-title

    https://twitter.com/trym_studios

  16. Time for a new video? Sure is!Domen Koneski

    It’s time to produce a new dev update in video format, introducing new Electricity system, Humans of Floatlands, Vendors and world improvements. Game is shaping up nicely and becoming more alive. Stay tuned for more stuff!
     

    UI changesDomen Koneski

    I have made a new UI redesign phase, combining similiar UI elements together and changing texts and images to so-called Signed Distance Field system. The only problem right now with the UI is the brightness of the environment – everything seems so bright in the middle of the day so it covers the UI and becomes invisible – to solve this problem I have to create a system that calculates overall brightness of the screen (by getting some of pixel colors and averaging the sum of color components) and change the color of UI elements using the calculated value.

    updated_ui_lowpoly_floatlands.png
    Changed and simplified UI with a problem of bright environemnt, system in the works!
     

    Scouting and mining drones concept Mito Horvat

    I have decided to completely rework the drones in the game, since I wasnt really pleased with their look. Domen agreed with the revamp idea so I began sketching a couple of variations that would fit the game more. While I was doodling, I figured out it would be cool if we’d implement two different drones. The first one would be a scouting drone, simple looking aerial drone that would just fly around and stop occasionally to “scan” the area. The second one would be a mining drone, but instead of scouting the area, it would descend to the ground level and use the drill to mine rocks. Below you can see the concept sketches.

    drones_concept_lowpoly_floatlands.png
    Scouting & mining drones concept

    Since Vili is close to finishing the “farmers” AI we will soon implement the “techies” faction which means I’ll be responsible for creating outfits that would distinguish them from the “farmers”. You can see some of the concept sketches in previous blog posts. Domen requested more outfit variations and some helmets to characterize them more.

    techies_outfits_lowpoly_floatlands.png

    Techies outfit concept

     

    New drone models Andrej Krebs

    I finished up the player 3rd person character from the previous week and tested it. After that I imported and tested the animations for the enemy NPC robots and added the IK systems to the assault droid NPC, so Vili can later add them to the game. The droids now have similar IK features to the player’s 3rd person character like aiming, grounding and recoil. I also modeled two of the Mito’s new drone designs that will roam arround the islands.

    new_drones_lowpoly_floatlands.png
    Scouting & mining drones

     

    NPC interactions vili ikona

    A lot of work has already been done on Humans of Floatlands aspect of the game – NPCs. They already feel enjoyable and fun (see the latest dev video update). They can interact and react to the world and others NPCs as well.

    npc_reactions_lowpoly.png

    For more curious readers, those are internal details of current Behavior Tree and Animator. (Caution, images are extra large)

    Behaviour Tree
    Animator 

     

    Bug Tracking vili ikona

    We are close to delivering a working prototype so it is good to have a bug tracking system in place. Uptil now we were writting down bugs on paper which was okay. Now when the game is quite a large sandbox place a lot of bugs can occur so I started looking for a solid bug tracking software that is:

    • Easy to use interface, pictures of bugs supported
    • Visually appealing
    • Free

    We decided to go with LeanTesting 

    Bugs.png
    Some of the bugs already live on bug tracking software!


    More about Floatlands: website, facebook, twitter, instagram

     

  17.  

    Below is my preliminary draft design for the AI system within Spellbound. I'm slowly migrating away from scripted expert systems towards a more dynamic and fluid AI system based on machine learning and neural networks. I may be crazy to attempt this, but I find this topic fascinating. I ended up having a mild existential crisis as a result of this. Let me know what you think or if I'm missing something.

    Artificial Intelligence:

    Objectives:
    Spellbound is going to be a large open world with many different types of characters, each with different motives and behaviors. We want this open world to feel alive, as if the characters within the world are inhabitants. If we went with pre-scripted behavioral patterns, the characters would be unable to learn and adapt to changes in their environment. It would also be very labor intensive to write specific AI routines for each character. Ideally, we just give every character a self-adapting brain and let them loose to figure out the rest for themselves. 

    Core Premise: (very dense, take a minute to soak this in)
    Intelligence is not a fixed intrinsic property of creatures. Intelligence is an emergent property which results directly from the neural topology of a biological brain. True sentience can be created if the neural topology of an intelligent being is replicated with data structures and the correct intelligence model. If intelligence is an emergent property, and emergent properties are simple rule sets working together, then creating intelligence is a matter of discovering the simple rule sets.

    Design:
    Each character has its own individual Artificial Neural Network (ANN). This is a weighted graph which uses reinforcement learning. Throughout the character's lifespan, the graph will become more weighted towards rewarding actions and away from displeasurable ones. Any time an action causes a displeasure to go away or brings a pleasure, that neural pathway will be reinforced. If a neural pathway has not been used in a long time, we reduce its weight. Over time, the creature will learn.

    A SIMPLE ANN is just a single cluster of connected neurons. Each neuron is a “node” which is connected to nearby neurons. Each neuron receives inputs and generates outputs. The neural outputs always fire and activate a connected neuron. When a neuron receives enough inputs, it itself fires and activates downstream neurons. So, a SIMPLE ANN receives input and generates outputs which are a reaction to the inputs. At the end of neural cycle, we have to give response feedback to the ANN. If the neural response was positive, we strengthen the neural pathway by increasing the neural connection weights. If the response was negative, we decrease the weights of the pathway. With enough trial runs, we will find the neural pathway for the given inputs which creates the most positive outcome.

    The SIMPLE ANN can be considered a single cluster. It can be abstracted into a single node for the purposes of creating a higher layer of connected node networks. When we have multiple source inputs feeding into our neural network cluster and each node is running its most optimal neural pathway depending on the input, we get complex unscripted behavior. A brain is just a very large collection of layered neural nodes connected to each other. We’ll call this our “Artificial Brain” (AB)

    Motivation, motivators (rule sets):
    -All creatures have a “desired state” they want to achieve and maintain. Think about food. When you have eaten and are full, your state is at an optimally desired state. When time passes, you become increasingly hungry. Being just a teensy bit hungry may not be enough to compel you to change your current behavior, but as time goes on and your hunger increases, your motivation to eat increases until it supersedes the motives for all other actions. We can create a few very simple rules to create complex, emergent behavior.
        Rule 1: Every creature has a desired state they are trying to achieve and maintain. Some desired states may be unachievable (ie, infinite wealth)
        Rule 2: States are changed by performing actions. Actions may change one or more states at once (one to many relationship).
        Rule 3: “Motive” is created by a delta between current state (CS) and desired state (DS). The greater the delta between CS and DS, the more powerful the motive is. (Is this a linear graph or an exponential graph?)
        Rule 4: “relief” is the sum of all deltas between CS and DS provided by an action.
        Rule 5: A creature can have multiple competing motives. The creature will choose the action which provides the greatest amount of relief.
        Rule 6: Some actions are a means to an end and can be chained together (action chains). If you’re hungry and the food is 50 feet away from you, you can’t just start eating. You first must move to the food to get within interaction radius, then eat it.

    Q: How do we create an action chain?
    Q: How do we know that the action chain will result in relief?
    A: We generally know what desired result we want, so we work backwards. What action causes desired result (DR)? Action G does (learned from experience). How do we perform Action G? We have to perform Action D, which causes Action G. How do we cause Action D? We perform Action A, which causes Action D. Therefore, G<-D<-A; So we should do A->D->G->DR. Back propagation may be the contemporary approach to changing graph weights, but it's backwards.
    Q: How does long term planning work?
    Q: What is a conceptual idea? How can it be represented?
    A: A conceptual idea is a set of nodes which is abstracted to become a single node?


    Motivators: (Why we do the things we do)
        Hunger
        Body Temperature
        Wealth
        Knowledge
        Power
        Social Validation
        Sex
        Love/Compassion
        Anger/Hatred
        Pain Relief
        Fear
        Virtues, Vices & Ethics
    Notice that all of these motivators are actually psychological motivators. That means they happen in the head of the agent rather than being a physical motivator. You can be physically hungry, but psychologically, you can ignore the pains of hunger. The psychological thresholds would be different per agent. Therefore, all of these motivators belong in the “brain” of the character rather than all being attributes of an agents physical body. Hunger and body temperature would be physical attributes, but they would also be “psychological tolerances”.

    Psychological Tolerances:

    {motivator} => 0 [------------|-----------o----|----] 100
                     A            B           C    D    E

    A - This is the lowest possible bound for the motivator.
    B - This is the lower threshold point for the motivator. If the current state falls below this value, the desired state begins to affect actions.
    C - This is the current state of the motivator.
    D - This is the upper threshold point for the motivator. If the current state exceeds this value, the desired state begins to affect actions.
    E - This is the highest bounds for the motivator.

    The A & E bounds values are fixed and universal.
    The B and D threshold values vary by creature. Where you place them can make huge differences in behavior.

    Psychological Profiles:
    We can assign a class of creatures a list of psychological tolerances and assign their current state to some preset values. The behavioral decisions and subsequent actions will be driven by the psychological profile based upon the actions which create the sum of most psychological relief. The psychological profile will be the inputs into an artificial neural network, and the outputs will be the range of actions which can be performed by the agent. Ideally, the psychological profile state will drive the ANN, which drives actions, which changes the state of the psychological profile, which creates a feedback loop of reinforcement learning.

     

    Final Result:
    We do not program scripted behaviors, we assign psychological profiles and lists of actions. Characters will have psychological states which drive their behavioral patterns. Simply by tweaking the psychological desires of a creature, we can create emergent behavior resembling intelligence. A zombie would always be hungry, feasting on flesh would provide temporary relief. A goblin would have a strong compulsion for wealth, so they'd be very motivated to perform actions which ultimately result in gold. Rather than spending lots of time writing expert systems styled AI, we create a machine learning type of AI. 

    Challenges:
    I have never created a working artificial neural network type of AI. 
     

    Experimental research and development:

    The following notes are crazy talk which may or may not be feasible. They may need more investigation to measure their merit as viable approaches to AI.

    Learning by Observation:
    Our intelligent character doesn’t necessarily have to perform an action themselves to learn about its consequences (reward vs regret). If they watch another character perform an action and receive a reward, the intelligent character creates a connection between an action and consequence. 
        
    Exploration Learning:
    A very important component to getting an simple ANN to work most efficiently is to get the neurons to find and establish new connections with other neurons. If we have a neural connection topology which always results in a negative response, we’ll want to generate a new connection at random to a nearby neuron. 

    Exploration Scheduling:
    When all other paths are terrible, the new path becomes better and we “try it out” because there’s nothing better. If the new pathway happens to result in a positive outcome, suddenly it gets much stronger. This is how our simple ANN discovers new unscripted behaviors.

    The danger is that we will have a sub-optimal behavior pattern which generates some results, but they’re not the best results. We’d use the same neural pathway over and over again because it is a well travelled path.

    Exploration Rewards:
    In order to encourage exploring different untravelled paths, we gradually increase the “novelty” reward value for taking that pathway. If traveling this pathway results in a large reward, the pathway is highly rewarded and may become the most travelled path.


    Dynamic Deep Learning:
    On occasion, we’ll also want to create new neurons at random and connect them to at least one other nearby downstream neuron. If a neuron is not connected to any other neurons, it becomes an “island” and must die. When we follow a neural pathway, we are looking at two costs: The connection weight and the path weight. We always choose the shortest path with the least weight. Rarely used pathways will have their weight decrease over a long period of time. If a path weight reaches zero, we break the connection and our brain “forgets” the neural connection.
            
    Evolutionary & Inherited Learning:
    It takes a lot of effort for a neural pathway to become developed. We will want to speed up the development. If a child is born to two parents, those parents will rapidly increase the neural pathways of the child by sharing their own pathways. This is one way to "teach". Thus, children will think very much like their parents do. Other characters will also share their knowledge with other characters. In order for knowledge to spread, it must be interesting enough to be spread. So, a character will generally share the most interesting knowledge they have. 

    Network Training & Evolutionary Inheritance:
    An untrained ANN results in an uninteresting character. So, we have to have at least a trained base preset for a brain. This is consistent with biological brains because our brains have been pre-configured through evolutionary processes and come pre-wired with certain regions of the brain being universally responsible for processing certain input types. The training method will be rudimentary at first, to get something at least passable, and it can be done as a part of the development process.
    When we release the game to the public, the creatures are still going to be training. The creatures which had the most “success” will become a part of the next generation. These brain configurations can be stored on a central database somewhere in the cloud. When a player begins a new game, we download the most recent generation of brain configurations. Each newly instanced character may have a chance to have a random mutation. When the game completes, if there were any particular brains which were more successful than the current strain, we select it for “breeding” with other successful strains so that the next generation is an amalgamation of the most successful previous generations. We’ll probably begin to see some divergence and brain species over time?

    Predisposition towards Behavior Patterns via bias:        
    Characters will also have slight predispositions which are assigned at birth. 50% of their predisposition is innate to their creature class. 25% is genetically passed down by parents. 25% is randomly chosen. A predisposition causes some pleasures and displeasures to be more or less intense. This will skew the weightings of a developing ANN a bit more heavily to favor particular actions. This is what will create a variety in interests between characters, and will ultimately lead to a variety in personalities. We can create very different behavior patterns in our AB’s by tweaking the amount of pleasure and displeasure various outputs generate for our creature. The brain of a goblin could derive much more pleasure from getting gold, so it will have strong neural pathways which result in getting gold.

    AI will be able to interact with interactable objects. An interactable object has a list of ways it can be interacted with. Interactable objects can be used to interact with other interactable objects. Characters are considered to be interactable objects. The AI has a sense of ownership for various objects. When it loses an object, it is a displeasurable feeling. When they gain an object, it is a pleasurable feeling. Stealing from an AI will cause it to be unhappy and it will learn about theft and begin trying to avoid it. Giving a gift to an AI makes it very happy. Trading one object for another will transfer ownership of objects. There is no "intrinsic value" to an object. The value of an object is based on how much the AI wants it compared to how much it wants the other object in question.
            
    Learning through Socialization:
    AI's will socialize with each other. This is the primary mechanism for knowledge transfer. They will generally tell each other about recent events or interests, choosing to talk about the most interesting events first. If an AI doesn't find a conversation very interesting, they will stop the conversation and leave (terminating condition). If a threat is nearby, the AI will be very interested in it and will share with nearby AI. If a player has hurt or killed a townsfolk, all of the nearby townsfolk will be very upset and may attack the player on sight. If enough players attack the townsfolk, the townsfolk AI will start to associate all players with negative feelings and may attack a player on sight even if they didn't do anything to aggravate the townsfolk AI.
     

  18. Hero Toon Tower Defense It is a tower game, but it is not the typical tower defense, where buildings are built along a path.

    In this game you have to build a village first, then you have to add your system of defenses like walls, towers of arrows and towers of fire.

    And like any strategy game, you have to build barracks to recruit troops. These units serve to defend the town from the attacks of enemy hordes.

    The game has a level that develops inside the underworld in dungeons, where the mission is to rescue the princesses of the evil elves.

    The game was developed in Unity 5.4 and use purchased characters in unity asstes store.

    You can download the game from google store:

    https://play.google.com/store/apps/details?id=com.MuiscaGames.HeroToonTower

    Hero Toon Tower Defense 10.png

    Hero_Toon_Tower_Defense.PNG

    • 1
      entry
    • 0
      comments
    • 63
      views

    Recent Entries

    Before we start our development blogs, we want to share our insight about us and the game.

     

    What is Alchemica?

    Alchemica is a game being worked on by a development team consisting of two people for several years.

    It is a free RPG game for Android with some unique takes. Players take the role as Charlotte, a young alchemist striving to become a successful merchant.

    During the course of the game, she can use materials taken from the world to craft various potions and bombs. These items can then be used for battles. The main idea is that she doesn't use conventional weapons, instead relying on her own expertise in crafting items to defeat monsters and gain loots in the form of more materials from them, thus repeating the cycle.

    Charlotte also owns a store, the one she wants to build reputation on. She can directly sell loots taken from dungeons for gold, or use the time to craft better items as they are worth more. Visitors will come to her store, and she must haggle with them to win her hard-earned gold coins.

     

    What does Alchemica looks like?

    As a die-hard fans of classic JRPGs, Alchemica is entirely made with hand drawn pixel-art to emulate that retro look that we hold dear. Battles are drawn out in that classic turn-based style, while dungeons are randomly generated.

    Hare are some screenshots of the game for people who are curious.
    Screenshot_20170711-071317.jpg

    Screenshot_20170711-071337.jpg

    Screenshot_20170711-071437.jpg

    2016_06_12_21.39.18.png

    2016_06_13_12.40.56.png

     

    Where can I try Alchemica?

    If anyone here is interested to give it a try, here's the Google Play link: https://play.google.com/store/apps/details?id=com.gdi.crunchybit.alchemica

  19. Unlike some of the Hollywood flicks these days, where the mindless comedies are dwindling away at their attempts at getting famous, a mobile application does as good as less the user would have to use their mind on it. Introducing a lot of complexities in a mobile application might not be the best course of action to get your more users.

    Let’s take a look at some of the reasons, why you should work on keeping your application as simple as possible.

    Complex Technology Could Pose a Problem

    Making a mobile application is about creating an impeccable combination of technology and content that works beautifully. At least at the simplest level, a mobile application is just that. The perfect combination is what makes the business end of the deal possible. But when the balance in this combination gets disturbed, it creates problems. While technology makes the idea behind the application possible, it wouldn’t bode well with the end users if they have to deal with the complexity that comes with that technology. As a developer, you have to make your application simple enough for the users to not just understand, but really be interested in using the app. In order to make the app look less confusing, keep it simple.

    Simplicity Gains you More Time

    Or, you lose less time. Too many windows to open, too many tasks to get done - all in one app - it gets confusing, it seems like an eternity before the users see things actually getting done, and it looks messy too. And so, a clean interface always means an effective use of time and energy both, on the part of your end users. Simplicity is what brings efficiency to the whole experience of using any mobile application.
    When You Need to Keep Multiple People on the Same Page

    There are many applications out there which are usually used in groups of users - like the application Splitwise, which allows a group of friends to split money equally, telling each of them how much they owe every other friend, and how much everyone else owes them. These are classic examples of applications which need to be simple, because the chances of confusion here are abundant. The apps that are meant to bring about a level of organization into people’s lives - these are the kinds of apps that should never be complex. These are the apps that especially thrive on simplicity.

    To say that mobile applications have changed the way people operate today in their day-to-day lives, would be just about right. That makes it even more necessary for the developers to work harder on making simplicity on of the top features of every application that they design. Because not just the understanding, but the accessibility and more than a certain amount of usage too comes from how simple and clear the structure of the applications is. The road to success, undoubtedly starts with simplicity.

  20. Finalspace
    Latest Entry

    Well a lot had happened and it seems i have my confidence and motivation back for coding.

    So i decided to finish "unfinished" prototypes and games i have created in the past and then going from there.

    Right now i am working on a breakout prototype i made in UE4 with random generated maps, nice effects and other stuff.
    Looks like a project i may actually finish...

    That said i will focus on that for now only and not get distracted by other projects.

  21. JTippetts
    Latest Entry

    screen_2017_7_15_16_11_36.thumb.png.277f247aee4c8ecf132ad352d64af124.png

    screen_2017_7_15_16_50_15.thumb.png.44d77f3ca7de9052e10d8eba7d9245d3.png

     

    So, I ended up doing the "skirts" method I spoke of in the last post. And in conjunction with the default Urho3D water shader (with a few small tweaks, and more to come to eliminate artifacts on the corners of the water blocks) it actually looks pretty decent. The water animates a noise texture that ripples the ground beneath. It also uses a reflection texture (which I have set to black at the moment) if desired. I might tweak the water shader further, but for now I'm happy with it. I've also got all the small issues sorted out from the change to multi-level water. It wasn't a large change, but I was surprised at how many different parts of the code worked from the assumption that water was determined by elevation < 9. I thought I had contained it better than that, but I did get all the various spellcasting, pathfinding and object spawning oddities worked out.

  22. Businesses are moving at a greater pace than they ever were. The consumer habits are changing in accordance with the constant evolution in technology which has moved from mainframes to our pockets and wrists. To keep up with the changing consumer habits and to be at the bleeding edge, enterprises are trying hard to catch up. They are increasingly moving to a mobile first strategy and are investing more money than ever on enterprise app development.

    Enterprise mobility solutions architects are researching innovative development techniques and empowering

    • faster development cycles,
    • minimum development cost,
    • minimum coding; maximum security.

    App developers are adopting newer development techniques and following modern development practices to fulfil the requirements of their enterprise clients. Some of those technologies, methods, and practices I have listed here:

    Methods

    1.  Rapid Mobile App Development (RMAD)

    Enterprise apps owing to business value they carry consumes more development cycles than consumer apps do. is based on ‘zero’ coding philosophy to shrink development time and meet mission critical business tasks. Application developed with RMAD are good-enough to distribution inside an enterprise to address an adhoc problem that can’t be addressed with the existing applications in place.

    RMAD is basically Rapid Application Development (RAD) extended to a mobile environment. RMAD, with little coding or by implementing methods like early prototyping and reusing software components, can be used to develop customer facing apps in addition to internal apps.

    RMAD development environment is web based and supports object oriented programming.

    2. Bimodal IT

    Bimodal IT is the recent trend in enterprise app delivery. As the name suggest, in Bimodal IT, there are two parallel modes involved. One mode of app development focusses on stability another on agility. Mode 1 is traditional and sequential, emphasizing safety and accuracy. Mode 2 is exploratory and nonlinear, emphasizing agility and speed. This is expected to bridge the gap between demand and capacity, which is expected to be between five to one currently.

    Best Enterprise app development Practices

    1.     Cross-platform apps are the future of enterprise mobile app development

    Enterprise apps are more of a need than luxury. An employee is unlikely to complain about an app’s UI or theme color distributed by his employer the way he complains about an app developed by Facebook or Microsoft (Google apps are perfect!).

    Absence of native UI/UX support remains the biggest problem with cross-platform frameworks, today. They try to generate a common UI on all platforms which alienates users, who are prone to hamburger menu on Android and bottom menu on iOS. Fortunately, enterprise apps remain immune from this problem.

    There are number of cross-platform frameworks available in the market. The most popular is PhoneGap (owned by Adobe). Xamarin, owned by Microsoft is catching fast though. Objective-C (for iOS) or Java (for Android) can be done in C# with Xamarin, which already offers complete access to 100% of the native APIs for iOS, Android and Windows in C#.

    Appcelerator, Apache Cordova, Ionic and QT are other viable cross-platform tools that support desktop, web development, and mobile application development.

     

    Spoiler

    5969e52631c0c_mobileappdevelopment.png.6a11dbac660e5043a098c563a2f5e71b.png

    Spoiler

     

    Cross-platform = Faster development + Less Coding + Lower Cost

    2.     OAuth 2.0 + two-factor authentication for users’ authentication

    A practical tactic is to use OAuth 2.0. Many vendors support OAuth 2.0 with two-factor authentication including Azure AD, Ping, and Okta. Two-factor authentication requests a user to enter user ID and password (something you know) and a second validation, such as an OTP generated on your mobile phone (something you have) or a fingerprint (something you are).

    Android, iOS, Windows, and the latest web browsers all support OAuth 2.0 services. No developer should count on any other method of authentication.

    3.     Context Driven Testing (CDT)

    Context driven testing is the new form of agile testing. This kind of testing is executed when the end-users have dissimilar preference and requirements. CDT works for the mobile app which serve the need of one end-user but not the other. Let us say Microsoft Paint. Paint is an ideal application for casual graphics work

    But for a professional graphic designer who wants to add high-res graphics and different font size and colors may rather prefer Adobe Creative Suite. So context driven testing is built on the fact that ‘no solution is the best solution. But in this case, benefit lies with the consumers, since the final product that is approved is a user-friendly product, nonetheless several users may not agree with that as context driven testing is not a universal testing methodology and works in applications where conditions seldom change and test setups are unidentified.

    Conclusion

    Enterprises are always dynamic as they continue to succeed in a modern ecosystem dominated by mobiles and wearables. The accessibility of apps as a way of taking on business competition with agility, rapidity, as well as contemplation and proper attention is the right way ahead.

     

  23. Mobiles are a fantastic way of technological expression in our times, and mobile applications are definitely one of the biggest reasons behind this. So, the answer to the question - whether mobile applications would benefit their respective businesses - the answer is absolutely yes. 

    But, that’s the short answer.

    Here’s the longer version:

    Visibility Increases

    First of all, an app will make your visibility skyrocket! We know it extremely well that an average person spends quite a great amount of time every day on smartphone, especially internet services - we know this without the help of any statistics. But, even if statistics were to be believed, then the average time spent on mobile Internet services was estimated to be 185 minutes, that is a bit more than 3 hours a day. While mobile app might not take up all that time, it sure occupies a lot. A major reason for that is an app actually helps a user save time by not having to log in all the details every time they open the app. Also, while looking to open some other app, or do some other task, the user may scroll and scan, coming across your app several times a day. So, take advantage of the visibility that a mobile application provides by designing one.

    It Acts as a Direct Marketing Channel
    A mobile app is such a compact thing, when you see it - and it amazingly carries so much of information in it. Whether it’s prices, user accounts, notifications, home feed, or just any general information - all of it, you can easily find in a mobile app. And it creates an easy medium of direct two-way communication that you can have with your end user. You can easily gather feedbacks, as well as remind them of any updates or upgrades.

    Helps You Build Your Brand
    More than a website, a mobile app clicks more with the audience, making the brand feel more like their own. With a mobile app, users feel more involved, they prefer it more rather than having to logging in on a website. Think of your app as a billboard. Like people crossing by in their cars, or waiting at traffic signals, see various ads staring in their faces, your users will have look at your app, almost every day - if not to use it, then at least by coming across it while scrolling through the mobile for something else. And that is how you make people recognize your brand. 

    Customer Engagement gets Improved
    This is a great way to make our customers engage with you. If it’s a restaurant that you own, then people can directly reserve their tables from your app. If it’s an app related to cab-service, then people can book their taxi from the app. If it’s a product you’re selling, then you can sell from our app. Even when it comes to settling customers’ grievances, you can include a direct message feature on your app, and make your end users’ life even simpler.

    The great thing as a developer and a designer is that, you have this blank slate in the form of a mobile app with you, that you can create the way you want to; you don’t have to think twice about whether people will like the concept of having an app in the first place, because they absolutely will. The only thing to think about is how to make that app of yours stand out in the crowd of apps.