Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411500 Posts in 69373 Topics- by 58429 Members - Latest Member: Alternalo

April 25, 2024, 01:52:25 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsDestructoPod - High action trench flying demolition extravaganza
Pages: 1 [2] 3 4 5
Print
Author Topic: DestructoPod - High action trench flying demolition extravaganza  (Read 11945 times)
popawheelie
Level 0
***


View Profile
« Reply #20 on: August 05, 2015, 07:30:37 AM »

DevLog 2015-8-5

Now Mit Sound!

Kept putting this off, but today I officially have sound. I used SDL2_mixer. Worked right of the box. Easy to use and setup. While it is not a full featured audio manager, it has all the basics and includes hooks for sound post processing.

I already had a very basic sound manager setup but it was designed to work with the iphone. Don't exactly recall what I used on the iphone, but it was some free software I grabbed off the web. The downside was that it was written obj-c. My source is c++ so there was some hand shaking that was needed. Ugly system to say the least.

Now everything is in c++. SDL2_mixer is cross platform compatible so hopefully I should never need to worry about playing sounds again.

Although, I do wish SDL2_mixer had one feature that the iphone has and that is real time pitch adjustment. I found this to be really useful when you want to stop a sound f/x mid stream. I know this will sound odd, but I noticed that if you increased the pitch while fading out a sound it sort of added closure to it. As if the sound was suppose to end. Stopping a sound f/x mid stream became a lot less noticeable.

A friend sent me an article on how pitch adjustment can be done directly on the sound stream without increasing/decreasing the sound duration. Tests showed that it was pretty taxing on the CPU. I don't think SDL2_mixer uses any kind of hardware for post processing so I’m on the fence about trying to implement this.

I've got a lot of sound f/x ready to go so the next youtube video will have sound. Hooray!

Take it easy.

H
Logged

Babbitron
Level 0
*


View Profile
« Reply #21 on: August 10, 2015, 06:02:14 PM »

Amazing destruct destruction going on.  Keep thinking  about the game, the rest will follow.
Logged
popawheelie
Level 0
***


View Profile
« Reply #22 on: August 11, 2015, 06:57:08 AM »

Thanks.  Beer!

And you're right. I seem to spend way too much time on authoring tools as opposed to actually performing the authoring process.

What's the saying? "Make games, not game engines."

H

Logged

popawheelie
Level 0
***


View Profile
« Reply #23 on: August 12, 2015, 08:00:08 AM »

DevLog 2015-8-12

The ghosts are going to be 2D point sprites. I wanna make it as easy as possible for anyone to create their own ghost and share it. How cool would it be to create ghosts of friends and family or better yet, ex-friends and family? Lasso them and toss them around.

Also it should be easy to add as many sounds and images to a ghost as you'd like. Ghost characters have multiple expressions (happy, sad, mad ...) and sounds (laugh, taunt, scared …) 

So the goal the last few days has been how to keep all this data organized without using some custom interface, script or database. Plus be easily referenced and shared by everyone (simple copy and paste). 

Ghost characters are assigned to individual groups. A group is a folder that contains all the sprite and sound files a ghost may use. Each sprite and sound is assigned to a particular ghost action or state. Problem now is how is the file association made between a ghost state and a file? I am not sure if this is an unorthodox method, but embedding keywords in the file name seems to do the trick here.

Certain file name keywords are reserved and specify action or function:

Actions: caught, escape, impact, taunt ...
Functions: loop, music ...

For example, a group may contain 6 sounds:

Casper_caught.aiff
Casper_escape.aiff
Casper_impact1.aiff
Casper_impact2.aiff
Casper_impact3.aiff
Casper_taunt_loop.aiff

The game engine checks each file name for the keywords, and assigns the file appropriately.

This method does have a big short coming. Often you want to assign all sorts of modifiers to sprites and sounds ( volume, pitch, opacity ...)  I figure adding an optional config script should solve this.

Would really be interested in what people think about this method.  Are there better ways of doing this?

Thanks.

H
Logged

popawheelie
Level 0
***


View Profile
« Reply #24 on: August 24, 2015, 10:10:00 AM »

DevLog 2015-8-24

These days I've been working on getting the character rig working. Initially tried using a series of images to animate movement. This would be the traditional way I think, but it was a bit of a nightmare for someone not accustomed to this kind of work. Lot of skilled people on this forum are great at this, but I needed to come up with another way.

The character rig involves dividing up an image in to 5 quadrants, and than deforming those quadrants to simulate movement. The chest is the common section that connects all parts and does not deform:

Head
Chest (Common Area )
Body
Left arm
Right arm



Each quadrant get assign a deform curve. A bias is used to concentrate points toward the front or the back of the curve. The points that make up the visible quadrant and it's triangles are than computed from the curve. A simple bend deformer is than used on the curve to get it to bend and simulate movement.



The same curves can also be used to bend forward and back.



I added a bunch of controls to Maya simplifying image alignment and bend settings.



Next step is to create some animation loops to get everything to move nicely.

Seems like a simple trick, but hopefully will be plenty good for ghosts. Plus, any one can draw a ghost as long as they stick to the pattern. So help a fella out, if you got a cool image or pic that would make a great ghost, please send it my way.  Ill place it in the rig, and show it off in another post.

 Beer!

Have a good one.

H
« Last Edit: May 07, 2019, 02:42:10 PM by popawheelie » Logged

popawheelie
Level 0
***


View Profile
« Reply #25 on: August 27, 2015, 06:54:18 AM »

DevLog 2015-8-27

Maya provides source code that allows you to load and play animations in other programs. Using this I can create and fine tune all the animations in Maya and than export them to a file that is read by the MOAB game engine. In order to create multiple animation sequences for a character, I separated the animation from the character node. The character node can than select which animation sequence it would like to play.

In game, I blend multiple animations to achieve different performances. For example, it would be cool to bend a ghost as it gets pulled left or right, and at the same time it struggles to get free.



And with that, I think I hit the ceiling on my animation capabilities. Next Ill attach a wrecking ball to the character and see what mayhem ensues.

Thanks for following along.

Cheers,
H
« Last Edit: May 05, 2019, 06:00:59 AM by popawheelie » Logged

Canned Turkey
Guest
« Reply #26 on: August 27, 2015, 09:51:20 AM »

Looks great!
Logged
Moth
Level 4
****



View Profile WWW
« Reply #27 on: August 27, 2015, 01:51:29 PM »

This looks so awesome!
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #28 on: August 27, 2015, 04:02:31 PM »

I'm still confused about the gameplay mechanics but that physics video look amazing!
Logged

Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #29 on: August 27, 2015, 04:19:07 PM »

This looks awesome, man.
Logged
SunWuKong
Level 5
*****


Help me, help you.


View Profile WWW
« Reply #30 on: August 27, 2015, 04:29:31 PM »

Great stuff and smashing things is always fun! Best of luck.

-Tim
Logged

popawheelie
Level 0
***


View Profile
« Reply #31 on: September 05, 2015, 07:48:21 AM »

Thanks a lot everyone.  Beer!

Hopefully I should have a game play demo soon. That should shed some light on where this project is going exactly and the challenges that players will face. A few more technical details to handle and than it will be on to creating assets and levels.

Thanks for following along.

H
Logged

popawheelie
Level 0
***


View Profile
« Reply #32 on: September 16, 2015, 07:27:43 AM »

DevLog 2015-9-16

Hello everyone. Controlling the character wrecking ball has been a huge nightmare. Tried out multiple approaches. From spring systems to faked collisions.

Finally settled on a dynamic sphere rigid body for the ghost in conjunction with a kinematic puller rigid body that is controlled by the lasso particles. The puller and sphere are connected via a ball joint. This allows the wrecking ball to be more or less free floating but can be pulled around.



The primary issue with this system is that the wrecking ball can be pulled through anything. The puller is controlled by the lasso particles. When you aim the lasso, the particles all attempt to line up with the plasma stream. The puller is moved with the particles. If the wrecking ball collides with something and doesn't smash through it, the ball will remain blocked by the collision. As the distance between the puller and the wrecking ball increases, eventually the wrecking ball will jump past the collider. Not good.

To fix this, I adjusted the puller position to never exceed a specific distance from the wrecking ball. But this created a new problem. Limiting the distance between wrecking ball and puller prevents the ball joint from properly exerting force on the wrecking ball. So it's important to take in to account when the wrecking ball has contact with something and when it does not. Remove the length restriction when there is no contact.

One big issue still is I find it really hard to judge the visual distance to a lassoed ghost. You can easily grab a ghost and swing it toward the church but not hit it because ghost is too close or far. Shadows have helped, but need something more. Any ideas?

Thanks for following along.

Cheers.

H
« Last Edit: May 05, 2019, 06:01:23 AM by popawheelie » Logged

popawheelie
Level 0
***


View Profile
« Reply #33 on: September 19, 2015, 07:03:34 AM »

DevLog 2015-9-19

Time to step away from the tougher code, and do some modeling. I need a fence or wall that will encompass the entire area. Modeling something like this is easy enough to do by hand using any program, but why pass up on opportunity to write a custom little fence program?





This simple Maya nodes consists of two inputs: a curve, and a ground mesh. The curve is projected onto the mesh, and than extruded along the mesh normals to create the fence. The top part of the fence can have noise applied to lean it and give it a nice crookedness. It has random height as well, although I'm not sure that's needed. Output geometry is also optimized for triangle strip rendering.



The output fence geometry is also converted into a static rigid body to be used as a barrier. With the exception that the player can climb the fence all seems to work swimmingly.

Have a great weekend.

Cheers,
H
« Last Edit: May 05, 2019, 06:01:51 AM by popawheelie » Logged

Babbitron
Level 0
*


View Profile
« Reply #34 on: October 09, 2015, 11:13:59 AM »

Just played Star Wars Battlefront with my son (Beta)  Graphics were amazing. Destruction unimpressive.  Just one chunk flys off then a big fireball or smoke cloud hides everything.  You should try to team up with EA.
Logged
popawheelie
Level 0
***


View Profile
« Reply #35 on: October 16, 2015, 07:15:49 AM »

Just played Star Wars Battlefront with my son (Beta)  Graphics were amazing. Destruction unimpressive.  Just one chunk flys off then a big fireball or smoke cloud hides everything.  You should try to team up with EA.

One of my hopes is that other game developers might find this destruction tech useful and want to use it in their own games.

These days Ive been bogged down with seemingly non-stop technical issues. Destruction is fun but a huge pain in the ass!

Take it easy.
H
Logged

popawheelie
Level 0
***


View Profile
« Reply #36 on: December 21, 2015, 09:45:22 AM »

DevLog 2015-12-20

Not being an artist forces you to improvise constantly. In this case creating a ground that doesn't look like total crap has been the latest issue. Instead of drawing a nice detail ground layer, I decided to go with sand. It's basically a single smooth color with some sparkles. The reasoning is that it's something that could be use a lot once it's done, and requires no artistic skill to draw. Let the code do the work. Using the “Journey” game as inspiration, I came up with this:





Granted it's mediocre at best, but hopefully no one will look away in horror.

Cheers,
H
« Last Edit: May 05, 2019, 06:02:20 AM by popawheelie » Logged

popawheelie
Level 0
***


View Profile
« Reply #37 on: December 23, 2015, 08:42:36 AM »

DevLog 2015-12-23

I received an email asking where I've been the last couple of months.

Well, I decided to drop working on this game for a bit and hold a game jam. Don't know anyone to have one with so I decided to go it solo. One month to come up with a new game from scratch. It actually started out really well. Super simple premise:

“You are abducted by aliens, and are now their play thing. Try to stay alive.”

As the player, you get tossed into a sand box. Giant aliens watch from above, and toss objects at you. Your mission is to get across the sand box to safety without getting pummeled to death.

The code hasn't had a walk through in nearly 3 years so you can imagine the bugs I encountered starting scenes from scratch. Code walk throughs are an important part of the software design process, but require at least one other individual to have one with.

Needless to say the game never got finished. Simply got bogged down in endless issues. It did clean up the code quite a bit though.

Game jams, even when your the only one involved are really useful. I plan on having another soon.

Cheers,

H
Logged

popawheelie
Level 0
***


View Profile
« Reply #38 on: December 28, 2015, 10:24:10 AM »

DevLog 2015-12-28

My MOAB destruction engine uses Maya as it's world builder. Most of the tools I've developed to date are for streamlining the destruction authoring process. While other aspects of game building are sorely lacking.

When I heard that Sting Ray was coming out, I immediately figured that this could really help. It is advertised that it is data driven and works seamlessly with Maya and that sounded great. Eventually Id like to convert MOAB to middleware so it can be used with other game engines and Sting Ray seemed like a perfect fit.

I decided to drop everything and take a look.

Long story short, Sting Ray did not turn out to be the solution I was looking far. The potential is there but even with access to the source code, I’m looking at a huge amount of work to make up for it's deficiencies. Simply can't afford to do that right now.

Perhaps in a year or two when Sting Ray has matured a bit, Ill take another look.

Cheers,
H
Logged

popawheelie
Level 0
***


View Profile
« Reply #39 on: July 20, 2016, 05:27:45 PM »

« Last Edit: May 05, 2019, 06:02:59 AM by popawheelie » Logged

Pages: 1 [2] 3 4 5
Print
Jump to:  

Theme orange-lt created by panic