GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Diversion Page Previous  1, 2, 3 ... , 9, 10, 11  Next
View previous topic :: View next topic  
Author Message
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Thu Jan 24, 2013 6:29 pm    Post subject: Reply with quote

I agree that would be cool. It's funny, I've worked in a few warehouses and operated many forklifts. I would love to make a functional one in a game.
Unfortunately I don't think it's going to happen in Diversion. It would take a lot of time to model and code. Perhaps in another game. I have too much on my plate with Diversion as it is.

There is a novelty gun hidden in the map though...


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Sun Feb 17, 2013 6:17 pm    Post subject: Reply with quote

If anyone is still getting an error about d3dx9_43.dll, please try updating DirectX via this link. Please post your results here. Thanks!

http://www.microsoft.com/en-us/download/details.aspx?id=35


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Fri Jun 14, 2013 4:09 pm    Post subject: Reply with quote

FYI, I will be doing an update to Nuclear Playground tonight and in the process I will be removing the beta/demo of Diversion.
So if you're interested in trying that, grab it now!

The main reason being because it may misrepresent the final game since it's using DirectX9 and apparently has some compatibility issues. The final game will use DirectX10. I don't want people to try the beta and think the final game won't work on the intended target (which is Windows 7).

Other reasons can be explained in target=ExtraCredits>this episode of Extra Credits.



-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Fri Jul 05, 2013 7:24 pm    Post subject: Reply with quote

It's been awhile since we've had a screenshot:


This is showing dynamic lighting on the water surface and the sea floor below. There's an obvious spotlight on the edge of the cliff there. It's hard to see but there's also an M16 with a light laying on the bridge.

What's interesting about this isn't the shaders but the mesh I came up with to allow dozens of light sources to show up on these infinitely large surfaces.

Mutiny has up to three Horizons. These are the Sea Floor, Water Surface and Ground. Ground isn't used in Diversion since the game takes place on an island. These allow you to travel forever in any direction and still see these surfaces passing by. It's just a mesh with scrolling texture(s).

The problem with dynamic lighting is that you can only have so many lights hitting any one object before you max out. I think I have the current max set at 3 or 4 at the moment. Obviously there are more than 3 or 4 lights on the whole island that could be shining on the water somewhere (and I plan on adding lots more now that Mutiny has been pimped out).

My solution if you haven't figured it out already by that link, was to cut a bigass square hole in the Horizon mesh. Then I fill that hole with 100 "Chunks" in a grid pattern. These Chucks are individual objects, each rendering a quad with dynamic lighting enabled. The large mesh with the hole is only lit by directional light (such as the Sun). So instead of having 1 object with a max of 3 or 4 lights, I have 100 objects which are lit by 3 or 4 lights within range of that particular object. This effectively allows any lights near the camera to display correctly on these surfaces. Lights in the distance beyond the hole will not reflect off the water/ground. This is 200+ meters away however. Which I think is a reasonable cut off.

Bonus, these Chunks cull just like any other object so when you're in the city most of them aren't being rendered at all!

Extra bonus, that 101 in the corner is the frame rate *sunglasses* YEEEEEAAAAAHHHHH!


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Fri Jul 05, 2013 9:15 pm    Post subject: Reply with quote

Ooh... I see you've been busy. The new light model is clearly an improvement.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Wed Jul 17, 2013 10:56 pm    Post subject: Reply with quote

Now that I don't have to limit the number of lights per object as much I've been increasing the range (and sometimes width) of my lights. I will also be adding more to the island. This, along with the improved renderer/shaders is making the game look quite a bit better. I'm looking forward to doing some side by side comparisons with the DirectX9 version. There's still work to be done however.

I just spent my night working on a glass pixel shader. I'm quite happy with the results. It's another one of those things you probably won't even notice while playing the game. Because it looks like glass. But take a moment to consider what makes glass look like glass and how that translates into a raster image and you may start to appreciate something as seemingly simple as a window.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Sun Jul 28, 2013 11:16 pm    Post subject: Reply with quote

I've been adding new cosmetics to the game world. Trying to breath some life into this tiny island. I may make some new textures for the various buildings too. Having them all textured with the same boring maps is pretty damn bland.

Anyone who's played the demo knows that the 2nd two game modes were disabled. I re-enabled them the other day because I needed to quickly get a view of things from above. Interception starts you in an aircraft which is convenient for this purpose. So I fly over the island and parachute out to get a nice view of things.

What I forgot was that sometime last year before I locked those game modes and released the demo, I had just started work on the enemy flight AI. And wouldn't you know it, I had flown past my test-enemy-aircraft to get my pretty view. Once he caught up he immediately opened fire on my ass while I dangled from my parachute unable to do anything about my situation. Fortunately the AI missed but I had many shots wizz past me. It was an awesome moment I had never planned on!


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Mon Sep 09, 2013 12:38 am    Post subject: Reply with quote



I've got the last of the render to texture issues squared away (other then rendering to cube maps but I may not even bother). I had removed some Windows font/text handling bullshit when I made the switch to DirectX10. My new text stuff which is purely graphical needed to be updated to render to things like the HUD seen here. I also axed some texture shit due to DirectX9 limitations which is why my HUD is nice and crisp now :)

Focus is once again returning to the game.
I had an Rocket Ammo container for the Javelin (land vehicle) but there wasn't one for the Diversion (aircraft). Since Cluster Launchers now require ammo I had to make one. I could have reused the same one that I had already but visually it looks bulky and would look like shit on a sleek aircraft. Then I had to make sure it reports it's ammo to the vehicle so that the HUD could display it (these are all separate objects). Naturally I wanted to test my new toy. This screenshot doesn't quiet capture joy it brings me to rip shit apart with a swarm of wasp-like rockets.

I'm not sure yet how I'm going to present this loadout to the player. It may be an unlockable or perhaps simply parked at the air strip should the player decide to take it. Probably the later..


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Tue Sep 10, 2013 2:19 am    Post subject: Reply with quote

The enemies finally got their own rifle! This has been on the board for ages. The game needed a high speed projectile weapon to mix things up and that's exactly what this is. A very accurate semi-auto gun that gives the player something to be afraid of! It's a good medium to long range weapon which is something else the game needed more of.

I've also been giving the enemies more human weapons. Each wave after the first has at least one asshole with something special. Along with AI improvements the game is becoming more entertaining. As much as I've enjoyed working on the new renderer, I'm glad to be getting back into the game itself. I'm really looking forward to developing the Survival Mode where I'll be throwing the player into a lot more pants destroying situations.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Sun Oct 06, 2013 6:43 pm    Post subject: Reply with quote

Sadly I caught a nasty virus that's been going around in my area. It pretty much turns your sinuses into a waterfall for 2 or 3 weeks. Fun stuff!
I'm well again so today I started coding for the first time in awhile. Before becoming ill I had began replacing my pathfinding algorithm. I was using a bastardization of A* involving waypoints within the map instead of the usual grid. This worked well for Silent Chaos but wasn't suitable for Diversion's more complex environment. I like the idea of waypoints since it drastically reduces the number of nodes that the algorithm has to deal with. The downside is that you have to place these in the map(s) and make sure they're located intelligently. Fortunately I've improved my editor to make this pretty easy.

What I've switched to is called Depth-First Graph Traversal. target=dfgt>This youtube video gives a nice visual presentation on how this works.
Basically it allows you to systematically crawl through each node of a web-like graph while maintaining a list of nodes that got you there. This I found could be easily modified into a pathfinding algorithm by storing each of these lists that reach the target. Once complete you simply compare your collection of complete paths and pick out the most suitable one (typically the shortlist).



I've still got a bug or two to work out and the whole thing isn't optimized but I've been impressed by the results so far. My waypoints which make up the nodes on the grid already cache a list of each waypoint they're connected to. So there are no additional line of sight checks being done in realtime. So pathfinding no longer causes a pause in the game. Also, assuming the start and end points aren't off the grid, a path is guaranteed to be found.

By off the grid I mean there's no line of sight to at least one waypoint. If necessary I could have the AI spawn a temporary waypoint to get around this. This is something they already do to maneuver around basic obstacles so that they don't have to use pathfinding in the first place.

That's it for now. It's good to be coding again :)



-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Mon Oct 07, 2013 2:34 am    Post subject: Reply with quote

Cool stuff! :) But why are you using depth first search when you've got A* working already? AFAIK, A* should perform almost as well as DFS when your path is very straight-forward, and perform much better when the path is not so obvious...
_________________
My current project: Hook'd
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Mon Oct 07, 2013 9:01 am    Post subject: Reply with quote

Honestly, my implimation of A* was pretty crappy and not working well. It would fail about 50% of the time. So I was either going to rewrite the code with A* again or give something else a try. In Diversion, graph traversal fits perfectly since there already is a highly efficient graph in place. This graph paints a very simplified view of the world. A 2D grid would not work since paths need to travel above and below terrain. A 3D grid would add complexity where it is not needed. I think I may only have about 300 nodes which keeps things simple except where complexity is actually required.

It may not be the absolute best solution but so far it's showing promise :)


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Mon Oct 07, 2013 9:29 am    Post subject: Reply with quote

Oh, I see! :) But A* doesn't necessarily need a grid to work. It works on any graph that has a metric. After all, a grid is just a special graph... Sorry, I'm just being a nitpicky douchbag! :)
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Mon Oct 07, 2013 3:49 pm    Post subject: Reply with quote

hehe no worries. Discussions like this are how people learn. I'm sure I could have gotten A* to work had I given it another go. It's probably used in 75% of the games out there that need pathfinding. Obviously it's a good algorithm.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Mon Oct 07, 2013 7:49 pm    Post subject: Reply with quote

Oh sweet success! I've got this shit working solid now. Here are some sexy visualizations :)


I have hidden behind the building. This asshole is considering his options. The white line is the path he selected.


Here is an overhead view of the same scene. As you can see, there are paths all over the place. The idea being to find all of them within reason, then select the best one.


Let me count the ways I can get you!


Here's an overhead view of the above. The enemy is in the middle of the shot and already running down his chosen path (again in white).

Since taking these shots I have dialed it down a bit so there aren't quite as many paths stretching out into oblivion. I still left it a bit excessive simply because there's no noticeable performance penalty for doing so.

I couldn't be more happy with this. It has also improved gameplay since the AI is better as a result.
One of the reasons I revisited pathfinding in the first place is because it sucks when you're down to one or two enemies and simply can't find them. A new feature is that they will seek out the player when this happens. This makes it more action oriented instead of a frustrating game of hide and seek.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Mon Oct 28, 2013 12:49 pm    Post subject: Reply with quote

There hasn't been anything too exciting to report lately. Just bug fixes and tweaks.

I was able to cut the initial loading time down a bit by splitting up my sound effects into groups. Instead of loading everything at once I can spread the loading out a bit so that the wait is less noticeable.

I killed some stuff that's been on the white board. One of note being the addition of an AK-47. It'd be a bit redundant so it's been axed. Maybe in another game.

I'm considering leaving cars undrivable. They would change the dynamics of the game considerably and add a lot of work. We shall see.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Fri Nov 08, 2013 12:15 pm    Post subject: Reply with quote

I've always had an issue with my Snake Missiles (based on Sidewinders) missing their targets. They get real close but still miss.

Well after some reading it turns out that the real missiles usually don't hit their targets either. They've actually got 8 lasers & sensors to detect when their target is along-side them, at which point they detonate.

Screenshot

So I've made my Snake Missiles behave in the same way. and much blood was spilled!


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver


Edited by Bean on Thu Feb 13, 2014 12:19 am; edited 1 time
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Tue Nov 19, 2013 9:32 am    Post subject: Reply with quote

As you may have guessed, Diversion is probably not going to make it out this year. I'm hoping for February.
Life is getting in the way too much right now and the holiday season isn't going to make it any easier.

Besides, Xbone and PS4 are coming out. I doubt Diversion would get much attention with all of the juggernauts being released.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Thu Nov 21, 2013 9:39 pm    Post subject: Reply with quote

Inspired by Egoraptor's Megaman rant:


I made a list of things that the player needs to know. Then figured out way to explain those things without a tutorial, Navi, words etc.

Since Diversion doesn't have any linear levels I made use of the first set of enemies you encounter.
For example, the player needs to know that they must press a button to Aim their weapon. Not realizing this could make or break the fun for you. So I now have one of the first enemies equipped with a pistol, just like you. It's also got a flashlight mounted to it, just like yours does. When you see this guy, he's going to raise his pistol up and aim it before firing. He's teaching you how to use the weapon by shooting at you :)

You no longer start the game with an Ammo Pack. Because at the start, you wouldn't even know it was there. Remember this game has no HUD. You start with a pistol and however many rounds are in the clip. This is intentional. I want the newbie to run out of ammo right away to learn a few things.
That enemy with the pistol also has an Ammo Pack. So you kill him, and take his ammo. That teaches you that A) You can pick up shit B) You can Equip things C) Ammo Packs are a thing D) Ammo is very limited and running out can result in death and E) After fighting that first guy a few times with a handful of bullets you'll realize that hit-locations matter.

You can also take his pistol and duel wield. If you paid attention you'll notice he was turning on the pistol's flash light as well. So right away you learn most of the concepts of the game.

Another enemy right from the start is now carrying a Medi Kit. This demonstrates that Medi Kits exist and can be carried. If you got shot up learning the above, you can use the Medi Kit to fix yourself up and get a fresh start.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver


Edited by Bean on Thu Feb 13, 2014 12:21 am; edited 3 times
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Tue Dec 17, 2013 10:16 pm    Post subject: Reply with quote

Things have been progressing slowly during the holiday season. I'm actually surprised I've been getting some work in at all.

I've added an air traffic control tower to the airport. This primarily exists to deliver some story elements. The game is not story driven by any means but there is a story and I've been coming up with ways to tell it without mucking up the gameplay. I've been adding details for those interested in exploring them. If you just want to blow shit up there won't be any dialog or NPC's getting in your way. This game will be one of many on the same timeline.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Thu Dec 19, 2013 7:51 am    Post subject: Reply with quote

When you fight the first enemy/enemies in the game, do you scale down their AI to make it harder for the player to fail? I'd feel so embarrassed if the first bad guy in the game took me down.

Here's something I think would be great. This first enemy, he raises his gun at you, teaching you the "must raise/aim gun" logic. But then when he tries to shoot, he doesn't have any ammo. As he hollers out "Oh @#@# I dont' have any ammo!" you learn about ammo being a thing, but you don't have to have him shoot you in the process. :)

Have you thought about adding civilians to the game? A control tower might have friendly people working in it. Give players a chance to practice their aim on stationary targets...
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Tue Jan 07, 2014 3:46 am    Post subject: Reply with quote

Well I am finding that you don't necessarily fight that enemy with the pistol every time. You could end up running off in a different direction and face someone else. So I may have to supply the player with ammo so he doesn't become helpless and give up.

As for civilians, they have all been evacuated from the island. It'd be a cool element to have them but it would require significant time to put them in and make their AI.

Speaking of AI, that's what I worked on today (Since my last post I've been working primarily on 3D models and lighting). I can now spawn "event" objects. These are invisible and delete after a set amount of time. They don't actually Do anything, they just exist with a few parameters. They act as ques for NPC's so that they can react to events that happen.
e.g. If the player shoots an enemy, an event is spawned at that location indicating that, Character A just attacked Character B and anyone in X range should notice this. So now when you shoot someone, his buddies don't just stand there oblivious.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Thu Jan 09, 2014 6:07 pm    Post subject: Reply with quote


Trying to test some graphics when this asshole starts strafing me!


Oh yeah, thanks!


Using a shader tweak to test spotlight cones.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Thu Feb 13, 2014 12:17 am    Post subject: Reply with quote

I got a job at the beginning of the year. Soon after, I accepted another job. Before I started that job, a third company made me an offer which I also accepted. I then informed the second company that I was declining their offer. Technically I'm still employed with the first company, although I've only been working for the third one. And that my friends, is why I haven't been coding lately hehe

Shit is settling down now though so I plan to get the ball rolling again soon. It seems like every year I make it a goal to finish Diversion by the end of the year. Then life gets in the way..


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3766

PostPosted: Sun Mar 02, 2014 6:51 pm    Post subject: Reply with quote

Ok, live is beginning to stabilize so I'm back into my code again :)
Nothing too interesting, just cleaned up some AI and, I believe solved an access violation as well.

One game-play tweak I made is that when you attack an enemy and his friend's see this, they no longer automatically target you. Instead they'll go to your location. If they see you then they will target you. What this means is that you can shoot somebody and get away before his friends have a chance to investigate.

I have also made a design decision to simplify the Interception game mode (the flight portion of the game). In fact, I'm going back to the way it was originally intended, to intercept. The original concept was to make Missile Command with you being in the city.
For awhile there I was getting grand ideas of dog fighting. The AI necessary to make that work in a way that doesn't suck would take months.
Although you'll still start out in the air, you'll be able to land/crash/parachute to land and continue from there (and even take a new aircraft back up if you wish). The focus of the game mode will be to take out the missiles/bombs before they hit the city. Of course you'll be able to shoot down enemy aircraft as well but they'll exist primarily as a way to bring the missiles/bombs into the game world. There is also going to be many more of them.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Diversion Page Previous  1, 2, 3 ... , 9, 10, 11  Next

Use this link to get a Sign-On Bonus when you get started!

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.