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

Blogs

Unity Weekly Updates #28 - Little "Accidents"

Why hello there! And welcome to this 28th iteration of this Weekly Update blog! This week, I'm gonna be honest, doesn't really have ground-breaking changes. Instead, it's a mix of refactoring, balancing, bug fixing and refinement...  So this is gonna be a short and sweet one. No complex algorithm I promise! Liquid updates First, I've refined most liquid floor that I've mentioned in my previous update. Now, most non-water liquids have distinct waves patterns and particles. this means that we can safely identify a liquid more easily than before. Here's a look at the liquid nitrogen, for example: liquidNitroogenBath.mp4 Better bridges Secondly, I've also refined the bridges of the Island floor configuration. It was previously very blocky and not really bridge-like. So I've decided to remodel the basic bridge square to make it look more "bridge-ish". Then I've also decided to reuse my liana algorithm to displace the generated bridge's vertices so that it follows a catenary curve. This gives the authentic suspending bridge look. Aside from that, I've also added poles, rivets and ropes to reinforce the bridge look. Room Anchors Another really important thing is that I've dynamized the room anchor points. This way, Island patterned rooms will have their central anchor updated so that it actually uses the actual center of the island. This makes props much more aligned and believable. Tunnels Next up, I've also changed cracked walls so that blowing them up actually makes a hole instead of removing the wall completely. Pushes Finally, I've updated to the game's enemies. Just to recap, I'm using Unity's NavMesh Implementation to move my enemies around. It was pretty good, and paired with a proper behaviour tree it works wonders. However, it meant that no matter what the agent won't go out of the navmesh. Effectively this meant that there were no possible ways for the player to push AIs into chasms.  Pretty boring if you ask me. So I've decided to temporarily disable the NavMeshAgent component of my AIs when they get pushed. This way we can use rigid bodies to push them instead. Then I've first split the problem in two. First one was that I wanted AIs to actually be able to "get back up" from a non-lethal push (like into water and stuff). Then there's also the case in which I want the AI to die. (like in chasms) To fix the first problem, I've decided to use NavMeshLinks to link two different areas together.  It was pretty easy to change the map generator code to include this, and it works wonderfully. The second one was a bit hard to implement, mainly because it required NavMesh raycast in the update loop. I'm not a fan of this, but right now it works. Here's a video showing enemies getting pushed in a chasm: ByeBye.mp4 And here's some getting pushed in a poisonous lake: PushedAndTunnel.mp4 Minor Updates Fixed a bug with the Inputs bugging out if the mouse movement was too big Fixed bugs with my floor marching cube algorithm. Next week Oh wow, look at the time!  We're getting close to my "playable demo" deadline!  The next couple weeks won't be feature heavy. I only need to fix bugs, optimize some stuff, refactoring and also coming up with some kind of demo mode. After that, you'll be able to get your hands on some kind of demo. After that's done it's gonna be the usual suspects: Modeling, enemies, capacities, relics and so on. There's also some game designing that needs to be taken care of. There's a particular aspect of the game that has been boggling my mind for a while, and I just need to get things straight.

jb-dev

jb-dev

SlingBots - Turret Installations in Park, Improved Player Controls, Mini Map

Okay some new/improved things: Mini-Map!  Displays player location(direction arrow doesn't point in the "moving" direction yet though..), arena level locations(still just 1 atm) and turret locations. Turrets now pay out 20 rings on disable!  The good kind of feedback. There are now 10 turret installations in the park(in a circle around the hill for now) to keep the jump rings company.   These installations will be more "interactive" and "adaptable" in future builds.  But it makes freestyle play a little more entertaining as is. I've also done some more player control tuning and have locked a few axes out of the physics simulation, this has eliminated the left/right drifting on straight thrust.  It's also made the player even more accurate to steer and aim.  You might still find yourself slightly airborne when you cross a terrain mesh seam(invisible) but they shouldn't cause you to spin out of control anymore, just a random vertical bump..  Still trying to figure out how this is happening.. haha. Can somebody let me know if the NPCs in the race courses are too easy to beat?  I am not challenged by them in the least anymore...  lol  Some of that might have to do with improved control accuracy and easier flight too.   Thanks again to all the folks who have given me feedback so far, it's beyond invaluable!! SlingBot Boarding v0.4.1: https://www.kongregate.com/games/WilliamOlyOlson/slingbot-boarding

Septopus

Septopus

Dungeon Crawler Challenge

I'm late to the game, but I'm going to attempt this challenge. I made a small tile set for it. I also had a few versions of the main character before I settled on something very basic. The first version, I was going to use an asset I got through Humble Bumble, but it didn't fit right. So I tried to modify him enough to make him fit what I wanted, and that didn't work out too well. So I tried making my own from scratch (the bald guy on the right), but that didn't seem to fit very well either and might have taken a long time to create the assets. I even tried making a simple smiley face that would change color and expression based on its health. The version I settled on was pretty basic, but I think still fits well into my vision. I can always improve on it later. So I cranked out most of the animations I'll need.   I also made some rat graphics to be the first enemy. My plan is to mostly make my game a lot like the ASCII Rogue I spent a lot of my young years playing. I also had an idea floating around in my head for years about a health system a little different than the usual. It's not an entirely original idea, but I really want to try it out to see if it will work out as a fun game mechanic. The system is geared around injuries and how those injuries affect the body. Loss of blood affects strength, energy, speed, eventually consciousness, and other things. So a cut has more long term issues than the initial damage. It also heals over time. I'm not trying to make it realistic, I just want to provide more consequences and ways to die than the usual hit points depleted, ran out of food and die instantly. I don't know, I hope it works out. I had made a few prototypes in js, the last one was very complex. But for this I decided to boil the concept down it's the most basic elements for testing out the concept. So I made this prototype: http://devpirates.com/Proto/BasicInjuries/Injury.html It's a lot more basic than my previous prototypes. There are only a few entry points and once it's in place it shouldn't be much work to utilize. One addition I made over all the other prototypes, is that I added in food and water so that the player can die from starvation like in the Rogue game I used to play. I'm making my game in UE4, so now I need to convert it to work inside that. Which is another reason for me to create a simplified version of it, to make it easier to move over. I plan to add toggles to the game to turn off food and/or water needs for the difficulty setting. So now, in less than a month, I need to port the prototype health system, program the items, weapons, armor, and enemies, then create the dungeon generation system. It sounds so easy when I put it like that...

DavinCreed

DavinCreed

 

Automatic Doors / Travelling with Key Cards

We've turned the door to the escape pod into an automatic door. When the player enters the collider of the escape pod doors, the doors will open using an animation. Similarly, when the player exits the doors' collider, they will close with a closing animation. Only the player can activate the doors, no other objects. The script for this action is similar to the script that triggers the elevator animations. Another script was made that parents a key card to the player once the player picks the key card up. The key card will stop being a child of the player once the player releases the key card. This enables the key card to travel through different scenes with the player.   - Kristen

DATT3701Group

DATT3701Group

Dungeon Crawler Challenge - Update 3

A variety of things worked on over the past week. I've done some work to get the PC able to jump. The idea I'm thinking of is that there'd be palces with breaks in the floor you'd have to jump accross. I'm thinking of tieing that to the equipment weight you're carrying and decreasing the length of the jump, so maybe a bit of planning would be needed. For that to be meaningful though, I really need to work on what kind of equipment will be in the game. As it is now, you die if you jump off the floor into the "swamp". Having the little splash animation from Frogger was kinda handy there.   More noticably though I was playing around with the sprites and ended up turning my human into a rectangle with feet. I kinda like the way it looks so I'm thinking of going with it. I'm hoping that the style will allow for simpler equipment and enemy sprites like my "torch" in the screenshot below that looks suspiciously like a simple red rock. The floor tiles also changed a bit and there's a couple tile transitions that need fixing up like the one south of the PC in the screenshot. I had some basic clothes for the human sprite I was using before. Other than the hats, they don't work for the rectangle so I'm pretty much at a place where I have to be spending time working on clothes, armor, weapons, and any other stuff I can hopefully get into the game. Lots of fun to look forward to aligning where sprites join together. The screenshot doesn't really show much of what all I have done. I'm hoping to get a video of some kind put together over the weekend.  

kseh

kseh

Some Handy Procedural Methods (Placing objects on the ground in circle/grid patterns or individually)

It's been a while since I posted any code..  Here are some handy methods that I've been using frequently in my SlingBots game.  Keep in mind, some examples use local variables where it's better to reuse variables with more scope for memory/GC reasons in practical application.    If you see something that I could really improve, please let me know.  Many of these are "setup" routines so I've not bothered with optimization really at all since they run once, or very infrequently. All of these are designed to work with the standard Unity orientation, with normal terrain objects or terrain meshes. RayCast Position of Ground at any point on terrain: Vector3 GroundPosAt(Vector3 position) { Vector3 result = position; //some altitude above the highest possible ground position. float checkAltitude = 2000.0f; Ray rr = new Ray(new Vector3(position.x, checkAltitude, position.z), -Vector3.up); //I use a fixed allocation ray cast as a general practice to keep GC down. //It will need to be big enough to contain all the possible hits it could catch finding your ground object.. //YMMV with these *NonAlloc methods, but they work wonderfully for me. RaycastHit[] hits = new RaycastHit[20]; if (Physics.RaycastNonAlloc(rr, hits) > 0) { foreach(RaycastHit hit in hits) { //make sure this entry isn't null if (hit.collider != null) { //check for collision with object tagged ground if (hit.collider.CompareTag("ground")) { result = hit.point; } } } } return result; } Get A Vector3 position on a Circle at a specific angle and radius: Vector3 CirclePos(Vector3 center, float radius, float angle) { Vector3 pos; pos.x = center.x + radius * Mathf.Sin(angle * Mathf.Deg2Rad); pos.y = center.y; pos.z = center.z + radius * Mathf.Cos(angle * Mathf.Deg2Rad); return pos; } Object Placement using fixed arrays for object tracking and management: This example shows one of the ways I programmatically instantiate turrets into SlingBot Boarding. public GameObject worldTurretPrefab; GameObject[] worldTurrets = new GameObject[100]; SnowBallTurret[] _worldTurrets = new SnowBallTurret[100]; void PlaceWorldTurret(GameObject parentobject, Vector3 position, int firefrequency, float firepower, float sightdistance) { for (int i = 0; i < worldTurrets.Length; i++) { if (worldTurrets[i] == null) { if (parentobject == null) { worldTurrets[i] = Instantiate(worldTurretPrefab); } else { worldTurrets[i] = Instantiate(worldTurretPrefab, parentobject.transform, false); } _worldTurrets[i] = worldTurrets[i].GetComponentInChildren<SnowBallTurret>(); _worldTurrets[i].playerAvatar = GameController.GControl.Player; _worldTurrets[i].fireFrequency = firefrequency; _worldTurrets[i].id = (i + 1).ToString(); _worldTurrets[i].turretProjectileVelocity = firepower; _worldTurrets[i].turretSightingDistance = sightdistance; worldTurrets[i].transform.localPosition = position; break; } } } I use an array for both the object and a reference to the script it holds to save time on future getcomponent lookups.  This will come in handy when I want to upgrade the settings on all of the already instantiated objects due to a player increase in level/etc.  I use a fixed array so I can predict(reasonably) what the upper level of memory usage will be(after testing).  I iterate through the existing collection and only add a new object if there is an empty slot in the array.  This allows me to ensure there will be ZERO runtime exceptions related to object instantiation.  It is better for my game to end up being a little easier than it should have been than it would be for an exception to be thrown right at an exciting moment.  Note: the above method could be easily modified to return a bool on success/failure if you wanted to adjust the object arrays and try again on failure. Putting this all together, here's instantiating Turrets in a circle around a specific point(on uneven terrain): void PlaceTurretsCircle(Vector3 position, int turretcount, float turretradius) { //place turrets in circle for (int i = 0; i < turretcount; i++) { //Adjust settings based on players level float levelModifier = 1.0f; if (currentGameLevel > 1) { //add 20% to modifier for each level levelModifier += (0.2f * currentGameLevel); } //Calculate angle for object around circle float angl = (360 / turretcount) * i; PlaceWorldTurret(null, GroundPosAt(CirclePos(position, turretradius, (360 / turretcount) * i)), (int)(2000.0f / levelModifier), 50.0f * levelModifier, 500.0f); } } and a bonus, Here's placing turrets on a Grid: This one is presently written to require a parent object as it places the turrets in relative position to that object. void PlaceTurretsGrid(GameObject parentobject, float xstart, float zstart, float xrowdist, float zrowdist, float yoffset, int xrowcount, int count, int firefrequency, float firepower, float sightdistance) { float xoffset = xstart; float zoffset = zstart; if (count > 100) count = 100; int xmaxcount = xrowcount - 1; int xcount = 0; for (int i = 0; i < count; i++) { //Without ground position checking PlaceWorldTurret(parentObject, new Vector3(xoffset, yoffset, zoffset), turretFireFrequency, turretFirePower, turretSightDistance); //With ground position checking(untested) //PlaceWorldTurret(parentObject, GroundPosAt(parentObject.position + new Vector3(xoffset, yoffset, zoffset)), turretFireFrequency, turretFirePower, turretSightDistance); xcount++; xoffset += xrowdist; if (xcount > xmaxcount) { xcount = 0; xoffset = xstart; zoffset += zrowdist; } } } Not a lot of rocket science going on here, but it could be a time-saver or a mental-block fixer for somebody I'm sure. Check out the game if you get a chance: https://www.kongregate.com/games/WilliamOlyOlson/slingbot-boarding/ Happy coding out there!!

Septopus

Septopus

GameDev - Dungeon Crawler Challenge - Part 2

I didn't have too much time today, but I managed to sculpt out some fixes to the upper and lower parts of the arms yesterday. I'm not going to make anything look "perfect" or put a lot of time in correctness considering the camera view will be a Diablo style view, and you wont really notice it. I also finished the Helm, Chainmail Chest Armor, Sword, Shield, and even added on some cloth. There will be two goblin skins as well. NOTE: Some color reflections are due to the HDRi map on reflective materials.   I was going to make custom eyes, but I'm just going to keep them black as the camera view wouldn't make that much of a difference in putting details into them. Creating assets without a base mesh can be a big pain in the butt... The Goblin itself could still use a lot of work, but my entire approach to these challenges is to create the models from scratch without pre-existing bases as I would normally do in other work. I still need to make a chest, key, health pots, gold coins, GUI, environment textures, and the basic rooms. My next update will have a room concept with a fully textured room, and propped goblins. I still need to Rig and animate these meshes, and I'll do that after my next update. Thanks for reading!  

Rutin

Rutin

 

Post-Mortem Of The Dungeon Crawler Challenge

First I would like to say that I had a lot of fun attempting this challenge. I never participated in anything like this before. I voted for the Doom and the Dungeon Crawler choices in the challenge poll and was satisfied to see that they both came out on top. What went wrong I will start with what went wrong when I started this project, which uses the Unreal Engine. Probably the toughest thing I had to code, was the AI. It simply did not do what I wanted it to do at first and it took me several tries just to get it right. I had to turn on and look at the AI debug screen to see what was wrong. Turns out that my AI's cone of vision was completely disoriented due to a badly aligned capsule component. I simply rotated the capsule 90 degrees and the cone of vision was correct afterwards. But later on I got rid of the 45 degrees vision cone and replaced it with one with full circle so that the enemy could sense the player as if it had eyes all around its head. It was more adequate for the kind of AI that this game would require.  Another problem that I encountered was that sometimes the AI would stop moving after I had made some changes on the map. It took me several hours to realize that I had to rebuild the map navigation data because the AI simply did not move otherwise. What went right This project uses Blueprints for the most part, with some C++ for the basic player movement, setup and camera orientation. I found that Blueprints are extremely easy to use and let you iterate and prototype your game much much faster than pulling up Visual Studio, write some C++ code and wait a while for the code to compile after you make some changes. This is one of the problems with UE4 in my opinion since it takes much longer to compile your C++ code, than to compile your Blueprints. Unity has the upper hand in this as the C# compiles very quickly. This is probably why Epic Games are considering creating an intermediate scripting language between Blueprints and C++. https://www.reddit.com/r/unrealengine/comments/aezhdv/it_seems_people_at_epic_are_considering_adding/   So, it was a breeze to simply code game logic using these Blueprints and it did not take me long to adopt them. I am considering nativizing them so I can basically learn how they map to C++, and also to optimize the code. If I do, I will publish the source code on GitHub. What I have learned I learned how to use UE4, in my view the most versatile and powerful engine there is to make games right now. You can do so much with it, not just games but all kinds of things from movie content to architectural design. I learned how to use Blueprints, which at first I thought they were kind of bad since the nodes take so much space and to perform common programming things like loops, branching, etc. it is not ideal.  I learned how to design an AI using UE4's behavior trees and AI perceptions. It was not easy at first, but it was satisfying to finally make it work. Level design is another thing I had to improve, and this time it was a bit better than the usual basic things I have done in the past, mostly with Quake 3's level editor. Conclusion This challenge helped me learn a lot of things, and I am looking forward to see which challenges will be proposed in the future. I will go back to focus on my own engine, which uses D3D11/12, and will use what I have learned with UE4 to improve my own code.  

Hermetix

Hermetix

Simple, Extensible, Performant, Low Cost Web Serving using Firebase Hosting

We just rebuilt the Corepox website to improve performance and to extend our functionality with custom pages generated from game data. The website scores 99/100 on a page speed test, and cost less than $5 to host and can be extended and scaled horizontally We think the architecture might be of interest to other indie developers who are looking for highly customizable, high performance but low cost serving technology. Read the full article at corepox.net  

Tom Larkworthy

Tom Larkworthy

 

Dyslexic font for programming

I’d seen that “weighted” font that’s easier for dyslexics to read, but I just learned that there’s a monospaced version that’s got all the programming glyphs so you can use it in for programming. In this example, they’re using VSCode, but it doesn’t seem to be doing anything advanced (i.e. ligatures), so there’s no reason it shouldn’t work on any text editor you want. https://dev.to/deadlybyte/have-dyslexia-make-coding-easier-in-visual-studio-code-4kmg
View the full article

johnhattan

johnhattan

 

Unity updates its TOS, developers can now use any third party service that integrate into Unity

Last week, a lot of drama had been going between Improbable and Unity, when Unity updated their TOS Clause 2.4 to restrict developers who planned to use Unity in any kind of distributed network capacity. Yesterday, in a blog post Unity improved on their  End User License Agreement to make it more open for developers. […] The post Unity updates its TOS, developers can now use any third party service that integrate into Unity appeared first on Packt Hub.
View the full article

Packt

Packt

 

Last quarter additions

Haven’t written for a while, but I have been working on the project tirelessly I managed to implement a different animation system for weapons, each one can have a unique animation (instead of predefined by very broad weapon type). Here’s an example – Slingshot for Ranger: I completely remade buffs/debuffs system – replaced it with Aura Controller, each aura can have its own icon, effect, length, etc… all affected by player/enemy stats. And it is all visible on the hud …as well as a few new particle effects, here are some examples: Stun: Haste: Armor buff: Invisibility: I implemented Pause functionality, as well as a bunch of in-game settings (which are saved, yay!) Added Death system – for now, a short message is shown for a few seconds, and then you get teleported back to the last camp you rested at. Later, I plan on healing all enemies around the player who died, to remove possibility of rushing back after respawn again and again: Created a ship that will be present in the game’s intro sequence: …with fully modelled interior, which serves as main menu + character creation hub: Completely redesigned loading system – now with added level-specific loading screens and progress bar: Split-screen multiplayer functionality added to main menu + improved co-op specific interface + fixed a TON of issues with it: Implemented varied environments within one “level” – like getting into a cave without a loading screen Entirely new Fog of war (map discovery) controller – now it’s pretty slick, and it’s saved together with each player character separately. I really like it Also added collision blocks to prevent players from falling into the abyss or walking outside of the level …and currently I am working on dialogues and quests. Here’s a little walk around the Dagis village, and a dialogue with farmer Ferk, who’s probably the first person you’ll meet there. In case you have any questions or remarks, feel free to write here
…or visit project’s Twitter https://twitter.com/ArpagoGame/
…or visit its website – http://arpago.eu Thanks! The post Last quarter additions appeared first on Arpago.
View the full article

Paszq

Paszq

SlingBots - First Playable Arena Level & The SuperLoop!

Okay, so major notable changes/updates in this build(mostly untested): Revamped player steering and lots of tweaks to the way the player interacts with surfaces in the game.  As a side effect you can now almost fly endlessly(with airBoost Fuel) by tapping the flip back button and keeping the board straight.   hehe, I'm gonna need to add an Altimeter and revamp the records section a bit after this.. Revamped NPC steering, should prove more reliable and less twitchy. Introduction of System Damage, damage that occurs as the result of explosions(mostly turret snowballs, your own do a little damage but not enough to accumulate). Arena levels, the first playable level featuring 10 pretty hard to defeat turrets firing explosive(on contact with the player) snowballs. Snowball explosions that trigger other snowball explosions. Player snowball explosions can trigger turret snowball explosions(only 1 level deep, but it's enough), mass explosions do lots of damage.. watch out!  Too much damage and you lose the arena level.  Also, turrets can still fire if they are close enough to their platforms, their numbers will disappear and the platform will spray particles straight up when they are offline.   These were fun to make! Strategy Note: Hold Right-Click on the mouse and use reverse thrust, this fixes your camera angle "forward" so you can aim while in motion. The System Damage slowly repairs itself over time, but not very fast...   When you lose, you just get kicked back to game start position so you can try again.  There will be a screen with stats and music and whatnot when I get it all working.   SlingBot Boarding v0.3.7   https://www.kongregate.com/games/WilliamOlyOlson/slingbot-boarding Keep in mind, several days of programming with only a couple web builds, significantly less time testing.. haha, let me know if you find any bugs! Enjoy and let me know what ya think!

Septopus

Septopus

Surprise Music!

So, I got really close to getting a new build out last night, maybe tonight. If you've played thus far, you've probably noticed there wasn't any music.  I hadn't even thought about it much, more of a final touches thing in my mind I guess..  But then I got a DM a week or so ago, randomly from a very nice guy offering to help with that. Then this morning I woke up to an equally nice bit of theme music in my inbox! Check this out!  Sling Bot Boarding (Theme).mp3 I think it's pretty rad. Let me know what you think?!   Check him out, here's his info(he approved the share): User: @Jacky Chan https://soundcloud.com/jacky-chan-536075013 https://open.spotify.com/artist/4CeAevk6JYAzqIJAqVz3g5

Septopus

Septopus

GameDev - Dungeon Crawler Challenge - Part 1

Well, I'm late as always to the show, but I sat down today for a few hours and created my concept for the entry along with the base mesh.   For this challenge my intent is to have the player play as a goblin looking creature with the object of escaping the goblin den. There will be other goblins that the player will fight, and I'm planning on using a Diablo style for this entry. The basic level layouts will be rooms connected by hallways, and these will be random per 'level'. Levels will happen once you beat the boss for each floor and you will be presented with a door to enter to go to the next stage. There will also be rooms with chests that have higher loot values, but cannot be opened until you kill the key holder in that room. All goblins will drop loot as well, and potions to heal. At the start of each spawn point there will be a shopkeeper to gamble gold for new items, and to buy potions. The player will level up with EXP, and can apply to STR, DEX, and HP. STR allows you to do more DMG plus meets equipment requirements. DEX allows you to hit more accurately, and also impacts equipment requirements. HP will just increase the player's health pool. Equips in the game will consists of helms with a variable of abilities, chest armor, shields, and swords that can do elemental damage, and cause poison damage on top of physical damage. I only had a few hours to make the base mesh for all the spawns, and the player. I started with primitive shapes to help sculpt my forms then added in more detail as I went. I still need to fix up some things, but for the most part it will be okay as the camera isn't close enough for extreme levels of detail. Low Poly: High Poly:   Test bake, and quick paint job: NOTE: I haven't added in eyes or eye lids yet.     Game Concept camera positions:   I will need to fix up a few issues with the model, add in the eye lids, and eyes, then detail in the skin, and make a generic paint job for the base. Then I'll create variations using texturing for all the enemies, and bosses. In my next update I will show case the armor equipment, shields, swords, and helms along side the completed goblin mesh. 'This blog entry is for the GameDev.net Challenge'    

Rutin

Rutin

 

This Week in Game-Guru - 1/14/2018

This week's update will be a bit shorter than usual as I am in crunch mode for my book (which goes to the publisher in Feb).

So just a quick pass on the GameGuru stuff from this last week:

Official GameGuru News
Nothing official but it seems the issues list on Github is climbing ever higher. Maybe we'll see some of those get knocked off soon?  

What's Good in the Store Lots of good things out there this week, notably the RPG pack by moshroom and the music packs shown below.  

However, it seems Dvader dropped a pretty unique 'lockpicking' script that brings to mind a certain game set in post apocalyptia.
I'd love a video of this, but for now, this still will have to suffice!


Free Stuff A free top-down low poly character: https://forum.game-guru.com/thread/220434
Tarkus1971 put out a new track called 'the realization' - https://forum.game-guru.com/thread/213190?page=5#msg2610573
Piratemyke is continuing to provide interesting free models (in a sense) made with the EBE: https://forum.game-guru.com/thread/220414


Third Party Tools and Tutorials Nothing new this week.

Random Acts of Creativity (WIPs) Karmacomposer posted a sneakpeak of his current work:
Not bad! Though with these entities I'm sure the optimization phase will be an absolute bear.  Good luck on your project, Karma. Details available here: https://forum.game-guru.com/thread/220427

 Maha25 posted an interesting screenshot of a Jungle-based project called N.D.A. -

You can get more details here: https://forum.game-guru.com/thread/220404

Ramiro has a new project (Psalm of Salem)on their way:


For more details, click here: https://forum.game-guru.com/thread/220435.



In My Own Works
My 3 proofers have basically been working at getting their updates done, which I have to incorporate into the book while simultaneously doing a first draft edit.  Initial feedback is very positive. I also have my editor looking at it so he can make appropriate changes to help cram this in as quick as possible.  Next week will be me making pictures and formatting changes.  Then I *crosses fingers* will be done.
View the full article

Bolt-Action Gaming

Bolt-Action Gaming

Photo finish - automating previews of levels

Hi all, The main project for this weekend was to get powerups tied to an actual level in the game, which i have now got working as in the video below: With this out of the way I have decided to progress onto the next feature of the game which requires development. This is the level select page, which you are presented with if you have previously unlocked any levels in the game, letting you revisit and replay them to get better scores and collect extra powerups. Within the menu, each level should have a preview image, or thumbnail, showing its appearance to allow for visual memory of which level is which. This was previously implemented on the .NET version of Firework Factory, as can be seen below: In the newer unreal engine version this must be re-implemented. In the previous version, screenshots were taken by spawning the entire level, taking a screen capture of the level and storing that in a texture. I decided to do something similar in UE4, only to find that doing so would be overkill, as instantiating a level is quite expensive, and would have to be done dozens of times on startup just to capture screenshots to render targets, which could then be turned into materials, and displayed in the menu. Instead, i chose to make a 'photo studio', and get the levels 'photographed'. Yes, you heard right, a photo studio. The solution for the problem is to first create a separate map. Within this separate map create a couple of strong directional lights to ensure that there isn't too much shadow in the images. Secondly, create a floor made of a non-emissive completely black material with no reflectiveness. Essentially, this floor is impossibly black, much like it has been painted with vantablack. Next, I set up a blueprint to incrementally load each level in a loop, wait 1 second for the postprocessing effects to settle, and issue the console command: HighResSnapshot 3.0 The code for this can be seen in the blueprint below: This causes the game to save a screenshot of the current level to the folder Saved\Screenshots\Windows, where it can be loaded into GIMP and autocropped, giving me an image like the one below, which is the one for level 4: These can then be associated with the levels as a Texture2D by importing them into the content folder, so that a thumbnail can be displayed. As i add new levels, i just re-run the process to generate the snapshots, pick the new levels images, autocrop them and drop them into content, which takes all of 30 seconds. This means i can ensure that all the images are taken from the same angle, with the same lighting, the same postprocessing effects, and have an image of exactly the same dimensions. Next on the list: Use these thumbnails for an actual level select menu! Feedback as always is more than welcome, stay tuned for further updates!

Brain

Brain

 

Final IK Set Back

While testing Final IK we ran into a problem with our code which we're working to resolve currently. We've also been working on art assets this week and have been developing plans for the music and fx we hope to use. More to come soon but for now here is the WIP Logo we will be using.
 

DATT3701Group

DATT3701Group

Dungeon Crawler Challenge - Update 2

This past week I ended up working on a torch light feature. I feel as though I should've been focusing my time on creating enemies to fight and items to pick up and use but this was something I just couldn't pull myself away from. Always so close to having everything worked out that just a little more time wouldn't be an issue. My hope is that it leads to something that ends up being more enjoyable in the game than frustrating. In any case, I have something that is pretty much what I was aiming for. It's a basic spotlight kind of thing that I can attach to generic things that I add to the level and it's possible for the player to pick those things up and walk around with them (though there's a bit of refactoring to sort out). I tell myself that being able to place torches throughout the maze will be kind of cool and be a part of the exploration. Being able to see everything around you makes a maze way too easy to navigate. Being able to pick up and put down items is a step forward as well. The player moves over the item to pick up and presses a key and the item is now in your hand as you walk around. An inventory won't be far off and I think that's where picked up things will be placed into by default unless I think of some UI that's more convenient. With being able to move things in the game from one place to another, the player would be able to bring keys to doors or perhaps some other tool to resolve a puzzle, if I can think of something. There's a bit more to finalize with moving things around but I think next I might want to look into a jump functionality. The maze you walk in isn't a cave environment with walls all around you but more like a platform to walk on. Maybe it's a path in a swamp. So maybe finding places that are safe to jump across could have potential. And maybe the distance you can jump is affected by how much you're carrying. Lots of "maybes". Hopefully it all comes together.

kseh

kseh

Everything is in the Wrong Order!! - Test Adventure Dev 05

G'Day.... This is a quick post as I wanted to get something "shown". So this is just a quick demonstration of the application running. It is showing the start screen and then playing the Cinimatic_Enter for the 1st room you find yourself in. There are a few features you can see in action here. The game engine initialises. This dose a lot of stuff like reading in text files for rooms and items and word lists. It also resizes the console to a non-default shape. This is as I wanted more vertical room to allow for long text strings. I also elongated it as well. It shoul fit comfortably into a 1280x720 screen so I doubt the resize will be an issue. Unfortunately there dose not appear to be a way to "lock" the user from resizing the screen. It is just up to them to not do it I guess as resizing the console will destroy the screen formatting. Then it prints the "start screen" this is the big Adventure Text and my message under it. These are actually two different print functions. One is a "frame print" that is a instant display, well really just a super fast display if lines) and the other is a "type written" effect that types out each character at a time. You might also note that there is a dynamic wordwrap that makes sure the text has a nice margin on both sides and no spit words across lines. The cool thing is that the user can use any key to "skip" the text output to the end. After pausing for an Anykey it then starts the actual game. We are now in the main game loop that takes input then returns to a point that takes input. Then it prints out what I am calling a "Cinematic". In this case the cinematic is the "entered the room for the first time" List<string>. All this data is read from external text data files and can be changed by simply editing the files in a notePad. These Cinematic only play if certain switches in the room are triggered. So every input loop the room.Activates().. but the switches determine what automatic information is displayed before accepting input. This way I can add any story text or events or scene changes, and then after that, no matter how may times you re-enter you do not see them again. So in this case the CinematicEnter plays the very first time the player enters the room.   Aren't I supposed to be working on the CommandPhraser? YES! yes, I am. A good mate of mine who is a programmer recently got over sickness and rebooted his online presence. After I was telling him of my project and how it has been going and he kinda gave me a bit of a scolding. Apparently, I have done one the cardinal sins. I have been focusing on the wrong stuff. Almost on polish rather than the meat of the application. Meaning that I have done a lot of work here and have really failed to make anything but minor inroads into the command phraser. Which is really the entire focus of the application and the main "chunk" of it I plan to be carrying lessons form into other more complex projects for the stage 2 "2D" projects. Without a command phraser there simply is no game. So why have I not prototyped that first in a clean simple environment? I dunno man.. I dunno. I probably should have haha! You see I was trying to build what I have now.. an environment that I can easily test commands. So I have a player sitting in a room, with items and in a level. While I was building the DataReader I found I was working on phrasing data I had no real idea on how to use. So during the rewrite I redid the code to be generic. It now reads raw individual lines into strings or reads raw individual lines between brackets into List<strings>. So I am not longer restricted with pre-planning the entire data file. It is trivial to add more read data types as I need them. So now I had the data reader, it seemed logical to me to work though in a forward,s tep by step kind of way. So I add and use in a "real" manner the data. Rather than having all this junk data. So when I am coding the command processor I am also coding how the read inputs can be used in a scene and at the same time build the exact data it needs to do those commands. Without having to pre-plan everything. Well that is my reasoning.. I still think I probably should have made sure my command processing concept was workable before hand... oh well. Regardless I am pretty happy with were the project is right now. Everything seems to be working as I wanted, and I am now in the exact position I planned to be.. as in a area free to experiment wit the command phraser and it's action implementation in a hands on kind of way. See ya next time! --A4L  

A4L

A4L

  • Advertisement
×

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!