Jump to content
  • Advertisement

Blogs

 

Texture tools

After attempting to texture some models recently, using projection painting in 3d paint, the new healing brush is proving fantastic at healing up those edges between projections, but I must admit I get very frustrated trying to find suitable reference images. Part of the problem I have decided is that I'd often like to be able to have larger, more homogeneous areas of texture to clone from. Given that I have a reasonable healing implementation working, it struck me I should be able to have some algorithms for doing this little job for me, to provide better source material for painting. I thought about putting this ability directly into 3d paint, however, it seemed to make more sense to do a separate small utility app for this kind of thing, which might be useful to more people. So, eager to not make the major mistake I made with 3d paint, that of under-engineering the initial program, I decided to make a positive effort and spend a few days building a solid backbone to the texturing program, so it will be easy to maintain and add to in the future. Instead of making a photoshop like affair, this will be a very focused app, and at the moment I'm thinking in terms of a node based editor with some input textures, and methods, producing intermediate and final textures for export. I'm planning for you to be able to move the nodes in the UI, assign inputs and outputs and parameters. Although the UI is not yet operational, the framework is getting there and I've implemented a first test method. I decided one useful first pass before other methods would be to equalize the colours across an image. Here is an example I have run it on a skin photo, left is before, right is after. Bland and boring on the right, but that is what I am going for, it should be easier to clone etc. The way the method works is it first finds the average colour in the entire image, then gaussian blurs the image. For each pixel it then finds the difference between the blurred colour and the average colour, then adds this difference (with a multiplier) to the original pixel colour. This has the effect of reducing local colour contrast, or increasing colour contrast depending on the sign of the multiplier. Anyway, obviously loads more methods to come, maybe some using variations of the healing technique from Georgiev's paper. All colours are converts to floats, and can be converted to linear, and HSL or LAB colour spaces.

lawnjelly

lawnjelly

 

This Week in Game-Guru - 7/16/2018

I'll be the first to admit I've been overwhelmed by life and a bit burned out on Game-Guru.   This has coupled to a sort of fallout with doing this blog, which I will have to start making some changes to to make it more functional from my standpoint.  At least, in the near term.

I will try dropping the 'whats new in the store' as this section alone takes inordinate amounts of time for this blog.
Game-Guru Official News:
https://www.thegamecreators.com/post/gameguru-mega-pack-1-dlc-updated-3

Game-Guru continues their march forward with Github-powered updates.  It's producing a lot more over this last year than it's done in the last 4 or so, so it's a lot to keep up with.  The latest batch of updates resolved the following:

"Back in the main product, we continue to improve existing features as much as adding new ones, specifically an improvement to the depth buffer which controls the fidelity of visuals when viewing objects at a distance.  In the previous update, some camera distance settings could lower the resolution of the depth buffer causing z-artifacts, which has now been solved by a higher quality depth map.
We'll continue to upgrade more entities to PBR assets in the background, and in the meantime, if you want to get your hands on the GameGuru Mega Pack 1 DLC, it's currently on promotion right now:"

However in addition to materials updates for existing 'mega packs' and the addition of a new construction pack, there's also engine-based updates which are pretty regular now.  I wish they'd produce patch notes, however, to help make my job curating it a bit easier as there's simply too much to follow at any given time.

Regardless, it's still coming along nicely.

There's also this gem: https://forum.game-guru.com/thread/219846


With Preben adding some very big updates to the lighting system.  I've also heard that others are adding 'panther AI' to the game engine as well.

What's new in the store: Check it for yourself this week :P

More seriously though this is the most stand-out item of the last few weeks - pasquill's shipping containers set.  Very well priced, very high quality.

For four dollars, you can't beat that.
Also - I've updated the pricing on my own store items, significantly reducing MANY of the cost of packs as they stand.  Some are down 15-75% in cost.  Check out the packs here today!

https://www.tgcstore.net/artist/190502/packs
FREE STUFF
Notably I found this awesome addition: https://forum.game-guru.com/thread/219812
A free gun, by Bugsy!  Really awesome stuff.

THIRD PARTY PROGRAMS
Ok so.. yeah. This one I'll circle back to.  There's literally too much to go over and I've already spent hours aggregating a lot of this information.



RANDOM ACTS OF CREATIVITY
Some new games have been released.  It's nice to see DK productions re-working Hunted: A Step too far along with some hush hush stuff I was given some early teasers on.

Bugsy's been especially active lately, with a lot of testing and updates:  https://forum.game-guru.com/thread/219234?page=2


Check out that skyline!


A cartoony western by Slaur3n - https://forum.game-guru.com/thread/217684


IN MY OWN WORKS
Ehhhhh.  Don't make me talk about this.  I'm obviously lagging on this.  But mostly I need to get off my ass and start working on work-related things for Game-Guru. 
View the full article

Bolt-Action Gaming

Bolt-Action Gaming

Wild Origin Website, Videos & GIFs

Hello again! 

First of all, thank you to those who were kind enough to comment or give an upvote on my intro blog entry, it is greatly appreciated.

This entry I would like to introduce you to my game. To do that I want to first share the URL of my website: https://www.wildorigin.online/ it is a work in progress, and incomplete. That said I feel it is good enough for the moment to give someone an introduction to the game until I can produce polished videos and GIFs to really make it stand out. 

Which brings up two questions:

1. What is your software preference for recording video/gameplay, and why?
2. Also, what do you use to make your GIFs and is it different from your video recording software?

Please leave your comments and questions below in response to this blog.

Thank you!

- Cody






 

Cody.Rauh

Cody.Rauh

And More Robots ...

Not a lot of time this week, but managed to work on two elements of the game.  First off I've been busy creating a few more friendly robots including Gyro, shown below. This will be one of the robots controllable by the player capable of flying for short distances.  With islands and tall towers featuring heavily in the level design this will open up the possibility to have a variety of puzzles where the player will need to swap around from robot to robot to advance - Gyro will be able to, as long as there is enough fuel left, fly from tower to tower or to other islands to collect items normally out of reach.  In addition I've nearly completed another robot, this time with a few interchangeable elements so the robot can appear several times as villagers and so on. The second area I worked on was adding additional sections to the game map - nothing too exciting as it mainly involved adding scenery between puzzle / action zones.  However I have also started on a multi step puzzle linking the start zone to more advanced zones.

Jon Alma

Jon Alma

Secret areas

Been working on some extra secrets what ended up in concept of 'Relicts'...
Sets of ancient items hidden in every map, each one will have its own story associated with the map.
After completing whole set... we will receive a reward.
Follow me on facebook: https://www.facebook.com/backtoashes/ Or twitter: https://twitter.com/DarkAstray  

BackToAshes Project

BackToAshes Project

 

Compressing LDraw database

One of the main goal for QLMesh was to add some new formats I have been working with quite often, like Photoshop files of bdf fonts. For 3D it is LDraw formats and DAZ Studio models. LDraw is one of my favourite. I am currently working on extending Assimp to support .ldr and .mpd files. One of the major challenge is actually not drawing but embedding library definitions into the plugin. Original library it is about 250MB (compressed to ~40MB). That's quite large for Quicklook plugin. I started to work on some heavy compression/optimalization and current result is:   -rw-r--r-- 1 piecuchp staff 40M May 12 17:18 parts.db -rw-r--r-- 1 piecuchp staff 2.2M May 12 17:18 parts.db.gz That's much better. 2MB can be easily embedded into plugin, eg. using assembler module like this:   bits 64 section .rodata global _ldrawlib global _ldrawlib_end global _ldrawlib_size _ldrawlib: incbin "parts.db.gz" _ldrawlib_end: _ldrawlib_size: dd $-_ldrawlib and later build with e.g. nasm:  /opt/local/bin/nasm -fmacho64 ldraw_lib.asm -o ldraw_lib.o   PS1 Sometimes less is more. Working on reading gzip stream, I had to remove one of the compression optimisation. The uncompressed file is slightly bigger, but compressed one much smaller: -rw-r--r--  1 piecuchp  staff    41M Jun 17 12:03 parts.db -rw-r--r--  1 piecuchp  staff   1.5M Jun 17 12:03 parts.db.gz
PS2 Sadly, this is not the end of the story  I had to increase the precision of the float numbers in the database (it is now 17 bits - sign:8bit:8bit) - it increased the size but also significantly affected the compression ratio: -rw-r--r--  1 piecuchp  staff    67M Jul 11 08:55 parts.db -rw-r--r--  1 piecuchp  staff    41M Jul 11 08:55 parts.db.gz Seems like I am gonna have to live with such database for a while.

piecuch.p

piecuch.p

Fancy Ball 2 - First Five Levels

Hey people, it's been another week. We think we're getting close to releasing Fancy Ball 2.  This week we've worked mostly on UI and Android stuff. We also made some levels, so we decided to share with you how the first five levels might look like in the final game: And as always, thank you for following the development of our games.

SilviuShader

SilviuShader

Tower Defense Indie Game Dev Blog #10: Kill 'em Slowly

This week During previous week and this week's first half I was primarily working on visuals. This includes rework of Red Alert inspired slower towers, new models for upgraded towers and more. Glowing Towers One of the visual effects I implemented is glowing towers. This feature is very apparent in slower towers, but some of you might notice that other towers make use of this effect as well (the little lights at the bottom of the towers). The player will now also have a visual cue about the current upgrade level of the tower. If the level is 1, the tower will glow in yellow, if level 2, the tower will grow in blue, if level 3 the tower will glow in red/violet.  Normal Maps I also started implementing normal maps into my game. As of now the most apparent tower which uses them is the slower tower. To generate the maps I used the free online tool which does a pretty good job and I think it will be sufficient for now. This is the result: Next Week For the next week I should be going through and implementing features in my TODO list which includes functionalities such as CTRL+Z to undo tower placement, fix the issue where towers expand infinitely, add jet fighters which drop bombs on turrets, and more. 

EddieK

EddieK

 

Project One Day - Update #2

At this point I'm finding the in game editor that I've put together to be fairly functional. I have save and load functionality that works as would be expected for the player and a save function that I can use to setup a level's initial state. I didn't want to go with using tiles for walls so there were a couple additional challenges to getting the wall corners to match up together properly while making sure that player can slide along them without getting snagged or trapped. I'm setup to be able to add whatever I need to create conversations and have the characters move as the result of player interactions. But the one thing I think that's bugging me is the complete lack of any furniture or interior items. So the plan for the next while is to do some graphics work to try and furnish this house somewhat before going forward with creating any dialogue or story. Perhaps with some items in the house it'll provide inspiration for how to build the story. I also need to do some work on the characters, particularly what would look right for a pregnant character (you wouldn't know that babies are on the way from the current sprites). With the graphics all being programmer art, I'll be happy if I can just maintain a consistent style.

kseh

kseh

Hello GDNet!

First of all I would like to say it is very encouraging to see a community of people all creatively working towards building their vision.

I believe it is very important to have a community to bounce your ideas off of, get feedback from, and support each other. Especially in this day and age where it seems most people are telling you "No one cares what you have to say." or "Your ideas are a dime a dozen", and other discouraging things. I believe those things probably are true, most people really don't care and our ideas may not be unique or new, but I believe our passions are worth sharing.

I have been in the virtual world & indie game industry for 13+ years as a 3D Artist. Despite that time spent, I would say I am about average at best as an artist. I am really not the best at anything, yet I still have the ambition to build worlds for people to explore and enjoy, something I feel many in this community have a similar desire to achieve.

I likely don't have much to offer, but please feel free to reach out in a message, and I would be glad to help if I can. 

Before I go I have a small little teaser. I rebuilt this Panda Corey which I lost last year due to a computer crash during saving. I had exported the fbx and textures already luckily but the 3D software file itself was corrupted and unrecoverable. Tonight I spent a few hours putting the little fella back together again and I am so glad to see him back.

Anyways, thank you for taking the time to read, and feel free to comment if you like!

- Cody


 

Cody.Rauh

Cody.Rauh

#7. Preparations for the coming update.

Backers exclusive closed alpha is still ongoing. We are grateful for all the feedback that we have received and it has been a great help for us in our goal of improving the game and making it more fun for you! In addition, we recently announced a new minion on our social networks. Let’s have a look at it! Lost Soul A lost soul is a spirit that has been trapped on the mortal plane for so long that they have forgotten what they looked like when they were still alive. Necromancy can accelerate this process, forging these souls into agents of lies and deception. Taught to delight in lies and betrayal, these spirits take on the form of masked women that lure mortals to their doom. Work Progress At the moment we are actively working on the animations of previously announced characters. Here's an example of one of the Ghoul’s attacks. Before the closed alpha launch we released an update with a numerous changes, which were described in the previous devblogs but there was one we missed. The enemy Berserker was reworked. They are battle-hardened warriors that would rather die and be turned into an undead than flee from a fight. So bear this in mind and be ready, since they will often enter a state of destructive rampage. Right now we are preparing the new update based on the feedback received from the closed alpha test. Insane enemies often attacks allies and sometimes this would cause them to restore sanity to themselves after landing a critical on their friends. This will no longer happen as it didn’t make much sense to us! Our Shieldmaidens need some attention too. Currently they can apply a redirect to each other or start protecting the same companion over and over. It gets a bit crazy: the shieldmaidens are certainly having a good time but the player is at a loss. At the moment we are looking to address this issue. Minions are already a bit tired during the closed alpha but soon they will need much more rest to recover Vigor between battles. The dead need sleep too! Vampires have proven to be good fighters but bosses have been unreasonably vulnerable to these bloodsuckers. The Vampire ability "Bloody Fury" will continue to take off 33% health from ordinary enemies but its damage will be reduced to 20% against bosses. Iratus will need more time to examine the artifact “Book of Wisdom” and apply the new knowledge in practice. You will need to equip the book, enter a fight and if you win, the two talent points are yours but if you lose, it wasn't meant to be. We continue to adjust balance and economy. The beginning of your journey may seem easy but the closer you get to the exit the more complicated things will become. We will be gradually adding images to our events and we hope it will make them more readable and interesting for our players.  New backgrounds will be added with the upcoming update. These are the main changes to date. We are happy to answer any questions you might have.

IratusLord

IratusLord

 

Uagi Saba Dev Log/Patch Notes (1.0.1.3)

UG here with another blog entry/patch notes post! It is indeed an exciting time, we have less than a month left till we release onto Steam. Uagi-Saba the newest in creature breeding and genetics officially releases into Early Access August 1st 2018.  Uagi-Saba On Steam   (Edit 7/10/2018) New hot fix lists have been added at the bottom, a total of four hot fix patches have been made since the 1.0.1.3 build went live. We are now officially on build 1.0.1.7 and pretty stable. Thanks to all of the beta testers for your help.      This is a big patch with a bunch of new content and fixes, some areas have had some big improvements. I will go over some of the bigger changes and the rest can be found in the patch list at the bottom. Three new room types and two new modules have been added to the game. The Gen Room (brings in large amounts of energy) and the Mushroom Farm (large scale mushroom grow operation). The Shrine module (generates lore) and the A.S.D.S. (automatically feeds and waters your mystics). The Wild Mystic Room is a new room that has a chance to appear after you have charged enough empty rooms. When it appears it will automatically spawn a special egg, if you are able to hatch it you will spawn a wild mystic! Wild mystics have access to very rare genes, genes that are only available to them. Breed a wild mystic with one of your own to bring these rare genes into your pool. The mutation system has been completely re-worked with the new Wild Mystic Room in mind. Default mystics will have access to most of the basic body part genes.  More genes will become available through mutations based on how many generations the mystic has gone through. The speech system has been drastically improved, a variety of new phrases and words have been added. 40 plus words, and many phrases related to hunger, thirst, loneliness etc. The camera can now be moved by clicking the edges of the screen, this is still a little buggy. Some rooms, entities and modules now have a new Synergy mechanic. Some examples… Placing essence generators close to each or will bring bonuses to energy harvest. Lore keepers close to a study will bring in extra lore. This is still a new mechanic and I plan to add other bonuses soon. I have completely re-designed most of the mystic lower arms, they have a new “naked” look which I think will leave the door open to some interesting new skin patterns and colors in the future.     Things I know of that have yet to be added… -A pause function. -Smooth zoom. -Alarms for dig sites. -Lore books are now out of date and need to be revised. -The gene pool and achievements buttons in the HUB screen cannot be pressed, these will be implemented soon.   The rough patch note list is below, some things already covered above are also on the list.   Patch Note List     1.0.1.3     7/2/2018 -Added synergy mechanic for the essence gen and essence extractor, the closer they are to similar modules or rooms the more resources they will generate. -Added synergy for lore keepers, lore keepers close to studies will generate slightly more lore. -Bond must now be high enough to interact. -Added a variety of colorful crystal props. -Intelligence needs to be high enough to interact. -Added intro story screen with story, player can click through text to skip. -Added two new modules, the ASDS and the small shrine. -Added two new room types, the mushroom farm and the generator room. -Added new words for mystics to learn, total of 40 words. -Added new creature speech responses. -Added new Mystic body parts. -Fixed bug where player could not charge nearby rooms after new rooms were built or charged. -Fixed problem with water pump building anywhere regardless of water source being close enough. -Fixed problem where bond meter would increase after pressing the interact button, now it only increases if the mystic successfully learns the word. -Fixed problems with build button “locked” text and “not enough resources” text not appearing or causing crash. -The gen table now includes a color mutations stat and a body mutations stat. If your mystic has a mutation through breeding it will show up here as an increase.   Hot Fixes 1      1.0.1.4       7/3/2018 -Added middle mouse cam drag, this is just a test. Still very sensitive and is based on mouse sensitivity . (Edit) This has been fixed, with help from a few of our UG fams we now have a very smooth cam drag. Removed old cam movement buttons from screen edges. -Fixed bug where giant arrow button would appear when a ferm tank would be recycled. -Player will now be refunded half of what they paid for modules when a room Is renovated. -Fixed problem where certain objects would give the player guardian rating points if they were destroyed during room renovations. -Fixed problem with mushroom spore visibility. -Fixed problem with the disappearing furnace. -Added an object that controls the deactivation of certain objects outside of the view, hopefully this helps with some of the frame rate issues.  -Fixed problem where crystals, the a.s.d.s module and shrine module wouldn’t disappear when a room was renovated.   Hot Fixes 2      1.0.1.5        7/5/2018 -Player can now properly zoom in and out while moving. -Fixed problem with build menu buttons being  destroyed or were not following view correctly. -Fixed problem where camera would keep moving if a movement key was pressed while pressing the escape key to open pause menu. -Fixed problem where dwelling room would appear larger than other rooms when fully zoomed out playing in 1600 resolution. -Fixed problem where room sprites would overlap while fully zoomed out playing in 1600 resolution. -Fixed problem where charge button would show up above over main pause menu. -Fixed problem where mushrooms and mushroom spores would not destroy if a mushroom garden was recycled.   Hot Fixes 3     1.0.1.6     7/8/2018 -Fixed problem with mushroom gardens creating two mushrooms. -Fixed problem where recycling a furnace would leave it’s button behind. -Fixed problem where player would have to click gen table twice to get it to register. Fixed problems with player being stuck on gen table screen and not being able to move cam. -Fixed problem where on of the furnace spites was causing extreme lag. -Fixed problem where player clicking the mystic name card would create multiple mystic text object. -Fixed problem with player being able to drag camera while in the mystic/inhab hud screens. -Fixed problem with tut button not disappearing when pressing escape in the HUB screen. -Drag speed for camera is now faster when fully zoomed out in mini map mode. -Fixed typos in tut start. -Fixed problem where “cannot breed” text would appear if right clicking near baby mystic. -Completely re-worked the ini file system. Options like windowed mode and sound volume will now save correctly and when player loads back in later they will be the same as the player left them on exit. -Fixed problem with game crashing when player tried to load a game if save file does not exist. -Fixed problem with sound volume being much loader when a game was loaded. -Pressing the escape key during the story screen skips to the title screen.   Hot Fixes 4     1.0.1.7    7/10/2018 -There were still problems with sound volume loading incorrectly, fixed this. -Added windowed/fullscreen buttons to the in-game options screen. -Fixed problem with smog vent cost text drawing at the incorrect position while in 1600 resolution. -Fixed problem where player could click on charge button while in mini map view. -Fixed problem where player could click on inhab with mini map open. -All in game menu screens now destroy accordingly using middle mouse, movement keys or mouse wheel. -Fixed problem where player could still click on build nodes while in the main in-game menu.     Now that we are through that here is some more useful info/social media etc.  The beta testers will be receiving their keys today fore the next round of testing. Keys for streamers, you tubers and other media coverage will be given out July 20th. If interested please get in contact with me.    I live stream development of Uagi daily on Twitch, feel free to drop by if you are interested.   UG's Home Base UG On Twitch UG On Twitter     

Undergroundies

Undergroundies

YORG.io v2.1 release

Here is a new update for YORG.io! Some small changes here and there and overall just improving the game. Increased Map Size The map is now four times as big as before (200×200 instead of 100×100). This means a lot more space to expand since previously players already had covered the whole map. However, this also means that old savegames are not compatible anymore – Sorry for that! Detailed Minimap View You can now also hold “M” to show a bigger version of the minimap: Invisible Transporters Earlier The skill tree has been changed so that invisible transporters are now available earlier. This was made to encourage expansion. With the previous skill tree layout, the invisible transporters were only unlockable after most of the map was covered. Up To 12 Crystal Mines Per Resource There are now skills to place up to 12 crystal mines per resource: Destroyed Building Indicators When a building gets destroyed, it’s icon is now shown so you can see which type of building got destroyed:   Multiple Smaller Fixes Fixed crash when selling invisible transporters Fixed exploit when loading savegames multiple times Bigger numbers (E.g. “5.6b”) are now better formatted Made easy mode easier Increased difficulty of the challenge mode (New modes coming soon!) Minor Fixes & Performance improvements   Thanks to everyone who is continuing to support Yorg! If you are interested in streaming Yorg.io or playing it on Youtube, be sure to post links to this in Discord! I really want you all to succeed and so we can work together in Discord to make that a reality. Link to Discord here: https://discord.gg/UdXda9Q

tobspr

tobspr

 

Unity Wheel Collider for Motor vehicle Tutorial 2018

Objective The main objective of this post is to give an idea of how to work with wheel collider and physics of Wheel Collider. Want to Make a Car Racing Game? Having troubles with Car Physics? Where to use Wheel Collider? How to use Wheel Collider? What are the components of Wheel Collider? How is Wheel Collider Different than other Colliders? Have these Questions in Your Mind? No worries... You'll know everything about Wheelcollider after reading this post. INTRODUCTION Wheel Collider is a special kind of Collider which is used for vehicles. It has in built collision detection technique and physics of actual Wheel. It can be used for objects other than wheels (like bumper Boats, bumper cars etc which uses suspension force ), but it is specially designed for vehicles with wheels. Is there is anything special which is not in other Colliders? Yes, each and every collider has something special (That’s why Unity created them). In this Collider, you will get all the components which are used to make vehicle drivable. Do have any idea about components..? No problem, I will explain components here. Before that, it's very important to understand how the Wheel Collider component works internally, to get a car working in Unity Here, I have explained everything. This is how you look at your dashing and shiny car. But, Unity doesn’t have good eyesight. So Unity looks at your car like this. 4 wheels colliders and 1 car collider, that’s it! Now Let’s Discover inside Wheel Collider. Wheel doesn’t have any shape it is Raycast based. Mass & Radius: mass and radius of the wheel. (Easy isn’t it ?) Below I had given a little introduction about physics of wheel collider. Every Wheel counts it’s sprung mass. Sprung mass (not weight) is used to apply individual force on each wheel. Suspension Distance is the distance between max droop and max compression. This suspension is calculated based on rest pose. Suspension Force(F) = (sprungMass * g ) +( jounce * stiffness) - (damper * jounceSpeed) jounce -> offset of the wheel relative to the rest pose. stiffness -> that means physics friction. (setting this to 0 means no friction change this runtime to simulate in various ground material). damper -> damping value applied to the wheel jounceSpeed -> wheel moved with suspension travel direction. Tire simulation rather than using dynamic or static material slip-based material is used. To learn more about physics of wheel collider click here First we need to setup Scene for that (Don’t Worry that is Easy part). PART-1: SCENE SETUP Step 1: Create a 3D plane Object give it scale of (100, 0, 100). Step 2: Create an empty Object add Rigidbody 3D. Name it as “Car” Step 3: Import 3D Car Model inside your Scene (you will get download link below) add as a child of Car. Step 4: Take Mesh Collider and add as a child of Car name it ”CarCollider”. Step 5: Create Two empty GameObject inside Car name them as “Wheel Meshed ” and “Wheel Collider”. Step 6: Inside Wheel Meshes add 4 empty GameObject name them as “FL” ,”FR” ,”RL” and “RR”. assign Mesh of Wheel (you will get download link below). Set their Position. Step 7: Inside Wheel Collider add 4 empty GameObjects name them as “Col_FL” ,”Col_FR”, ”Col_RL” and “Col_RR”. Add wheel collider as their component. Set radius of colliders same as the size of mesh and set their position same as the mesh have. Yeap, Its Done! actually that was the Difficult part to setup scene. Now Time for really easy part Scripting. PART-2: SCRIPTING (Check Script Reference Click here) [System.Serializable] public class AxleInfo { public WheelCollider leftWheelCollider; public WheelCollider rightWheelCollider; public GameObject leftWheelMesh; public GameObject rightWheelMesh; public bool motor; public bool steering; } In this AxleInfo Class, we are going to store info for a pair of the wheel. Variable Name Variable Type Description leftWheelCollider / rightWheelCollider WheelCollider To drive a car using WheelColliders inbuilt physics. leftWheelMesh / rightWheelMesh GameObject To Visualize rotation and movement of wheels. motor bool Enable movement of this pair of wheels. steering bool Enable rotation of this pair of wheels. Now, Let's go for long drive . This script is to drive Car. public class CarDriver : MonoBehaviour { public List<AxleInfo> axleInfos; public float maxMotorTorque; public float maxSteeringAngle; public float brakeTorque; public float decelerationForce; public void ApplyLocalPositionToVisuals (AxleInfo axleInfo) { Vector3 position; Quaternion rotation; axleInfo.leftWheelCollider.GetWorldPose (out position, out rotation); axleInfo.leftWheelMesh.transform.position = position; axleInfo.leftWheelMesh.transform.rotation = rotation; axleInfo.rightWheelCollider.GetWorldPose (out position, out rotation); axleInfo.rightWheelMesh.transform.position = position; axleInfo.rightWheelMesh.transform.rotation = rotation; } void FixedUpdate () { float motor = maxMotorTorque * Input.GetAxis ("Vertical"); float steering = maxSteeringAngle * Input.GetAxis ("Horizontal"); for (int i = 0; i < axleInfos.Count; i++) { if (axleInfos [i].steering) { Steering (axleInfos [i], steering); } if (axleInfos [i].motor) { Acceleration (axleInfos [i], motor); } if (Input.GetKey (KeyCode.Space)) { Brake (axleInfos [i]); } ApplyLocalPositionToVisuals (axleInfos [i]); } } private void Acceleration (AxleInfo axleInfo, float motor) { if (motor != 0f) { axleInfo.leftWheelCollider.brakeTorque = 0; axleInfo.rightWheelCollider.brakeTorque = 0; axleInfo.leftWheelCollider.motorTorque = motor; axleInfo.rightWheelCollider.motorTorque = motor; } else { Deceleration (axleInfo); } } private void Deceleration (AxleInfo axleInfo) { axleInfo.leftWheelCollider.brakeTorque = decelerationForce; axleInfo.rightWheelCollider.brakeTorque = decelerationForce; } private void Steering (AxleInfo axleInfo, float steering) { axleInfo.leftWheelCollider.steerAngle = steering; axleInfo.rightWheelCollider.steerAngle = steering; } private void Brake (AxleInfo axleInfo) { axleInfo.leftWheelCollider.brakeTorque = brakeTorque; axleInfo.rightWheelCollider.brakeTorque = brakeTorque; } } I know, this script was a little bit difficult but I am here to help you. Variable Name Variable Type Description axleInfos List List of AxleInfo Which contains a pair of wheels data. maxMotorTorque float maximum Torque is applicable on Vehicle. maxSteeringAngle float Maximum angle at which wheel is rotate. brakeTorque float Torque is applied when a brake is pressed. decelerationForce float This force is applied to stop the vehicle because of friction. ApplyLocalPositionToVisuals (AxleInfo axleInfo) This Method takes one argument: axleInfo. This method is used to Display rotation and position of WheelMeshes. FixedUpdate() This is Unity callBack used to do certain changes in physics at fixed time. Inside that, we will take Input. Vertical: W/Up Arrow for Forward & S/Down Arrow for Backward. Horizontal: A/Left Arrow for Left Side Rotation. & D/Right Arrow for Right Side Rotation. Space: To Stop(brake). Assign this Script to our “Car” GameObject. Add Size of AxleInfo to 2. Now add your Colliders and Meshes to appropriate Location. We have 3 methods to Control Car Acceleration(), Steering() and Brake(). You can relate all the methods listed below. These methods are works like how actually Vehicle we drive in reality Accelerator, Brake(No Clutch here). Acceleration() It is used to make the vehicle move forward and backward. If forward or backward buttons are not clicked then need to add Deceleration(). motorTorque is used to add torque (In forward or backward direction) in a vehicle. When the vehicle is moving at that time brakeTorque is needed to change to 0. Deceleration() It is used to stop the vehicle when forward and backward buttons are not pressed. Steering() It is used to turn angle of vehicle. steerAngle is used to change an angle of the the vehicle Brake() It is used to stop the vehicle using brakeTorque property. PART-3: ASSIGNING VALUES Finally at the end, This is the last thing to make your car drivable. Enable motor if you want to Apply Force and Suspension on That Wheel. Enable Steering if you want to give rotation Force on that Wheel. Maximum Motor Torque change as per your car’s Rigidbody mass. Maximum Steering Angle must be between (30-35). Brake Torque depends on how much Brake Torque you want to apply. Deceleration Force is must be less than Brake Torque. Tip Experiment with This Value to make your Car run smoothly. Caution Brake Torque and Deceleration Force value need to be much higher to stop usually(1e+5 to 1e+8).  

Vivek Tank

Vivek Tank

 

Mobile Week 17; Huge Update, Testflight, Chapter 1 Complete!

Hey All, Very excited about today’s blog update.  I have to say this is probably the biggest update we have had yet.  So much work went into this update.  Very long nights to get this done.  The wife has started her immunotherapy treatment and we are hoping for the best on that front.  Please send your thoughts her way.There was so much done that I have to try and remember everything: First up is World 1 which is now known as Chapter 1 is complete!!  This was a monstrous undertaking to get done as quickly as we got it done.  There was a total of over 90 rooms that have been created.   Every time you enter a room it’s randomly selected from a pool of 20 rooms.  (this will be expanded in an update.  I coded the game in a way so it’s very easy for me to expand on this) . Then the germs (enemies) selected are completely random (the quantity and type).  The breakable objects are randomly selected (quantity and location).  The odds of getting a loot drop from enemies and boxes is random.  Everything is random.  The only thing not random are placement of room hazards (spikes, crates, holes, slime, and dryers).  These have been carefully crafted and placed to make up the pool of rooms.  However the type of dryer you get is random!  Some dryers are specially marked (you have to figure it out) and will always drop loot (which is random of what type) when destroyed by a firecracker. Secret Rooms is now a thing!  Every time you enter a room there is a chance that room will have a secret room branched off of it.  You can tell by looking for cracks in the wall.  If you see them blow it up with a firecracker and it will lead to a secret room.  All secret rooms will have different contents.  what you get will be completely random, it may be awesome or it may be not so awesome. Touch Controls optimized!  FINALLY fixed a bug in the joystick that has been haunting me.  It would become unresponsive if you were attacking or using another button before you moved with the joystick.  This has been resolved and works very well now.  Also increased the size of the top action button so it’s easier to hit. Lots of bugs were fixed that I found from making the new rooms and play testing.  I think I put in over 10 hours of play testing the new rooms on my phone. Lots of code was also optimized during this process. Sounds.  As you know currently the game has no SFX or Music.  This is all about to change. Teaming up with @luismipv.  Check out his work . He will be doing some sound work for the game. Huge shoutout to him for his help!! TESTFLIGHT!!  The game has been submitted to Apple for the external testflight beta.  As SOOOOON as they approve it (I heard for TestFlight it can take a couple days), it will be available for beta testing.  If you are interested please send me your AppStore email so I can add you to the beta.  Your help and feedback will be very helpful.  We are so excited that we have reached public beta and are very anxious to get feedback from people actually playing the game. Damage!  You now take half hearts of damage.  This is total zelda style right here.  If you get hit by enemies or fireballs you only lose half a heart!  If you fall into a hole or get hit by a spike you take a whole heart, so watch out for those!  This allows a little forgiveness with getting hit by enemies or fireballs and gives you a chance at survivability.  Half Heart refills will be coming as a loot drop as well. Flying Germ  (new names for the enemies are incoming by the way) has been updated!  Now when he flies at you and hits you he will move away and not continue to chase you.  This will give you time to run away after he hits you.  Previously he would continually hit you and it was hard to escape. Toothache boss has had his health bar moved to the bottom of the screen. Increased the speed of the player.  You now move faster.  This gives a great feel to the game.  Feels very smooth, responsive, and allows for quick maneuvering.  Also along with that increased the speed of the roll (dodge, from beanie powerup).  Now you can dodge and roll away from fireballs, spikes, and enemies much easier.  It’s fun now just to run around and roll, has a great feeling to it! Item Rooms!  Now before you get to the end boss there will be an item room.  After you beat the enemies in this room a random item will appear.  It could be very helpful or not helpful at all. Crates are no longer pushable.  I was experiencing a nasty bug with having them interactive.  I know a way around the bug but I don’t want to go this direction right now.  For now I am using them as a blocking obstacle, however they are destructive with your firecracker.  I  will revisit these being pushable later when I have time, I want to concentrate on finishing everything else first. Bat reach is now longer.  Extended the hit box to the very end of the bat.  Now the player can hit the enemies with greater reach and knock them back.  Now you can hit, dodge, and hit again!  It’s very fun. Phew, I think that was everything.  Was def a lot in just a weeks time. Next up is World 2.  This should go fairly quickly.  I will be introducing 1 new boss, 1 new germ, and 1 new room hazard.  After that is complete I will be creating the menus (shop which is known as the pharmacy, and options screens).  Then i will clean up the pause screen and do the tutorial.  We have 2 months to complete this, which should be plenty of time.Chapter 3 (which will be the final chapter) will come as a free update after the game is released. Attached is a video of a new room and a secret room!  Also in the video you can see I only have one half of a heart left! Let me know your thoughts and questions. https://youtu.be/FOIm4JK1ghY 8792A96B-2AE9-4504-85A4-6D386E37E277.MOV   View the full article  

SOS-CC

SOS-CC

 

BGP DevLog #179 (Summer Stalling)

Pretty slow work week if I'm being honest. Life got in the way and the game's delayed yet another week. You know, going in you always assume you can handle the workload but only expect it to be a certain amount of time. Then you get so far into it you can't justify changing course because the end just has to be near by now...

     I really wonder exactly how long it'll take for this game to be completed and how long the people supporting me or waiting for me to finish will tolerate this crazy passion project of mine. You can imagine how many times I hear "get a real job" on a regular basis.

     Feeling all kinds of negative things right now, but I need to carry on anyway. This game needs to be made, and I need to do it. If I can just make this super polished Alpha go even just a little viral, I'll finally know if it's all worth it. 25 thousand players is all I'm asking the cosmos for.

More of this week in gamedev here.
 

Effect: Black hole background

For one of the upcoming projects (which will follow in some of the following posts), and as it had to fit the lore of the game, a black hole was necessary. Before going forward - let me add an image of what result I want to achieve: Artist conception of black hole - NASA/JPL-Caltech While the image is similar to the final effect I wanted to achieve, I did some changes on the effect to be more colorful and bright - but the original idea was from this image. The effect is actually separated in 3 major parts - Disk, Streaks and Post processing.Of course there is also the core of the black hole (which is just a small sphere, with black color). Disk The disk around black hole is actually just matter that rotates around the core. Depending on the distance from the core the average density will increase near the event horizon and decrease further from it. Near the core the density can be so high that it may eventually have temperature close to star - therefore there might be high emissive energy - and therefore light. Also, due to the time dilation (and therefore light having hard time escaping near the event horizon), the emissivity is getting lower very close near the event horizon. Anything beyond event horizon is invisible from the outside, because gravity there is so strong, not even photons can escape. At least that is what I understand from the topic from physics point of view. This actually explained what can be seen on the image and what is going on graphically, that is: The disk rotates around the core The density of disk decreases further from the core The emissive light decreases further from the core, and therefore some (outer) parts of the disk will be lit by inner part ... although inner part around the core has to be somehow darker Which can be solved with simple texturing and some basic lighting of the result. Using whirl-like texture as a basis proved to be a good start for me. I started off by creating a whirl-like texture that would define density in various parts of the disk, which resulted in this: Generating a normal map for lighting from this is actually quite straight forward (and easy in Substance Designer F.e.) - and after short time, I also had a normal map: Putting just these together with basic diffuse lighting (standard N.L) from the center (slightly above the plane) gives us some basic results: Next thing is defining emissivity. This is done simply by using 1D gradient texture for which the coordinate will be distance from the center. The gradient I came up with is: Notice the left part - which is near the event horizon.will give us similar feeling to the image as we're not jumping straight to bright value. Applying emissive value (as both - multiplier for the color, and as emission) gives us this look: Which looks good enough already - I personally played a bit with values (mainly playing with contrast and other multiplication factors - F.e. for alpha channel/transparency), and ended up with this result: Resulting pixel shader is as simple as: fixed4 frag (v2f i) : SV_Target { // Calculate texture coordinate for gradient float2 centric = i.uv * 2.0f - 1.0f; float dist = min(sqrt(centric.x * centric.x + centric.y * centric.y), 1.0f); // Lookup gradient float3 gradient = tex2D(_GradientTex, float2(dist, 0.0f)).xyz; // Light direction (hack - simulates light approx. in the middle, slightly pushed up) float3 lightDir = normalize(float3(centric.x, -centric.y, -0.5f)); // Use normals from normal map float3 normals = normalize(tex2D(_NormalsTex, i.uv).xyz * 2.0f - 1.0f); // Simple N.L is enough for lighting float bump = max(dot(-lightDir, normals), 0.0f); // Alpha texture float alpha = tex2D(_AlphaTex, i.uv).x; // Mix colors (note. contrast increase required for both - lighting and alpha) return fixed4((gradient * bump * bump * bump + gradient) * 0.75f, min(alpha * alpha * 6.0f, 1.0f)); } Streaks There are 2 streaks, directing upwards and downwards from the core. My intention was to make them bright compared to the core and blue-ish - to keep the background more colorful in the end. Each streak is composed from 2 objects, a very bright white sphere (which will take advantage of used post processing effects to feel bright), and a geometry for the streaks (instead of using particles). The geometry is quite simple - looks a bit like rotated and cut hyperbole, notice the UV map on the left (it is important for understanding the next part): This geometry is there 4 times for each direction of the streak, rotated around the origin by 90, 180 and 270 degrees. The actual idea for streaks was simple - have a simple geometry of cut surface, and roll a texture over it. Multiplying with correct color and distance from the beginning of the streak adds color effect that nicely fades into the background. To create a particles-like texture that varies in intensity I used Substance Designer again and come up with: By simply applying this texture as alpha, and moving the X-texture coordinate the streak is animated, like: Multiplying by wanted color gives us: And multiplying by factor given by distance from the origin of the streak results in: Which is actually quite acceptable for me. For the sake of completeness, here is the full pixel shader: fixed4 frag (v2f i) : SV_Target { // Texture coordinates, offset based on external value (animates streaks) float2 uv = i.uv.xy + float2(_Offset, 0.0f); // Alpha texture for streaks fixed alpha = tex2D(_AlphaTex, uv); // Distance from origin factor (calculated from texture coordinates of streaks) float factor = pow(1.0f - i.uv.x, 4.0f); // Multiplication factor (to 'overbright' the effect - so that it 'blooms properly' when applying post-process) float exposure = 6.0f; // Apply resulting color return fixed4(exposure * 51.0 / 255.0, exposure * 110.0 / 255.0, exposure * 150.0 / 255.0, alpha * factor); } Putting the effects together ends up in: Post Processing By using simple bloom effect, we can achieve the resulting final effect as shown in video, which improves this kind of effect a lot. I've added lens dirt texture to bloom. We need to be careful with the actual core - as that needs to stay black (I intentionally let it stay black even through the bloom). You can do this either by using floating-point render target before the bloom and write some low value instead of black (careful with tone mapping though - yet you might want to go even for negative numbers), or just render the core after the bloom effect. The resulting effect looks like: And as promised - a video showing the effect:

Vilem Otte

Vilem Otte

Designing Memorable Enemies

After several redesigns, all of the enemy units in Firestone Saga have their own behaviors and abilities. Aggressive foes will chase you down like you owe them money. Meanwhile, some foes are more likely to run away and take a power nap in the corner. My goal was to have each enemy encounter feel like a mini puzzle and the key to success is figuring what their next move will be.     My favorite way to design an enemy is to think about how the player will interact with it. Players will quickly get bored if they can beat every enemy by spam clicking the attack button. Presenting new conflicts to the player will make them think outside of the box and they will feel more rewarded when they learn how to overcome that challenge.  Roaming Flame This flame explodes and freezes nearby tiles when you strike it down. Combined with the knockback mechanic, this explosion opens up the possibility of clearing new passageways, freezing a row of lava, or racking up deadly, combo kills. Unique interactions like these help keep the gameplay from feeling stale.    Floating Eye Normally the player can only attack one tile away, so having an enemy who can summon lightning from across the screen is a considerable challenge. I wanted the player to feel the excitement of dodging fatal bolts, but rushing head first felt like the best strategy to eliminate this threat. To tackle this issue, I added a temporary shield that disappears after the enemy attacks.    Sleepy Giant Having enemies randomly fall asleep was originally implemented for players who were having a hard time finding a weapon. I could have written out a whole page of dialogue to explain how it works, but most players don't like reading lots of text and would much rather learn by making their own mistakes. Instead I designed a tanky unit who can be assassinated easily while sleeping, but will relentlessly pursue the player if woken up.   Follow us on Twitter for more updates.  
 

Corona Labs releases a new public build

Corona Labs is pleased to announce the availability of our latest public release of Corona: 2018.3326. This build contains significant bug fixes and new features that we hope you will appreciate. Google Play One of the biggest changes in this public build is addressing changes required by Google. Since the last public build, Google has changed their Vitals detection methods and have gotten considerably more aggressive with their detection. To support these changes, we’ve updated all of our support plugins for Android to bring them up to modern standards. We have also increased our Android API level to 27 (Android 8.1) in preparation for Google’s August, 2018 requirement to have API level 26 support. Google is also pushing new app signing procedures. As such, Corona can now employ the modern encryption methods used by the latest Java keytool built keystores as well as older keystores. HTML5 You will notice that a majority of the updates in this build are involving HTML5. That’s right – HTML5 builds are now in Open Beta! HTML5 is becoming a considerably more stable product. We now include the base code needed to build Facebook Instant Games as well as support for the VK social media site’s version as well. HTML5 builds are already having an impact on other platforms. Developers have prototyped HTML5 versions of game ideas and pitched them to publishers to build mobile versions of the games. Being able to quickly give someone a look into your prototype is a great way to market your content. GDPR The European Union’s General Data Protection Regulation went into effect on May 25, 2018. This public release of Corona does not collect data considered personal in nature. Also, Corona Labs doesn’t collect any personal data in Corona-managed advertising plugins. The third-party SDKs used in the plugins have their own GDPR requirements.. Apple On the Apple side, we have updated to support iOS 11.4 and Xcode 9.4 and implemented additional features to support iOS 11 edge gestures that impact the iPhone X. One breaking change that comes with iOS 11 is that getting the default language of the device is now dependent on additions to the iOS plist. iOS 11 only returns supported values that your app supports. You must include an entry in your build.settings file to list the supported languages by the app. For example: settings = { iphone = { plist = { CFBundleLocalizations = {"en", "fr", "pt", "zh", "de", "it", "ja", "es", "ru", "uk"}, }, }, } You can look at the sample app: SampleCode/GettingStarted/HelloWorldLocalized for an example of this requirement or see our localization guide. Open-source libraries In addition to these changes, Corona Labs is open-sourcing the following libraries: timer.* easing.* transition.* composer.* You can download the Lua source for these libraries from the Corona Labs GitHub account. In addition, the widget.* library was updated to be in sync with our internal library. Facebook Facebook has recently changed their permission requirements for apps. You now have to submit your app to Facebook for review and get approved to use the user_friends permission. We have removed the default addition of the user_friends permission from the login process. Starting with this release (2018.3326) plugin facebook_v4a only asks for public_profile by default. This may be a breaking change if your app depends on the user_friends permission. If this is a case, add the permission when requesting login, like facebook.login( { 'user_friends' } ). Check it out! You can see a full list of changes in our release notes for 2017.3326. If you have questions or comments on this release, join us in our community forums. Download Corona
View the full article

CoronaRob

CoronaRob

 

13 RONIN - DevLog #4 - Say hello to Ester!

Ester (Eraserhead Animation Editor) is a new tool I've build that will make it easier for me to describe what different animations a spritesheet contains and their different characteristics e.g. how long each frame should be displayed. I can then export the description, as a json-file, and then together with the spritesheet load it into the game and use it to set up my "in game" animations. This is how Ester looks with a spritesheet loaded and one animation created:  
I'll easily admit that building this tool has been a detour that's taken far too much time from any actual game development, but please let me give you the background.   Background 13 RONIN is a pixel-art game with animations based on spritesheets, just like the one below:
The spritesheet together with a json-file describing the sheet are read into the game and turned into different animations. A process that works quite well.
 
This is the "Draw"-animation beginning at row 3 and column 1 as described by the json-file below. In this example each frame is displayed for 150 milliseconds
Same animation as above but with individual frame times   The description file The description file started out quite small, but since I prefer to hard-code as few things as possible and also want room for adjustment, the file grew. This is a file describing the "Draw"-animation starting at row 3 and column 1:     {         // General description of the spritesheet         "spritesheet": {                           // Size of sheet in columns and rows,              // where each cell is a sprite             "gridSize": {                  width: 13,    // The sheet has a size of 13 columns                  height: 5    // and 5 rows of sprites              }                          // Size of a sprite in pixels             "spriteSize": {                  width: 160,        // Each sprite has a size                  height: 160        // of 160x160 pixels             }         }              // Default values for animation frames         "frameDefaults": {                      // Intended for describing hit-boxes and such. This             // example would give a hitbox located at same position             // as the sprite and of the same size             "margin": {                  "top": 0,                 "right": 0,                 "bottom": 0,                 "left": 0             },                          // Offset value used when positioning and drawing             // sprites.             "offset": {                  x: 10,    // The sprites should be drawn 10 pixels                 y: 0    // to the right of the destination point             }                          // Frame duration. Display each frame 200 milliseconds             // before advancing to next frame             "duration": 200         },                  // Animations found in the spritesheet         "animations": [                  // An animation             {                 // Name used for identification                 "name": "Draw",                              // OPTIONAL. Will override default setting                 "offset": {                      x: 0,    // No offset for this animation                     y: 0                 },                                       // OPTIONAL. Will override default setting                 "margin": {                      "top": 0,                     "right": 0,                     "bottom": 0,                     "left": 0                 },                                  // OPTIONAL. Will override default setting.                 // Frame duration for this animation is 150                 // milliseconds                 "duration": 150,                                                  // Start location in grid                                 "index": {                      x: 0,    // This animation begins with image at                     y: 2    // row 3 and column 1                 },                                  // This animation contains 13 frames starting                 // at "index"                 "frameCount": 13,                                  // OPTIONAL. Using this property it's possible to                 // set frame duration for individual frames                 "frames": [                     ]             }         ]     } Writing and maintaining the description files is very tedious and it's also very easy to make mistakes. Remember that the file above only contains one animation and that is an animation without any individual frame duration times. To get the animation seen in the second example above following "frames"-section has to be added:     "frames": [         {             "index": 0,             "duration": 200         },         {             "index": 1,             "duration": 175         },         {             "index": 2,             "duration": 175         },         {             "index": 3,             "duration": 200         },                             {             "index": 4,             "duration": 300         },                     {             "index": 5,             "duration": 175         },                 {             "index": 10,             "duration": 175         },         {             "index": 11,             "duration": 175         },         {             "index": 12,             "duration": 1000         }                             ] We now have 3 pages of json and only one animation described. I grew tired of this and felt a need for a tool to assist me in describing and tuning the animations as well as automatically generating the json. Together with a desire to improve my skills as a front-end developer I started the development of Ester.   Tech Ester is an Electron based application using React as UI-framework. I'm not really a front-end developer and since this isn't the main focus of the blog I won't dwell and deeper into the subject, but for anyone interested in trying out these technologies, there are a lot of posts written on the subject, so just use your magic friend google and you'll get lucky. And please feel free to browse or clone the Ester-repo. I think the project- and component-structure is quite good, but I'm sure there could be a lot of improvements made on the JavaScript- and CSS-code. If you find something really horrific please let me know.   Using Ester If you would like to give Ester a try, please visit my BitBucket account for further instructions.  If you find Ester useful, run into bugs or have ideas for new features, please don't hesitate from letting me know. Please be aware that this is not a finished product, but something I'm working on as part of the game development project. Fatal crashes might happen and breaking changes be introduced. You're also very welcome to clone and extend the product yourself. Happy coding!  
/jan.   NOTE. As always, everything I show, share or write about here is work under progress and subject to change.

Clearwater was out of office. Sprint 26 + 27.

Sprint no. 27 is here, and we skipped the sprint 26 on gamedev.net in June as the #WORDSproductions team members sent me a lot of vacation requests over the last few weeks (and I was on holiday, too 😉), so that we could not complete as much items from the sprints as we initially wanted, but we opened up a lot of nice issues either way. Take a look! First, the concept art of the next game scene is finished. The scene we want to recreate after Clearwater's apartement scene has been completed.
It looks nice. It's a scene from the book BIZARRE Episode I.   Furthermore, we continued texturing the houses of the world-outside-Charlys-apartement-window. We haven’t finished it yet, as it became a little game environment already, with many houses, with streets, street lamps, fences, and so on. We use a nice texturing software and began painting the bricks or the colored cement onto the houses exterior walls. Bit by bit, one by one. We use textures, we photographed in our neighborhood, or we’ve found by accident anywhere in the world.       We continued programming Clearwater’s shooting behavior. We implemented some basic shooting mechanics in the player controller using c++. The player is now able to pull his gun which triggers the correct state transition causing the associated animation to play. The logic to control the shooting animation blueprint and aim offset, letting Charly aim at the target he is shooting at, is now in place.     We did improve main-character Charly Clearwater’s appearance again, by adapting vertices and textures and light. But, obviously, we won’t stop improving his appearance and behavior until the finished game is published one day, and after that, we’ll permanently upload updates including some nice main-character improvements. 😄   Next, we started modelling Charly Clearwater’s facial animations. As I said, during the colored woman video, we’d published on Halloween last year, the facial animations could not be imported in UE4 caused by a mean Bug. But now I ate the Bug, and the animations can be imported now without any errors. We need some facial expressions for the planned video, but also for some 4k pics of Clearwater, we want to render later on. He’s now able to smile. To be continued… I continued writing the book BIZARRE Epsiode I. It works fluently. No Bugs, no thinking barriers. I’ll keep writing.   Our plans for the current sprint 27 are: We'll continue painting walls and modelling houses, trees etc. We'll continue programming Clearwater’s shooting animation and behavior. We need to adjust his pull-the-gun-and-shoot animation. We need to make him look hot and unaffected while killing. We'll continue modelling some relevant facial expressions and import them correctly in UE4, hopefully. Test them. Adapt them. Until they look flawless. We want to shoot a status report video, in which I talk about our successes of the last year and our targets for the next year. In May 2017, the BIZARRE Game project was born and one year after, I pass the year in review. It’s planned to include English subtitles. It is also planned to publish this video in July on YouTube. I’ll post it here, too. Yeah, some props must be done, too. Stuff for the kitchen, some books, a couch. Peanuts. Did I miss something? I think that’s enough. CU  
 

Researching my Animation Pipeline

This is my first blog post. I am making a videogame as a learning exercise, using SDL 2.0 as my framework (I can't call it an engine, but I'm using it as my game engine). I opted to attempt a 2D Turn Based game.   Animation I have followed SDL tutorials and am now familiar with [Textures] and [Rectangles] in SDL, necessary for animating characters in the game.  I wrote wrapper code to turn my sprite sheets into living characters. Now that I have achieved animation implementation, I focused on getting a practical art asset pipeline (drawing the sprite sheets). 1)  I first tried Medibang.  I had to manually position the sprites in my sprite sheet, and the Surface Pro 4 (tablet) didn't work. 2)  I then tried using Graphics Gale.  I found out I'm a terrible pixel artist. 3)  I checked out Krita again.  It turns my tablet into an electric oven.  But I can draw without lag, it has animation support, exports a series of png files, and I can use texture Packer to create the sprite sheet.   Gif with 1 Boar was made with Medibang. The 3 sprite men were made with Graphics Gale, and the three boars were made with [ Krita + Texture Packer ].   What did I learn? Animation is expensive, took me way longer to draw 16 frames of animation than I would have liked. I want to focus more on programming more features, and less on animating.  Although I do want to see how "pretty" I can push a game. For now, I'll try to stick to easier character designs and shorter idle animations.
  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!