• You can syndicate your blog to the GameDev.net community.
Learn how here.

# Blogs

## Check out this VR game I am working on as Sound Designer, and try it for free !!!

Hi ! I would like to share this VIRTUAL REALITY game I am working on right now ! PriVRateer is a breathtaking space ship battle game that you can play alone or with friends ! A beta testing version is available for free (see bellow): Here is where you can download and play the game: https://discordapp.com/invite/Wt8MkJ7 Don't forget to check out my website and subscribe to my newsletter to get some really cool free sounds all along the year: www.ogsoundfx.com And also check out my Patreon page and see all the goodies you could get all the while helping me out: https://www.patreon.com/ogsoundfx

## A Tale of Five Engines: Or How to Pick a Game Engine

Guest Blog: Musume  A Tale of Five Engines
Hi. My name is Rez, and I’m developing a side-scrolling action platformer named Musume.  Before you go much further into this blog, I want you to visit my game’s website and see what I’m doing: www.musumethegame.com, and I want you to do this for two reasons:  1. I promote my game absolutely every chance I get. If you’re a game dev, you should be doing the same.  2. This blog will make a lot more sense when you see the game I am making.  So go ahead. This blog will be here when you get back.  … Did you visit it? Good.  I’m going to tell you which commercially available game engine I’m using to make this game, and why. It will take us five engines to get there. By the end, I hope that my experiences will help you pick the best engine for your project.  Ready? Here we go! RPG Maker MV I began my game dev journey about eighteen months ago by buying RPG Maker MV on Steam. At $70, it seemed like an extravagant purchase, but I had always wanted to make a video game, and it seemed like the best way for a complete beginner like me. I had tried to make a game with RPG Maker on my PlayStation 2 a long, long time ago, but made zero progress then. Older and wiser, I figured I could do better now. I now laugh at the idea that I thought$70 was a lot of money to make a game. I have spent a whole lot more in getting Musume made since then.  $70 is an absolute bargain when you see everything that RPG Maker MV gives you. You have a character creator, enemies, music, and tiles to create towns, overworlds, and dungeons. No other engine (at least from the ones I tried) give you literally all the resources you need to make a complete game. And make no mistake, RPG Maker MV (and the whole RPG Maker series) is an engine. It is a framework that you can use to build your game. There are thousands of RPG Maker-made games on the market, and most of them look the same because the devs all use the packed-in assets. But you don’t have to do that. You can import your own art and music. You can also learn JavaScript, MV’s underlying programming language, and tweak the engine until you create something truly unique. It’s a great place to start learning game development. So why did I abandon it? Because RPG Maker MV (and every single RPG Maker that came before it) is designed to create one specific type of game: a top-down, turn-based RPG. And I wanted to make something else. I wanted to go 3-D. Unity After I decided that RPG Maker wasn’t going to cut it, I started looking around for something else. I still didn’t know much about game engines, but I did know that one name kept popping up over and over: Unity. I figured I had to check it out. As it turned out, Unity is by far the most popular game engine on the planet among independent game developers, and for a very good reason: it’s free. Well, there are some strings attached. However, if you’re reading this on a computer, you can – right now – download Unity for zero dollars. You can then use it to create a commercial game, and as long as that game doesn’t generate more than$100,000 in sales, or your studio doesn’t generate more than $100,000 in funding, every penny you make is yours to keep (minus royalties to places like Steam, of course). Exceed that limit, and you have to either pay for Unity Plus (a reasonable$25-$35 a month) or Unity Pro (an absurdly expensive$125 a month).  If you want, you can get one of the paid plans right off the bat; they come with extra features missing from the base version. Just remember, though: once you commit to a paid version of Unity, you are on the hook for a year. Use it for three months and then cancel? You still owe for the rest of the year, and Unity will get their money, even if you cancel the card you’re using to pay. Needless to say, I got the free version. And I’m glad I did, because Unity and I do not get along.  Unity provides free tutorials. YouTube is full of free tutorials. Udemy has very good paid tutorials, at very reasonable prices. None of that mattered for me.  The fact is, going from a beginner-friendly engine like RPG Maker MV to Unity was like going from a go-kart to a Formula 1 car. The learning curve was just too steep, and I couldn’t wrap my head around how to make things happen in this engine. It wasn’t for lack of trying, mind you; I bought and read books on C# (the programming language Unity uses), I did tutorials, and I stayed up until 3-4 in the morning some days, trying to make something happen. No dice.  But then, I learned about Unity’s biggest rival: Unreal Engine.  Unreal Engine  Unreal Engine (UE) is the brainchild of Gears of War and Fortnite developer Epic Games, and is currently on its fourth iteration. It gets its name because it is a descendant of the engine used to create Unreal, Epic’s hit first-person shooter that came out in the late 90s.  Growing up, I had read about UE’s enormous power and thought that a mortal like me would never be able to touch it. Even after I got into game development, I just assumed that an Unreal license cost thousands of dollars a year. But after making no progress with Unity, I decided to check it out. How much, I wondered, does it cost to use Unreal Engine?  As it turns out, it doesn’t cost anything.  Unreal Engine is completely free. There are no subscription plans. You owe a 5% royalty to Epic for all sales above $3,000, but that’s it. Once upon a time, Epic waived the royalty fee if you published to the Epic store, but that seems to have gone away. Unreal Engine is also, on the surface, incredibly beginner-friendly. UE comes with something called “Blueprints”, templates for all kinds of games that you can use to jump-start your own development. This sounded like a match made in heaven. I immediately downloaded UE. And after struggling with it for a while, I gave up. I had the same issue with UE as I did with Unity: the learning curve was just too steep for a beginner. This isn’t the engine’s fault – games are complex pieces of software, and they require complex tools – but it was far more than I was ready to handle. So, with much regret, I gave up, and looked for something else. Gamemaker Studio 2 In my search, I found what finally seemed like the perfect match: Gamemaker Studio 2. GameMaker Studio 2 (GMS2) is the “sequel” to GameMaker Studio, a hugely popular game engine that is tailored for 2-D games and designed to be easy to use. A license costs$99, but like with most engines, there is a free version available that you can use to see if it is right for you. This version is super-limited and you can’t make commercial games with it, but it’s a great way to get a taste without spending the money.  Yes, I originally wanted to make the game in 3D. But after banging my head against the wall with both Unity and Unreal Engine, I was more than willing to compromise.  GMS2 is basically a dumbed-down version of Unity, and for someone like me, that was perfect. The layout is similar, but the tools are easier to access and use, and the programming language was developed with beginners in mind.  GMS2 uses a proprietary programming language called Gamemaker Language (GML). This language is a simplified version of object-oriented languages like C# and C++, with enough wiggle room built in that you can write successful code even if you are (like me) a ham-fisted programmer.  GMS2 is where I first started having success in development. I learned how layers worked and how objects interacted with each other. I made real progress with GML, learning how to code fairly complex functions. It was good.  But it was still too hard.  Here’s my problem. I am a grown adult with a full-time job, spouse, and children. I have very little free time.  I am also not a natural programmer. It can take me weeks to learn and understand something in coding that may take a more gifted programmer only hours to learn.  Combine this lack of free time with the need to learn a simplified but still complex tool, and you have a recipe for frustration. And while I was finally able to get the game up and running (you can see the results in some of the videos on the website), development was still painfully slow, because I was having an extremely difficult time learning GML. It just wasn’t getting through.  So I finally caved and did something that, at the beginning of my game engine search, I swore I would never do: use a visual coding engine.  Construct 3  “Visual coding” is the buzzword around a lot of new game engines. More and more engines are hitting the market, promising you the ability to make a game without writing a single line of code. Construct 3 is one of the most popular.  Visual coding usually consists of connecting boxes or nodes that represent blocks of code. The idea is that you can link actions together without worrying about obscure language or syntax issues.  Construct 3 is the latest engine in the Construct line. It works entirely in your browser. And at \$100 a year for the subscription, it is by far the most expensive of all the engines I’ve tried (other than BuildBox, but that’s a story worth a whole blog entry unto itself).  It is also stunningly easy to use, although I struggled with it a bit at first.  The interface is extremely intuitive. You basically create game objects, and assign them actions based on options in a variety of drop-down menus. With a little practice, you’re off and running. It takes me hours to do in Construct what it would take me days or weeks in GMS2.  The biggest time-savers are the behaviors. Construct 3 enables you to add common platforming behaviors to your game. Things like basic controls, jump-through platforms, and bullets are templated in: you just have to tweak them to make them your own. For someone like me – who, in addition to coding, has to do just about everything else for the game except draw and compose music – this is perfect. It enables me to be as productive as possible with the limited amount of time I have. The learning curve is much flatter here.  I said above that I didn’t originally want to learn a VC engine, and this is true. I wanted to learn to code and become a “real” programmer.  However, I didn’t start this just to learn how to program. I did it in order to make a video game. Construct 3 is enabling me to do that much faster than any other engine I’ve tried. And for that reason, it is currently my engine of choice.
The post A Tale of Five Engines: Or How to Pick a Game Engine appeared first on Gilded Octopus.

## Week #4

week #4 fly by, time its running out and the progress for this week was making the first enemy, the first weapon and the basic health gui, of curse this is not the final art. i must work harder in order to keep up with my schedule and finish on time!! 😓

## Devlog #5

Hi everyone,   This week I managed to get a lot done, I finished up play testing region 4 and the entirety of region 5, including to boss, which on a side note was an absolute pain in the original form that I had to cut down significantly. It was also VERY buggy :). This week My hope is to play test the final region and get all the builds made for release.   were closing in on the end folks!   Have a great day, Buttercreeper6

## Hit Scanning!

I found a free slot this evening to sit down and implement a hit scanning routine for the engine.
As a precursor step I had to implement a spatial hashing data structure to store all the objects in the world in while providing fast overlap detection. For my hit scanning routine I ray march along the ray in question looking at all of the map cells and checking if any objects were hashed into them.  Any object was, then it gets clipped against the level geometry, as well as tested for distance from the ray.  If its completely clipped or too far from the ray it gets discarded. Finally the closest of all the remaining objects is returned. As you can see from the video below, it seems to be working okay in most situations, so I don't expect to need to change my approach much.
You can see a debug visualization of the spatial hash debug drawn in the top left corner of the window. Next task is either monster sprite animations or particles and blood spray.

## 🎮 Bugs BE GONE - Indie Game Devlog #6 🎮

▼ Watch the Devlog on YouTube ▼ ▲ Watch the Devlog on YouTube ▲   Hey everyone! I recently started the development of N.E.S.T, an action-packed, looter-shooter mobile game, and have been logging the progress through videos on YouTube every week! You can view the full playlist here. I would greatly appreciate if you could support the development of this game by subscribing to me on YouTube here, or by following me on itch.io here. Thanks for your time, and hope to see you all there!

## Do the unexpected. Try the new thing out.Trust yourself. Be willing to fail!

Because of my willingness to use a bold strategy, I forced other teams to react to me instead of me reacting to them.   At the end of this draft, my team ended up receiving the highest score on every rating service we checked. While anything can happen this season, I'm in a great spot.   Now I'm not trying to say you should have exclusively individual ideas that you just know are awesome. Quite the opposite - you should definitely run your ideas by others and consider their input voraciously, especially if they have years on you. All of it informs what you do and why.   And while it's easy to say "take risks!", putting it into practice can be far more difficult. It's one thing to take risk in a fantasy football league - quite another to add risk to your professional, business, and personal lives.   But if we are willing to be as bold and purposeful in the rest of our lives as we are in fantasy, Halo, or poker, we would "win" a lot more.   Noone's approached game audio the way Unlock is - but being confident in our research and the reasons why it's a better option for indie and mid-level teams is a huge part of why we're doing it!   Don't discount your thought process, strategy, and instinct. There's a reason you're doing what you do.

Be sure to check out Unlock Audio and grab some free stuff. Want to reach out? hello@unlockaudio.com

## Graphics Programming weekly - Issue 100 — September 29, 2019

wayback-archive [Video] DirectX Raytracing: Real-Time Denoised Raytraced Ambient Occlusion overview video for the new DirectX Raytracing sample, showing a Raytraced Ambient Occlusion implementation Technically Art: Issue 36 (27.09.2019) collection of tweets related to VFX, shaders, and game art wayback-archive Multi-resolution Ocean Rendering in Crest Ocean System [280 MB pptx] provides an overview of the ocean rendering system the system is based around hierarchical, fully dynamic ocean data sources shows how to model waves, integrate shading and realistic flow patterns wayback-archive Thanks to Spencer Sherk for support of this series. Would you like to see your name here too? Become a Patreon of this series.

## Unity Weekly Updates #63 - Puzzled

Well, look who's back! Hello. This is your favourite weekly update blog! Last week was interesting, to say the least. Last weekend, I decided to bring The Legend of Zelda: Link's Awakening on the Nintendo switch. I must say that the experience was very satisfying. Although the game itself is still a bit outdated in terms of game design, it remains quite memorable. Also, with an almost identical conception of rooms (especially dungeons rooms), I was able to experiment a bit with my own room designs too. So without any further ados, let's dive right into it! New Rooms Mechanics  While playing Link's Awakening, I realized that most enemies in Zelda games were not as complex as I originally thought. With this realization came another question: if it's not the enemies that make the game fun, then what is it? After a few hours of play, it became very clear... Zelda games are known for two things: their dungeons and their puzzles. In our case, the "dungeons" part is already taken care of. This leaves us with the star of this post: puzzles! Puzzle Pieces So last week I was cooking up a puzzle system. The idea was to have a solid puzzle system from which to build semi-complex puzzles. With it, we can also have compound puzzles. Each puzzle can have two possible states: on or off. Some compound puzzles wait until all their sub-puzzles are cleared before turning themselves on. It's also possible to invert the puzzle too. A compound puzzle can also have different logic gates. By default, a compound puzzle uses the AND gate. We can also have an OR gate and even an XOR gate. Paired with the inverter, we get the full logical gates range! Puzzles can also freeze. Frozen puzzles won't be able to change their on/off state anymore. Quite handy when a puzzle is finished! But anyway, let's take a look at some puzzle elements! Toggle Switches First up, here's the toggle switch. Basically, it is a switch that activates interacting with it with the "e" key. Each switch can also interact with other switches. With this, we can create complex puzzles that are quite interesting to solve. Pressure Plates And finally, here is the pressure plate. To activate it, just press the button down. This can be done by either pushing a heavy object onto it or just standing on it.  Some pressure plates need constant pressure to stay "on" while others will freeze up once activated. Just look at the colour of the plate to find out. And that's about it for the puzzle as of yet. I still have to integrate puzzles into rooms and also refactor the game flow so to include puzzles. I also want to add more type of puzzles and perhaps even change the map generation to add even more puzzles.   In other words, a bunch of work ahead! Minor Updates Changed ice floors: Now ice floors have walls. This is especially noticable when surrounded by either chasms or liquids.
Refactored the screen brightness modifiers so that they also include tints: This way I can more closely simulate the dark brown tint of sunglasses. Added a mechanism allowing players to break down any obstacles that would have been broken only by bombs.  However, players must be strong enough and have the right kind of weapon. Added a ColorModifierStack class that acts as a ModifierStack but for colours.  Next Week I have to say that playing at Zelda allowed me to realign my priorities and also showed me how to do the parts principle well. Before I thought that what should be improved was the bosses. However, Link's Awakening showed me that a game does not need a complex boss to be fun. Although bosses remain a priority, it's far less important than puzzles. Thus I'm planning on working on those puzzle bits first. Then perhaps it's really gonna be boss time. Aside from that, it's your usual suspect... I'm really feeling great about puzzles, though. It can potentially bring a whole lot of depth to an otherwise quite dry game... So yeah, that's about it!

## C# GUI WPF + OpenGL 3.1

We will see how to place OpenTK.GLControl on WPF window to make GUI application with 2D/3D graphics using modern OpenGL 3. This is the result VS project: EditedTriangle_WPFOpenGL31CSharp.zip How to create the project from scratch Note 1: RMB - Right Mouse Button click

## Getting there, and what I have learned so far

What I have mostly learned, is that doing something that is fun makes motivation come the easiest , compared to anything else I have ever done in my past. Making a game is probably one of the most fun things I have ever attempted. Doing the work, though apparently harder for most, is the absolute easiest for me. I get at least two hours a day, every day, every week. Doesn’t sound like much, but include a marriage, two toddlers, a few teenagers, four worthless cats and a full time job, ten hours a week is pretty freaking awesome. Jake knows what this is like as well, and the fact we have gotten this far is a true testament to what it means to us. Most can relate, but hopefully we become part of the elite who actually finish projects The last post is a to-do list I published about twenty days ago. I have been eating away at it, and am about two thirds done when I realized first, how little I have done, and then, how much I have done. Its amazing what a little optimism can do for your day, and your week, and any project you might be working on. I am currently working on the inventory controller and realized I have learned a few points in my journey so far, and just wanted to post it. Mainly so I don’t forget, and to help others confirm their own findings. First off, do not start a part of the project without finishing it. Maybe this seems redundant, and I am sure there will be times in the future where I fear I might get confused coming back, but really, if the script is working 80% or so, and there is a couple things implemented that arn’t working as expected, continuing on with the intention of coming back to fix it is being lazy. Coming back to it costs more energy, and working on other parts with that bug glaring at you is no fun either. Bottom line: Do not add something unless it works. Don’t implement something and then not finish it because it isn’t essential at the moment. Secondly, fractal the shit out of it. This project could have probably used a better fracturing system, but hey, I got it now. I did a good job of realizing what should have been fractured in the beginning, so it probably won’t become spaghetti down the road. Most of my mistakes come from starting a script with the intention of it only doing x and y , and before I know it, its a thousand lines plus and does about every single function that object could possibly do. Luckily, my ability to do this within a script is on par, but doing it within relating objects needs a bit more work. Practice makes perfect. Thirdly, the next game I do, I want to start with the soundtrack first. Really, I have no logical reason why, just seems like a good idea LOL! Fourthly, write tight code from the start. I am not sure why I didn’t plan out how I was going to name things, but part of the problem was I didn’t know how the libraries were names – and I should have, because it is apparently standard naming procedure. Do not save “clean up” for a later step.

## Snake - Story mode reaches its first milestone!

I've been quiet here on gamedev for the past two weeks, but only because I've been busy getting story mode operational.  Since my last update, I've managed to get all the core aspects of story mode functioning.  Referring back to my wiki page on GitHub, I've completed points 1 through 3 and point 8 (because it was easy and natural to do so at the time): Levels will load dynamically, progressing the player through an entire campaign to completion. All types of win conditions are supported.  The level designer has the choice of:  number of a particular food item eaten, length of snake, or time survived. The level designer can define a maximum snake health.  Hitting a barrier only causes the snake to lose a point of health. Eating food scores points.  The game keeps track of how far the snake moved from the time food spawned, up to the time it was eaten.  Bonus points are scored if the snake moves the shortest possible path. Multiple food spawns are supported, with carrots being the extra type of food supported so far.  Each new type of food will have pre-determined characteristics; for carrots, they give a low score, but also heal the snake by a small amount. Story mode adds a "food spawned" sound effect that isn't present in quick mode. I also spent some time blending grass textures together to help spruce up the visuals a little bit:   As soon as I got the second type of food spawning, and tested out being able to spawn multiple food instances, the game actually got kinda fun.  I'm quite happy with how it's all coming together. 😀 Now it's time to start thinking about the actual story behind Story Mode!  I have a basic outline floating around in my head, but need to flesh out the details and figure out how that will translate into the actual game play. In terms of features, the next smaller thing I want to add is "dangers".  The first danger I'll add will be a spike that comes up from beneath the ground, causing damage to the snake if its body is present on that tile.  In terms of level design, I have the ability to set where both food items and dangers will spawn.  So I'll be able to provide a visual cue that certain tiles are dangerous; and avoid having food spawn there.  Food might spawn near such tiles, though -- gotta make it a challenge! And the next major feature will be cut-scene support.  I'm expecting this to be a fair bit of development work... but hopefully also a lot of fun once it's working!

## Rudimentary concepts brought to life

It's been a while . . . I've spent these last couple of weeks experimenting and slowly building up the foundations (concepts) of a playable character; which would ultimately end up in the demo. It's based on an old Frankish design, with some additional tweaks here and there. Granted, it is really-rough around the edges, but I wanted to see how it all came together; thus left some parts for the imagination (will polish it later, like the straps and the cape, etc.). Initially, when I landed on this design, I decided to cramp as much detail onto this model as I could–just so that it would double as promotional material. That being said, that inadvertently created this intangible struggle of having to create two separate low poly models for said purposes. Suffice to say that the more I worked on this, the more clear it became that it might be a better idea to switch engines all together (to Unreal). But . . . and this is the main source of my conundrum: this would also mean that the project would be thrown back several months; not entirely sure that the delay would justify itself. Whatever might be the case, I'll keep working on this small, linear dungeon crawler ("cave run") and see where this project will go from here . . . Furthermore, I thought to share some close-ups of the model:

## Unity MMORPG devlog #6

Yesterday I published one more devlog entry of my project. On this video I talk about character customisation and animations. There is a lot of room for improvements, especially the animations department, but it's OK for now and I will move forward to NPC scripting, and polish the animations later down the road. Let me know your thoughts and questions. Cheers!

## Multiple Projects

Right now I have 3 game projects is in development. One of them is ‘There Is No Tomorrow’ which is going to be published soon hopefully. While the other 2 projects are still in early to mid development stage. Actually recently I started ANOTHER project for mobile but now I am pausing the development till I finished ‘There Is No Tomorrow’. This one week which I was handling 4 game projects, my mind is becoming more confusing and over-active, I don’t feel good at all. So I guess that my limit is 3 projects and no more. Just yesterday, I released ‘Noosphere’ on Steam. The actual release is in 2020. This is a first person horror game which is actually my first 3d first person game. All my previous games are third person view. https://store.steampowered.com/app/1161430/Noosphere/Wishlists count is important to a game’s success. If you are interested in this genre, please feel free to add the game to your Wishlist https://store.steampowered.com/app/1161430/Noosphere

## Asset Screen #2: Humble Beginnings

This is the beginning of the new asset screen. It doesn't look like much yet, but quite a lot of work has gone into it already behind the scenes.

In order to see just the data in this screen shot, an entire workflow had to be developed to allow the computer to create each record, automatically detect each piece of data on any given record, determine whether it should be displayed, format it, place it in the correct spot, and mark it as either visible or invisible (which means that there are actually a number of records that exist but that you can't yet see because no one has clicked to open them).

It's a humble beginning, but now that we have this much working, adding new elements won't be nearly as difficult as adding these first few was, and further progress should be much more rapid. In the coming weeks, I'll be focusing on making this more visually appealing, on adding more elements, and on adding a lot of behaviors (e.g. many of these elements will be clickable). Original post blogged on Rank: Warmaster Dev Blog.

## A simple progressView for Corona

One of the things that makes Corona great is that we offer over 1,000 API calls to make your life as a developer easier. This includes various convenience APIs that make our simple-to-use APIs even simpler. However, sometimes those convenience methods can be less of a convenience and more of a headache when you try to use them beyond what they were designed for. Let’s examine the widget.* library as an example. The widget.* library contains API’s to create buttons, switches, tableViews and more, but they were created with the intention of emulating the look and feel of iOS and Android UI elements. Corona Labs eventually added options to alter their look so they could be themed to fit your game or app better. The problem is trying to theme these widgets can be more complex than building a custom widget on your own. One of these widgets is the widget.newProgressView. In its simplest setup, the widget.newProgressView is quite simple: local widget = require( "widget" ) local progressView = widget.newProgressView({ left = 50, top = 100, width = 220, isAnimated = true }) progressView:setProgress( 0.5 ) And you get:
when the progress is set to 50%. It’s a simple iOS-like progressView. If you change the widget theme to Android, it will be more familiar to native Android apps. But what if you want to do something that fits your app better? Well you can use image sheets to do that. Let’s look at the code first: local options = { width = 64, height = 64, numFrames = 6, sheetContentWidth = 384, sheetContentHeight = 64 } local progressSheet = graphics.newImageSheet( "widget-progress-view.png", options ) local progressView = widget.newProgressView({ sheet = progressSheet, fillOuterLeftFrame = 1, fillOuterMiddleFrame = 2, fillOuterRightFrame = 3, fillOuterWidth = 64, fillOuterHeight = 64, fillInnerLeftFrame = 4, fillInnerMiddleFrame = 5, fillInnerRightFrame = 6, fillWidth = 64, fillHeight = 64, left = 50, top = 200, width = 220, isAnimated = true }) progressView:setProgress( 0.5 ) There is a lot more you have to do to set it up code wise, but in addition you have to provide an image sheet that has to be specially constructed. It’s a six frame, 64px X 64px per frame image, where you have an outer frame and an inner fill. Frames 1 & 3 represent the end-caps of the outer frame, frames 4 & 6 represent the fill of the end caps. Frame 2 is the outer frame that’s stretched to fill the size you’ve set (width = 220 above) and frame 5 is the actual progress image that will be stretched to the percentages the view is set to. Even with this, it’s limited. This image sheet (ignore the background colors, they are there just to show you each frame):

will result in a progressView that looks like:
That frame and fill may not be what you want. What if you want to have something like a red to yellow to green gradient and perhaps have a pointer that shows where in the red to green range you are? Well you can’t really do that with this widget. Why? Because the middle frames stretch to the width and then the end caps are added. But you can do this with one image and one display.newRect() if you don’t mind rectangles, or a third image to act as a mask if you want rounded corners. Let’s look at an example that will give you that gradient “temperature gauge”. Starting with this image and mask:
and:

## Just Keep Going

Time and time again, I'm reminded how so much of success is based on a willingness to keep going when times get tough and challenges seem insurmountable.

Whether it's hitting the aesthetic that's right for the project, finding more clients and collaborators, or responding to obstacles and setbacks, endurance and being able to constantly chip away at progress always seem to be what really determines success.     This guy here is Andy Dufresne, and he escaped prison after being wrongly convicted by slowly chipping away at a concrete wall at night for almost 20 years. He had many setbacks and obstacles in the form of people, walls, lack of resources, criminal status, and a massive lack of sleep. But giving up wasn't an option.   Even after devoting that amount of time, he still had a serious struggle to finally escape. You'd think he was entitled to finally reap some rewards, right? But he still had to crawl through a literal pipe full of s***!    Yes, he's the main character from The Shawshank Redemption. Both the movie and Rovio (Angry Birds team) are great examples of illustrating this mindset. We need to put in time and sweat knowing none of it entitles us to success, but it all brings us that much closer to it.   At any point, Andy could have dwelled on how much of a victim he was, focused on how much wall was left, lost sight of his ultimate goal or began prioritizing things outside of the life he wanted. He could have said he was tired and would dig away at that concrete wall tomorrow. Or, Rovio could have used their past "failures" as an excuse to stop trying.   We all have these choices before us on a daily basis. And once we begin to make the "wrong" easy choices, it gets harder and harder to make the "right" ones.   Adopting a disciplined and focused mindset is incredibly powerful and healthy. It can help develop your craft(s), increase our output and in many ways be a serious mental health-saver in difficult moments. Huge problems become smaller when you just put one foot in front of the other. Over time those small steps add up to massive progress.    So much of life is dealing with obstacles that others seemingly don't have to, or paying your dues yet again (especially for professional creatives/artists!).   Just take a deep breath. Think. Have confidence in your efforts, and know you are bringing yourself that much closer to where you want to be one small step at a time.
Be sure to check out Unlock Audio and grab some free stuff. Want to reach out? hello@unlockaudio.com   Elliot Callighan is a composer and sound designer, and the owner of Unlock Audio. He also teaches in the film and game programs at DePaul University and is an Officer in the Army National Guard.

## Welcome to the first tech demo - testers wanted.

I haven't updated this blog for almost a year, but that doesn't mean I haven't been working on the game. Since the last post I have been working on implementing stats for characters and items and made character and inventory screens plus a belt for potions. Also character levels and experience was implemented. When I went to start implementing dialogues I realized that I had quite a bit of technical debt when it came to game data. Much was hardcoded, and other things were in my own file format, so I made a Worldbuilder application with a graphical interface I could use to define things like what zones to include, how they relate to each other, items, droptables, what mobs to spawn, their attributes and droptables etc. All of this data has ties to both the Unity client and the server - mobs and items point to prefabs in the unity spawner scripts, and zones point to Unity scenes. This data can then be exported to the server and the client.
This proved to be a bit of a task but at the end I was very happy that I did it. Some things are still not easily  definable the way I want them, like portal and spawn coordinates that I have to find myself, but it will do for now. Then I implemented some basic dialogue, and replaced the old character model with the "Adam and Eva Archers" pack that I bought from Mr Necturus' shop: http://mr-necturus.com/store/index.php?route=product/product&amp;product_id=625. All in all I like these a lot. The textures are pretty big which is of course a good thing but since they're too big for my purposes I played a little around with the import sizes to lower the build size. Next step was to set up a 3D scene for character creation, and enable gender selection, now that I have both male and female characters working.

If anyone is interested in checking out the progress and giving some feedback then you're welcome to download the latest client build: https://treacherousjourneys.com/downloads/journeys.zip

Note that this is an online game, and currently the only server I run is in Germany, so non-European users will probably get a lot of lag.
And remember this is still in very early stage of development - this is not a polished or feature-complete version.
Basic controls:
Left click ground to walk
Left click monster to attack it, right click to attack in a direction while standing still
Left click an item on the ground to grab it
Press 1-4 to quaff a potion
Press "i" for inventory panel - drag items between cells or to the ground.
Press "c" for character panel.

## New levels and game mechanics! :)

Hi everyone! Since my previous devlog I made 15 more levels and added some new game mechanics as well.
In total the game now has 25 levels. I'm currently working to add endless mode as well, I think it fits in nicely with the physics-based nature of the game. Here's whats new in terms of mechanics: Pistons - when you press space piston moves up and when you release space it goes back down. It can push the ball if you time it right, it can also be used to
prevent the ball from moving if you activate it in the right moment Moving obstacles - they behave exactly as you'd expect them to
Besides this I've also did some minor adjustments to color pallet, added tutorial, as well as fixed some bugs. That's it for now! I hope that this game will soon be ready for release. Can't wait to hear how you like it. Thanks for reading this devlog!
Any feedback is greatly appreciated!

• ### Popular Blogs

• Yeah just wanted to tell you that the text was not perfect. Only 99% 😉 . With everything SciFi I want it to not give up realism unecessary . I like the planets.
• I might be a wee to blame for the timing and the suspect initial push in the Unity Group.  Life is doing that thing for me as well and I'm only up to reporting Q3. (late as usual) It was amazing to see the community response to this challenge in particular. I took a step back as well and instead of repeating my personal old tired tricks, I've been reaching deeper in the bag for undiscovered machinery (ogl3.1 ubo) (pre4.3 glsl uniform location bind) I'm stuck on passing large(ish) arrays to a shader uniform block object. The figure it out part, I think is another one of the reasons why I do it.  Good Times.
• Man, sorry to hear that. Priorities are tough. You made some good progress though.
• ok this is really helpfull, can save alot time to me to when slizing animation sprites. Thankies
• I like the planet! Procedural planets allways got my respect 😃