Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / Those We Hold Dear

Author
Message
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 5th Nov 2012 21:57 Edited at: 5th Nov 2012 22:19
Those We Hold Dear is an action role-playing survival game in which the player must help his family survive on their journey through a deadly post-apocalyptic world.

The play will choose to play as either the father or mother in the family (with the option of the other being played by a friend in co-op) and get to design and name all members of the family. Everything following this initial bit of control will be procedurally generated so that no 2 adventures will be exactly the same. The layout of locations you pass through, the characters you'll meet, the availability of supplies and many other details will all be generated based on a set of rules so that, whilst unique, each play through makes sense and is "fair".

Dangers such as being eaten by The Infected, mugged by bandit gangs or even just running out of food and water are all constant issues the player will have to deal with.

Relationships and character perception will play a large role in your story. Mercilessly killing everything in sight may seem like an instant resolution to a situation but may make others wary of you, or in some cases respect you, altering their willingness to help you or follow your instructions in the future. This counts for both your own family and the other survivors you'll meet who you may end up teaming up with, trading with or even killing and robbing.

The game will focus very heavily on forming connections between the player and his family to try and make every close shave that bit more intense. Barely snatching your daughter from the jaws of an Infected should get your adrenaline running! Likewise, when you've spent the last few nights sleeping rough and living off scraps and then happen across a well stocked safe-house, knowing your family are safe and happy should invoke more emotion than 'level completed'. I have a lot of plans for tracking relationships and the interesting actions and responses AI driven characters can make to breathe some life into them.

There are many more details planned out that I will reveal over time, but I don't want to give everything away in one post.

I already have a rather large code base together covering many common aspects of a game engine which I will be building on. Over the last couple of weeks I have specifically been working on a lighting system. This is the first shader I have ever written from scratch. It is not quite finished but I am quite happy with it so far. It is a single shader applied to all relevant objects (no post-effects at the moment, though I may look at adding some gentle HDR eventually). It currently adds soft shadows (including handling transparency on objects such as plants), per-pixel lighting and rim lighting. Check out the YouTube video of it so far.


Please watch it in hd as the shadows can be hard to see otherwise!
Direct Link

This scene is running at full hd with 8x anti-aliasing and a high resolution shadow map and is running at 1500fps which, in my opinion, is not too shabby as a starting point! It is also fairly scalable with a few settings which can be tweaked.

Anyway, what little time I have around my full time web development job will be poured into getting this finished. I've had multiple projects being planned out and prototyped for months now and would love to be able to do them all at once, which would of course be absurd. This project just about won on the passion * plausibility of completion equation so my focus is here for now.

Thanks.


Previously TEH_CODERER.
Fallout
21
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 5th Nov 2012 23:43
Awesome start mate. Very nice looking scene and lighting. Looks like you'll be able to get some good world visuals with that setup. Looking forward to seeing this progress.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 6th Nov 2012 00:05
Really good lighting effects. What spec are you running it on at 1500fps?
Quote: "
Relationships and character perception will play a large role in your story. Mercilessly killing everything in sight may seem like an instant resolution to a situation but may make others wary of you, or in some cases respect you, altering their willingness to help you or follow your instructions in the future.
"


Realistic social dynamics indeed.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 6th Nov 2012 12:36
@Fallout - Thanks! I know it may seem illogical to start with the presentation but, the rendering technique can have an impact on media requirements and other parts of the code. I've spent years of taking code from Evolved and Green Gandalf and chopping and changing bits around to suit me, so it was very nice to finally feel comfortable enough to actually write a shader from scratch! Also, this is just one of those projects where I could instantly see it in my head and just really want to get it down before I lose that. I've got notepads full of planning for each of my projects but it's hard to really get the visual feel across with words or sketches.

@Chris Tate - Thanks again! I guess the only part of the spec that really matters at the moment is the GPU as the CPU is near enough dormant in this scene and there is nowhere near enough loaded to stress the RAM. The GPU is an AMD Radeon HD 7850. However, I still get over 900fps on the considerably less powerful AMD Radeon HD 5770. Even then, there is a lot that could be toned down for performance. Firstly, not everyone would be running at 1920 x 1080 resolution, especially if they have a less powerful GPU. Secondly, the anti-aliasing could be lowered or turned off completely. Thirdly, the shadow blurring could be turned off. Lastly, the shadow map resolution at the moment is larger than the screen resolution so can be halved without too much visual loss for a nice speed gain. Lower than that and you can see the visual loss, but it isn't terrible and makes a huge difference to speed.

Quote: "Realistic social dynamics indeed."

I'm not sure if this was sarcasm or not, but I probably didn't fully express myself brilliantly. Trying to compress 20 sheets of A4 into a single forum post...apparently not that easy.


Previously TEH_CODERER.
Fallout
21
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 6th Nov 2012 14:05
Quote: "I know it may seem illogical to start with the presentation"


Not to me! I think you're right to figure out how you're going to do your visuals early on. As you said, it will define media requirements and how you build levels etc. plus people demand a certain graphical quality these days, so it's a good idea to make sure you can satisfy that before you get stuck in.

Right, clear off and get working on it so we can see some updates!!

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 6th Nov 2012 14:51
Quote: "Quote: "Realistic social dynamics indeed."
I'm not sure if this was sarcasm or not, but I probably didn't fully express myself brilliantly. Trying to compress 20 sheets of A4 into a single forum post...apparently not that easy."


Not sarcasm at all; in reality your actions would affect how other people view you; this is the case in the Civilization games where your actions affect how other characters respond to you; and how you can win. Personally, having belief that the game experience is realistic can make it dramatic and tense; providing realism isn't overdone to the compromise gameplay.

Quote: "However, I still get over 900fps on the considerably less powerful AMD Radeon HD 5770. Even then, there is a lot that could be toned down for performance."


I've never been passed 500 fps on my system, and that is with no 3d; but that's because I have not bothered to upgrade. I like to use an old system to get a feel of how my game runs in order for it to be to work well low end machines.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 6th Nov 2012 16:23
Quote: "Personally, having belief that the game experience is realistic can make it dramatic and tense; providing realism isn't overdone to the compromise gameplay."


100% agreement here, and that is definitely the challenge. There are plenty of games I can think of where the cost of the cinematic nature and heavily structured story is that you can barely class it as a game so much as a 'choose your own adventure' book in animated form. The challenge is going to be picking out behavioural traits from the player without always just bluntly asking them to pick from 'Good option' or 'Evil option'. That is why this section of the project has 20 pages alone of planning. It covers minute things such as your kids always staying closer to one parent or the other based on their perception of them and other little things like this for the player to be able to gauge what people think of him rather than just being given a popularity statistic or something else so jarring and immersion destroying. I just really hope I can pull it off!

Quote: "I've never been passed 500 fps on my system, and that is with no 3d; but that's because I have not bothered to upgrade. I like to use an old system to get a feel of how my game runs in order for it to be to work well low end machines."


Indeed, unfortunately the lowest end machine I have available has a Nvidia 9600 GT. That is quite a dated card now in fairness but still hits 300fps with the maximum settings and climbs to 700 with everything dropped, neither of which are too bad for a mid-range card from 2008. Whilst I won't make this project needlessly inefficient, I also probably won't be aiming to support hardware much less powerful than that.

Quote: "Right, clear off and get working on it so we can see some updates!!"


Yes sir, at once!


Previously TEH_CODERER.
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 10th Nov 2012 23:01
I've unfortunately been really rather ill this week (very helpfully having started a WIP thread) but wanted to get an update posted.

Here is a quick look at the character control (blended animations and physics) I've been working on. It also quickly shows the development console I have in place. All just test graphics I chucked in for prototyping.


Direct link

I've been working on a few other bits today as well which I'll continue on tomorrow so hopefully I'll have another update by the end of tomorrow.


Previously TEH_CODERER.
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 11th Nov 2012 19:04 Edited at: 11th Nov 2012 20:39
A couple of images for today.

Here are some icons I've been working on for control prompts/instructions.


And a mock up of the main menu; the background will be an animated 3d scene once implemented. (Link due to image being a little larger)
http://forum.thegamecreators.com/xt/xt_apollo_pic.php?i=2408678


Previously TEH_CODERER.

Attachments

Login to view attachments
Fallout
21
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 12th Nov 2012 09:02
Good progress for a sicko! What is this console you were typing in? Is it some DBP plugin I've not tried yet or is it something you knocked up yourself?

It'll be interesting to see the menu when it's animating too. I think you're right an animating scene is the way to go. Static menus are just too old skool now.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 12th Nov 2012 10:34
The console is what caught my eye too.

I like the GUI design too.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 12th Nov 2012 10:47
Thanks!

The console is my own creation. I have my own scripting engine which is pretty far along, and the console just allows me run lines of script at run-time. The scripting engine allows me to declare variables, implicitly cast variables, call any of my DBPro functions, do if-statements and handles complex calculations in the correct order allowing literals and variables, but not yet inline function calls. I also still need to implement for/while loops and have worked out a way to pre-compile scripts for faster running so I'll be taking a look at that soon too. The console is incredibly useful though for quickly trying things out. It also gets updated by almost every part of my code with any non-fatal errors for me to track as well as doing a step through of scripts that are run, so it is quite handy for debugging.

And I 100% agree about the menu. Whenever I come across a game now where the menu is static it just instantly gives the impression of the developer having no love for the game. Whilst the game itself is obviously more important, the first thing anyone sees is going to be the menu, so you need to give a decent first impression. The animation though will have to wait until a bit further a long, as I want it to show the player's saved game so that when they choose 'continue' it just seamlessly blends in to the game.


Previously TEH_CODERER.
Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 12th Nov 2012 12:45
So it features joypad controls. Would the use of the joypad be recommended, manditory or by optional preference.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 12th Nov 2012 15:01
The keyboard keys are there as well, though admittedly I still need to do a couple more for the different shaped keys such as "return", "space", "shift" etc. and the mouse controls. Using a controller will be entirely optional. If one is connected whilst the game starts up then it will default to showing controller icons but change if mouse or keyboard interaction is used. This default behaviour can be changed in the options menu to always use one or the other, but again, if a controller is not present, it will fall back to keyboard controls. I've been planning out the mechanics to work well with either. Fingers crossed the theory will match the reality!


Previously TEH_CODERER.
Indicium
15
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 13th Nov 2012 17:55
Regarding the keyboard keys, what about people who'd prefer to remap their keys?


They see me coding, they hating. http://indi-indicium.blogspot.co.uk/
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 13th Nov 2012 20:10
Almost everything so far is configured in an XML file, most of which will be editable through the options screen, and I will continue to make this the case, including for controls.

Didn't get much spare time last night or tonight so far, but have managed to get a few more icons done as well as the somewhat painstaking task of reorganising all of the icons to neatly fit in a power-of-2 sized image for efficiency/neatest rendering. At least it is out of the way now so I can work on more fun things!


Previously TEH_CODERER.
madmaz
15
Years of Service
User Offline
Joined: 14th Mar 2009
Location:
Posted: 22nd Nov 2012 10:37
Hope to see this out soon

Programing is not as easy as it seems at first... the learning is never really over...
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 24th Nov 2012 11:30
Really sorry for the lack of updates but I'm afraid I've been feeling more and more ill and haven't been able to focus on a screen long enough to get any progress in. Hopefully I'll be feeling well enough to carry on soon!


Previously TEH_CODERER.
madmaz
15
Years of Service
User Offline
Joined: 14th Mar 2009
Location:
Posted: 26th Nov 2012 13:07
Hope you get well soon, so we can see future updates

Programing is not as easy as it seems at first... the learning is never really over...
Fallout
21
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 26th Nov 2012 13:37
Yep, get well soon dude! I've been a bit rough recently too. Maybe it's a PC virus that has bridged the gap between man and machine!

*upgrades AVG*

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 26th Nov 2012 14:21
Cheers guys!

Well I personally blame these old L2 implants (a little Mass Effect joke for you), but AVG? Well that is your problem right there. Hope you're feeling better soon too.

I spent a couple of hours last night on a procedural animation brain wave I had and managed to get something promising together pretty quickly, so my next update will probably be based around that. Hopefully within the next few days.


Previously TEH_CODERER.
Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Nov 2012 14:45
Did you get the flu? I've had mine a few weeks ago; not that you could catch my flu through your network cable...

madmaz
15
Years of Service
User Offline
Joined: 14th Mar 2009
Location:
Posted: 26th Nov 2012 19:37
Well, It might just be that the flu mutated into a variation that travels over electrical signals

You never know

Programing is not as easy as it seems at first... the learning is never really over...
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 26th Nov 2012 20:55 Edited at: 26th Nov 2012 20:56
I don't think it is the flu. I've had a bit of a cold and a cough, but I've had a headache for about 3 weeks now along with a bit of dizzines, blurred vision and mild hallucination. A smarter man would've seen a doctor by now.

Here is a very quickly put together video of my early procedural animation work. It just shows a little inverse kinematics work but I can already see how it will work going forward; I just need to find the time to code it! Hopefully it gives a rough idea of where I'm going with this.


Direct link


Previously TEH_CODERER.
Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Nov 2012 23:57
That looks smooth. I remember someone did made a walking robot with procedural code and posted it in the forum somewhere.

madmaz
15
Years of Service
User Offline
Joined: 14th Mar 2009
Location:
Posted: 27th Nov 2012 15:31
Looks good, I see what that could be useful for. Will that work with High Poly models?

Programing is not as easy as it seems at first... the learning is never really over...
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 1st Dec 2012 11:12
Quote: "Will that work with High Poly models?"


It should all work fine with any limb or bone based model. The code generated boxes are because:
a) I didn't want to spend too much time or money on either creating or buying a model at the test stage
b) I can try out different body proportions or other changes without having to boot up some modelling software

I've got quite a lot more done now with the procedural animation but I'm now trying to pull all my individual tests back together into a finished item. I've been planning basically a full procedural animation engine which lets you set up the various parts of a character setting which joints are legs/arms/etc. and select a movement style so that it could animate humans or animals and be able to give a little "personality" to the animation of each type of character. Hopefully I'll have some videos of this soon.

This weekend though I will be taking part in a game jam over at GameJolt (http://gamejolt.com/community/jams/) so I'll probably post my progress on that here as well just in case anyone is interested.


Previously TEH_CODERER.
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 2nd Dec 2012 01:33
Well, I've spent the whole day on my game jam entry.

The jam was announced with no theme. Instead there were 3 challenges you could attempt to cover. I opted for 'Limited Color Pallete' and will also attempt 'Binaural Audio' if I have the time as I have some ideas for it.

From 7am-1pm was spent planning out on paper a procedurally generated dungeon crawler, using the Commodore 16-color palette to meet the challenge. If I have time, to meet the 'Binaural Audio' challenge, I will be adding shoulder angel/devil who would try to give you suggestions in each ear perhaps extending this with acoustic and electric music that fits together but with just the acoustic coming through the ear with the angle and just the electric coming through the ear with the devil.

I'm getting a little tired now, but I have managed to get a huge chunk done really though there is little visible output yet. 3,800 lines of code in and loads of stuff such as media management, input with keyboard/controller, physics, state management, saving/loading the configuration and game state to/from XML, the main menu including saved game selction and automatic continuing from your last saved game and the character name generator are all in place. Thanks to the name generator, I'm currently playing as 'Rotclaw the Angry' whilst testing.

I'm now beginning on the dungeon creation. Some of the framework for that is already in place to and quite well planned out so I'm hoping it will go quite smoothly. Eventually I'll actually make some gameplay!

Whilst there is only tomorrow left for the game jam, depending on how tomorrow goes, and perhaps what response it gets from people, I will continue this through to a sensible stage because I'm quite enjoying it and liking how it is turning out.

The project page is over here for anyone interested. http://gamejolt.com/games/rpg/retro-dungeon/10935/ I will be continuing to update it and it should have some in-game screens/videos before too long tomorrow.

Whatever the case, this has been some decent practice!


Previously TEH_CODERER.
Fallout
21
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 11th Dec 2012 22:30
Stop game jamming and let's see some more procedural animation awesomeness! I've thought about this kind of thing in the past but discounted it just because of the complexity verses requirement. What motivated you to have a try at this approach? Is there something specific in the game you want to achieve or is it just experimentation?

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 12th Dec 2012 00:55
Haha, thanks, and don't worry, I've been done jamming for a while now. I'll get my game jam project uploaded soon for people to take a look at as I'm fairly chuffed with the random dungeon generator. The procedural work in the game jam project has been some good practise for Those We Hold Dear as well.

Sorry for the lack of updates. I've been busy present shopping for Christmas as well as trying to finally get my website up and running so I can get some prototypes/old projects up, start a development blog and try and get some publicity before starting a Kickstarter campaign. Should have the first version of my website up by the end of this weekend if not earlier and finally replace the 'coming soon' page (http://www.psychopixelgames.com/).

I'll be back to putting all my spare time into this again once that is out of the way.

The procedural animation is something I've visited several times before but always came to the same conclusion as you. However, whilst competing with the graphics of AAA games is not realistic, competing with their realism and immersion in other ways is more possible. Animations that are obviously canned/repetitive or that don't actually match the current relative layout of characters/scene/props make you far more aware that you're playing a game and break the suspension of disbelief. Another thing is that it would take forever to manually create all the animations wanted (which I'm also not fantastic at and, suffering from OCD, would spend absolutely ages over tiny details) as well as taking up a surprising amount of memory to store the key-frame data if you have quite a few characters with lots of different animations.

With all these things in mind, once I had a sudden thought of how to approach it and within a few hours came up with some decent results it seemed like it was worthwhile going along with it!


Previously TEH_CODERER.
Fallout
21
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 12th Dec 2012 09:04 Edited at: 12th Dec 2012 09:07
How does OCD line up with programming if you don't mind me asking? Is it a hindrance or does it help in some ways? I'm trying to find the silver lining!

I totally agree on the animation/realism and vs AAA attitude. Get the graphics to a decent level then make the game stand out with the other features. I think getting a good procedural walking animation may be difficult though, so perhaps an approach where you use a few manually made animations as templates to tell your procedural system what to aspire to may work?

As for Kickstarter, I think I have a bit of advice already. Establish a community and buzz around your WIP before you hit KS. Carnage is literally dead in the water atm, and I'm sure that is for a couple of reasons:
1. It's not advanced enough to show off a lot of content. Maybe 6 months down the line we would've had a lot more attention grabbing footage.
2. Nobody is talking about. Apart from my friends on FB and the community here, nobody else knows the game exists. So hitting KS now is like putting a new box of cereal next to all the others in the supermarket without an Ad campaign. Nobody is going to pick it up unless they know about it, or the packaging is so insanely good it's worth a punt!

So I would say, if you want to his KS, get your website up ASAP, and work every day to build a community/following for your game. Constantly encourage members to get more people on board etc. Get your WIP known and get some significant progress and then go for it. It's really only the famous names in the industry who can get people to throw money at them with nothing more than concept art and a greedy grin.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 12th Dec 2012 20:31 Edited at: 12th Dec 2012 20:36
Quote: "How does OCD line up with programming if you don't mind me asking? Is it a hindrance or does it help in some ways? I'm trying to find the silver lining!"


It varies, but honestly it is often more of a hindrance. Not wanting to sound big headed, but if I wasn't as competent and as fast a typist as I am now, it pretty much would've ended my programming career.

Use of spacing, line breaks and indents has to be exact all the time. I use strict naming conventions for everything. Wherever possible, items must be in alphabetical order, whether this refers to properties of a class, parameters in a method or attributes in an XML tag. Everything is commented clearly as well as a special format for class and method comments, describing the return value and its parameters.

I rewrite so many bits of code that are functionally fine but I think of a "cleaner" or more logical way of doing something that may not even affect efficiency, but I can't relax knowing it isn't right. At the end of it though, my code is generally efficient and, more importantly, incredibly easy to work with in the future or for another programmer to pick up, but it obviously does take that bit longer and involve that bit more stress.

Quote: "I think getting a good procedural walking animation may be difficult though, so perhaps an approach where you use a few manually made animations as templates to tell your procedural system what to aspire to may work?"


You may well be right, and I have given this consideration, but, so far, I've not really run into any issues. I may end up not getting the full-on fits-all-cases engine I was talking about, which I'm fully aware is ambitious for pretty much anyone, but even getting procedural animations for bipeds, for just the animations I need for this project, would be a decent enough start to build on for the next project. If I end up hitting a wall where the effort required is just not worth the gains then I'm prepared to look into compromises like this. Fingers crossed it won't come to that though!

Thanks for the Kickstarter advice. It is a bit scary because most projects won't get a second chance at that first impression, so I don't want to jump in before I'm sure I'm ready, but I also don't want to leave it so long that I start to lose enthusiasm.

I really hope the Carnage Live Kickstarter picks up because, looking at it, it is really easy to see how much work has gone into it and how much fun it will be. The hard part is, as you say, just getting enough people to look at it in the first place. That is why it is so irritating to see great projects like your's not getting enough attention whilst some ex-giant-game-corporation-dude can post some text with no progress even in existence and get backed £100,000 straight away.

I've just downloaded your demo by the way, so I'm off now to give it a quick play before working on my website again.

[Edit] I had to add some missing punctuation and correct some wording. [/Edit]


Previously TEH_CODERER.
Fallout
21
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 12th Dec 2012 23:40
By chucking the demo up hopefully more people will get involved. Obviously the muppets who literally don't read all the caveats, play the demo and think the final game will be exactly the same won't buy into the project. I'm sure there will be some. Hopefully the rest who play it will see the potential of a much more advanced version and pledge. We've already had another 4 pledges tonight, so maybe it's working.

I was just thinking, with regard to the OCD, your code would be awesome to work with .... but then I thought, you'd go mental with whatever code was sent back. Imagine if we worked together on a project and I got a few indents wrong. You'd go ballistic!

Anyway, looking forward to updates of TWHD.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 14th Jan 2013 21:50 Edited at: 20th Jan 2013 22:41
Sorry for completely disappearing for a while there but I have unfortunately had some, rather extended, poor health. I'm just about back to normal now, if very lacking in energy.

Quote: "I was just thinking, with regard to the OCD, your code would be awesome to work with .... but then I thought, you'd go mental with whatever code was sent back. Imagine if we worked together on a project and I got a few indents wrong. You'd go ballistic!"


Haha, I do have a tendency to "tidy up" colleagues' code or, if I'm there whilst they're typing, getting them to quickly change things into a specific order but, with several years of experience of working in a small team, I've gotten quite a lot better with it. I certainly don't flip out about it even if I do come back to it, sometimes out of hours, to quickly tidy things up.

Whilst we're dealing with hypotheticals though, if you do fancy teaming up on a project at some point then do let me know. I've followed your projects on these forums for years and always been impressed. I've worked on web applications in a small team quite a lot before, but haven't had the chance with a game project so far.

I still really can't wait to be in a position to make it my full time job! Knowing that there is something you really want to do, that you have wanted to do for over a decade, and have been working towards for the same length of time, and are pretty darned good at by this stage...spending between 40 and 70 hours a week on a different job sort of leaves you a little bit dead inside.

Anyhow, I'm starting to look at and pick back up on where I left off, so I'll try and get some updates here again soon!


Previously TEH_CODERER.
Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 16th Jan 2013 01:38 Edited at: 16th Jan 2013 01:38
Looking forward to seeing more TWHD stuff. Not having much time sucks, but it is also my main motivation for inventing faster ways to complete things.

(For the record, I triggered 1000th view of this thread)

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 17th Jan 2013 23:26 Edited at: 17th Jan 2013 23:29
Well, here is a new update. Perhaps a slight detour but I believe a worthwhile one. I seem to end up writing a custom UI system for every project I make which ends up wasting a lot of time. To avoid that going forward I've started putting together a UI system in C++ as a plugin.

I'm only a few days in to is so far (by which I mean maybe 2 hours a day squeezed in after work) so there isn't a huge amount to show yet but I've put together a little video of visible progress so far.


Watch it in HD

I have a lot more planned out on paper as well as a few bits you can't see in the video that aren't ready to show off yet. The UI plugin allows you to hook up your functions to UI events so using a command such as 'gui_attachEvent "btnOk", "click", "btnOk_click"' would fire the DBPro function 'btnOk_click' when the button control with the id 'btnOk' was clicked. It also lets you hook in your own functions for the rendering of each element so that whilst the functionality is fully handled by the plugin, each application can look completely different with full control of the aesthetics.

It also, as is shown in the video, allows you to render the UI to a separate render target meaning you can put the UI onto a 3d surface, such as an in-game laptop for example.

I have a lot more to do. I have a rather large list of other controls to add (19, not including sub-sets) as well as finishing off the windows (adding resizing and minimize/maximize/close buttons, allowing snapping, making the aforementioned features configurably optional) and making a simple mark-up language so you can use something akin to HTML to create interfaces.

Either way, I think it is looking pretty promising so far. More updates/videos soon hopefully!

[Edit]
Just for fun, here is the (relevant) source code from the example in the video.

[/Edit]


Previously TEH_CODERER.
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 20th Jan 2013 12:19 Edited at: 20th Jan 2013 22:40
Some more updates to the UI system.

I have now managed to implement multi-threading which, whilst I have done before in other languages such as C#, isn't something I've done in C++ before so it was quite good to learn. This allows the UI processing to take place at the same time as your other game logic and rendering.

I have also made the UI system detect when a change has actually occurred so that it only renders itself again when required. In the example in the video below the UI only updates itself when the content of a window changes, 6 times per second, instead of the 60 times per second the rest of the application uses.

So, video time.


Watch in HD

I appreciate that this may not look too exciting yet, but I'm pretty chuffed with how it is going so far and the framework behind it. Once I get a bit further in and get some more controls up and running and can start to look at actually applying the first UI theme I have designed it should start to look a bit more interesting.


Previously TEH_CODERER.
Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 21st Jan 2013 20:12
It's good to have multithreaded GUI, having the animation stall whilst an object loads is a bit old school; at least with the GUI on another thread you get to use the app whilst it is loading something.

I love 3D UI, i briefly worked on some in my game a few months ago, looking forward to doing some more.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 28th Jan 2013 19:15
Well, due to feeling a little adventurous, I have now written some code to allow me to use multi-dimensional dynamic arrays within DBPro by manually managing memory in a memblock. It allows for each item in the root array having a variable number of child items, rather than a stricter table-like layout.

This has been really helpful in allowing me to put together a nice and clean content manager. I already had a concept of "states" setup using the closest thing to an interface/base-class DBPro could handle. Basically, each state, in its own code file, is guaranteed to have 3 methods; stateName_init(), stateName_run() and stateName_cleanUp(). Naturally the "stateName" part is swapped out for whatever the state is called. Then, in my state manager, you add a state to it by name. Then, when a state is made active, the state manager finds the relevant functions by concatenating the state's name with "_run", for example, and handles everything to do with the active game state(s) and transitioning between them for me.

The addition of the content manager means that each state can have its own tidy bank of content items, such as objects, images, etc. Then, when a state is finished, I can simply tell it to delete all media for that state without affecting any of the other states. This makes it really easy to have the game open the in-game menu and have both states active at once. The menu starts and loads all its content into its own content manager. Then, when you resume the game, it just calls a single delete method and all of its content is cleared and you can carry on with the game.

It is already making life soooo much easier than having a global content manager due to the inability to have the style of arrays I needed. The custom array set-up allows me to have an array of content managers which expands as needed, inside which is an array of content types (objects, images, etc.), inside which is an array of the ids of items currently managed. So you may have no images loaded but 3 objects loaded and rather than having fixed dimensions so that you have 3 image records as well, even though they're empty, I'm using the bare minimum memory required.

Here are the templates of the commands I've created:


I've probably done a terrible job of explaining this but I'm pretty happy with this now. Despite being non-OOP due to using DBPro, the framework I have built so far is starting to feel very clean, and pretty complete, if I do say so myself.


Previously TEH_CODERER.
Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 13th Apr 2013 23:39 Edited at: 13th Apr 2013 23:40
Been a long old time thanks to work and a few other bits and pieces but I'm back with a new video.


http://youtu.be/V-wMRiu42l8

Been testing out some control schemes. Got the basic FPS controls down including wall jumps and picking up and throwing objects all tied into the physics engine. The video is a little jumpy but it feels really smooth in action. You wouldn't believe the amount of time and code that went in to getting the mouse look to feel just right! Also been testing some more procedural animation out for the camera and hands/weapons (partially demonstrated in the video).

Let me know any thoughts!


Previously TEH_CODERER.
Agent Dink
19
Years of Service
User Offline
Joined: 30th Mar 2004
Location:
Posted: 14th Apr 2013 18:42
This looks awesome. Great video. The camer looks very fluid
Nabz_32x
15
Years of Service
User Offline
Joined: 25th Oct 2008
Location:
Posted: 14th Apr 2013 19:53
I don´t know what you mean by jumpy video, as it looks really smooth. Can´t wait to see some more gameplay elements combined with this. Great Job!

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 14th Apr 2013 20:05
Awesome, thanks guys! To be honest, I was focussing on this one aspect for so long, making tiny tweaks (literally adjusting variables by around 0.01) and trying again and again until it felt right so that now I'm not really sure anymore, haha, so it is very useful to get some other people's views.

Having moved on to the next page with the first post after the video, I will just add it to this post again so that there is something to look at on this page and it doesn't get lost straight away.


http://youtu.be/V-wMRiu42l8


Previously TEH_CODERER.
Ashingda 27
16
Years of Service
User Offline
Joined: 15th Feb 2008
Location:
Posted: 14th Apr 2013 20:44
I like your lighting it's impressive!

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 14th Apr 2013 22:30
I like how the camera moves like a human would, it is not just set to follow the object but bobbled to reflect organic motion.

Ashingda 27
16
Years of Service
User Offline
Joined: 15th Feb 2008
Location:
Posted: 15th Apr 2013 01:11
Hmm, when a person moves around, their head and eyes would adjust to counter-balance the motion to a point where you don't really notice it. Some people even run with their heads leveled and reduced bouncing.

Is hard to really simulate this on a screen, no peripherals and no auto corrections. You are forced to view all the random bobbing. Some may like it but others (like myself) only gets a big headache from it trying to follow the movement. I can't watch movies that use this shaky technique and alway turn it off when playing fps games.

I just though I'd mention this, it's the only feature that I personally cannot adjust to.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 15th Apr 2013 02:16
I see your point. You must get serious head aches watching The Bourne Ultimatum? (That particular sequel). I know some people do, but I love the shakey camera work in certain films; to the contrary, when The Quantum of Solace tried to impersonate it, it looked terrible and gave me a head ache.

I think continuous bobbling with no randomization would look annoying after a while.

I guess it is a matter of taste. In my case I like it when it is done to make the movement a little organic and when there is impact or aggressive movement.

In the Counter Strike games there is very limited camera movement and it is still realistic looking I guess, so valid point.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 15th Apr 2013 02:29
Quote: "I like your lighting it's impressive!"

Thanks! At the moment it is just pre-baked light maps (took about 15 minutes to bake!). Once I get my real-time lighting/shadows combined with it then it should look a whole lot nicer and it should make other objects, such as the balls in the example, look more like part of the scene.

Quote: "I like how the camera moves like a human would, it is not just set to follow the object but bobbled to reflect organic motion."

This did take me a while to get to feel right so thanks, I'm glad looks good to someone else too. It is somewhat exaggerated in the first half of the video which was the initial test. I am still working on it a bit to get things like knees bending on take off and landing, rolling slightly when turning a corner at speed and an animation for pulling yourself up a ledge. In a game I was working on ages ago (called Manuel) I had implemented wall running so I'm slightly tempted to add that again too, at a more realistic level, and see how it feels.

Quote: "Hmm, when a person moves around, their head and eyes would adjust to counter-balance the motion to a point where you don't really notice it. Some people even run with their heads leveled and reduced bouncing. Is hard to really simulate this on a screen, no peripherals and no auto corrections. You are forced to view all the random bobbing."

Exactly the dilemma I was worried about whilst working on this. However, the camera staying completely rigid seemed very amateurish and didn't feel right.

Quote: "Some may like it but others (like myself) only gets a big headache from it trying to follow the movement. I can't watch movies that use this shaky technique and alway turn it off when playing fps games."

I had considered this and had a few people at work have a go to see if it caused them a problem but got a thumbs up across the board, though obviously that is far from extensive investigation. I'll definitely be leaving it in as I like it and most other people seem to, but I will make sure to add an option to configure how much, if any, camera animation there is.


Previously TEH_CODERER.
Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 15th Apr 2013 02:48 Edited at: 15th Apr 2013 03:12
Here is a an example of zero bobbling; although there the reason for not having bobbling may have more to do with tradition and online competition than to do with asthetics.



DEAD still, yet accepted. Now there is a little bit of bobbling in there, but it is hard to notice. They get away with it. Veterans like things to be more 'oldschool', even though this is a modern reboot of the most widely played online FPS in history. And I love the game.

In case study number two, Call of Duty Black Ops, biggest selling title of the year in an era where there is more competition than ever in the industry, especially with FPS games. It has loads of bobbling.



Counter Strike will always look better than COD on a PC because COD is a two reboot franchise for all the platforms, whereas CS gets long term development between releases and the source engine's main home is the PC; but this shows that people are quite happy with both extremes of bobbling.

Andrew_Neale
14
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 15th Apr 2013 11:01
Thanks for the examples. I did do some research into how other games approached this, as well as spending a while actually moving around like an idiot to compare with reality. I think the game closest to what I will be aiming for overall, in terms of movement, is Dishonored. It was enough to be immersive without being distracting and the controls themselves were very fluid and responsive. I'd actually forgotten how good of a game Dishonored was...now to resist the urge to just remake it. Or end up just playing it instead of working on anything.


Previously TEH_CODERER.

Login to post a reply

Server time is: 2024-03-28 22:46:23
Your offset time is: 2024-03-28 22:46:23