Abeyance – Skills Update

It has been a while since I’ve done any work on Abeyance, sadly I’ve been busy. Last time I posted I said I was creating a new project file to tidying up code and introduce play maker. Well I’m still working on moving the battle system over, I don’t have the menu controls in yet, but here’s something new. Rather than getting smothered in classes to create a series of databased for skills and items, instead each item and skill is treated like an object in the editor. The battle system will detect how many of the objects are a child of the player object, so it can ever be expanded. The menu system will be able to detect each item just like before (as you’ll see on the right), but it just makes managing content easier. Each ‘skill’ script contains the skill’s characteristics, including animation and particles.

abhex

This means any skill additions can be just dragged in as a prefab, I attached a Particle System for the effects and editor all of the parameters in the above box. I can choose when the particles activated with ‘Particle Delay’ I can choose 2 types of modifiers for the skill, so this mean I can, say, damage an enemy and steal some of their health (hence ‘damage’ as primary mod’ and ‘healself’ as secondary mod), the parser inside of the battle calculator will read this and will act accordingly. I can also give the name of the animation that the character will perform.

Below are screens of the attacks in action, you’ll see 2 skills in action.

abstandbyabbloodattack abice abice3

Abeyance Update

It has been a while since I’ve worked on Abeyance, been mostly busy with work and looking for another job. However, I’ve been working on Abeyance over the weekend.

The update is that I’ve been restructuring some of the code as it got pretty untidy with my current project file, also trying to make things more efficient and also use Playmaker to cut down on some of the code. For this I created a new project file and am just porting the code over. I’ve started with the basic stuff, which seems to work nicely.

Here is an example of the scene transitions, which is simpler than the old method.

So far this weekend I’ve got the character talking to NPCs, moving between rooms with ease and also the ability to activate and deactivate objects in a scene with a scene manager. The scene manage is below:

Image

You can see at the top, two variable, “This Room” and “Last Room”, these are useful for recording which spawn point to use on entry. So for this scene the character will have spawned at the spawn point called “TestRoom1″ and it has recorded the name of this room, “Scene3″ so when you change scene, it’ll warp you to the “Scene3″ spawn point.

Beneath that, you’ll see the ‘Zones’ in each of the zones there are a series of items, which can be pick ups, enemies or even NPCs, in this case, it’s recording the NPCs and I can choose whether they’re active. Handy for when you’re killing enemies and returning to rooms and also handy when it comes to saving data, so dead enemies remain dead. Like the player, the SceneManager object will never be deleted, so its variables remain global for each scene.

Playmaker for Unity3D

It has been a little while since I’ve posted, mainly due to work and other demands. However, I have picked up this neat add-on for Unity3D called Playmaker, it is essentially a visual programming tool and is packed with useful features. I am a little surprised by how simple it is to get something set up. See below.

FSM1

In the above you can see the process of a character moving to an NPC, talking to said NPC and scrolling through the conversation. Playmaker uses a series of states, which can perform certain actions which maybe controlled by any events, be it the player hitting ‘fire’ or the player walking into a zone or anything like that. Whilst it is customisable, no programming is required, you’ve got access to Unity’s own commands from the visual editor. So in the above shot the logic is: the NPC stats at a default state (doing nothing), then if the player enter the trigger zone it will prompt the player to ‘hit’ fire to talk, there’s two options really, the player can walk out of the trigger and return to the default state or hit ‘Fire’ and go to the next state, which displays the first line of text in the conversation, which can continue through various paragraphs until the last one, which the returns back to the start allowing the player to repeat the action if he so wishes. It’s a lot quicker than doing that in code.

Anyway, I thought it was something cool to share, but if you’re interested, Playmaker’s website is here.

NaGa CreMo 2013 and ADG Compo #2

What do these 2 things mean? Lets start with NaGaCreMo, it is a challenge unofficially hosted each year on The Game Creators forum, the challenge is in tribute to NaNoWriMo, which stands for National Novel Writing Month, so as you can imagine NaGaCreMo is National Game Creating Month. The idea of NaGaCreMo is to meet your own goals, generally you are expected to have a completed demo by the end of it. The original Abeyance demo was a NaGaCreMo creation.

What about the ADG competition? ADG is the App Developers Group, a group of developers who produce apps for various platforms using products from The Game Creators. Last year’s results can be found here.

Click for NaGaCreMo 2013

Click for ADG Competition #2

So, why am I writing an article about these 2? I’ll be aiming at using Abeyance for both. I want to have a decent demo for Abeyance out by the end of both. For ADG Compo, the theme is New Beginnings and unfortunately, starting a project in a new engine doesn’t count, however, there is a scene in Abeyance that’ll fit the theme. The idea will be to have a prototype demo ready for December 31st, the deadline for the first competition. So then, what’s the plan for NaGaCreMo? To have a fully fledged demo for Abeyance as a showcase for the final game. I will try and plough through as much content as possible, but bear in mind I am working full time, so hopefully these goals won’t be unrealistic. Either way, I will work hard towards them.

How is this going to approached, I am working on the actual engine for Abeyance, it’ll use XML to script much of its content as previous articles have suggested. It’ll mean I’ll just need to work on the core engine and then the rest will rely on the scripts. The method I am using will be based on an old text adventure of mine, which read LUA scripts. The text adventure can be found here (for those curious little folks).

For an example, you can see 2 sets of scene data loaded on the screen, this data will be used to create each ‘room’, there will be additional scripts, for example, NPC data and each NPC created will be assigned to a room.

image

XML Scripting & Microsoft Office

Using Dark GDK.NET and C# has an advantage in that you have access to a number of XML commands natively, there’s a number of XML tutorials out there and it’s fairly easy to implement into Dark GDK.NET. I have my own parsers coded into my game project meant for parsing particular XML setups. Now, how would I use XML in a game project? On one hand I could have an abilities list and the other I could have all my level data stored into an XML database. The other bonus is that you can create open, modify and save XML documents in Microsoft Excel, which makes data entry a lot easier. I’ll demonstrate how this could work in relation to a game project.

I code a basic XML Template in Notepad++ (or C#)

image

Just have a few items to start with, at least 2 is enough, it just means Excel will automatically import it as a table for you.

Then we can import it as an XML into Excel, it’ll automatically create a schema for you as well.

image

Then you can just add more and more data and with ease. You can then export it.

It also works with slightly more complicated XML files, for example:

image

On the table it looks a little more confusing, but with the XML Source pane open you can select any directories within the XML Map. For example the ‘X’, ‘Y’ and ‘Z’ selected show up as the camera position. For something like my game, Abeyance, this works. However, this system is fairly limited, but it is a means of working a database into your game project, so it may not be the ideal method for setting up levels, but it’s certainly handy for a lot of other data. But as Abeyance scenes are small and aren’t very complex, this actually works.

Alternatively, if you have MS Access, you can create a table there and then export to .XML:

image

image

Then have your parser read the file generated by Access.

You could take Access to the next stage and actually create forms for adding your data.

image

And you’ll still be able to export the table as an XML file. This means XML databases for your games needn’t be such a drag.

Abeyance: Asset Workflow

Now I’ve got a bit more money behind me I can start getting the applications I prefer to use in creating Abeyance. I’ve already picked up Silo 3D, which is an excellent 3D modeller and in many ways superior to Hexagon. Then to add on top of that I’ll need 3D Coat (my next purchase) and Carrara 8. These combined should help me create some decent enough media. Silo has invested itself in ergonomic 3D modelling and I can quickly create media:

image

Then import it into 3D Coat where I can UV Map and Texture my object in 3D.

image

3D Coat is actually a really cool application for texturing, it in some ways tries to be a cheaper alternative to ZBrush, but for me it’s UV Mapping and texturing tools are what makes this a worthwhile tool. The above texture was really simple, I use the auto-UV feature and then I was able to paint a texture I had saved onto my HDD onto the model.

Then the next stage is I can import it into Carrara 8, from there I can pose my scene and then export to .x or in the case of character models, animate them first.

image

image

For scenes, the next step could be Gile[s] to just bake in lightmaps.

Abeyance: GDK

Okay, okay, okay, this is the second time I’ve switched, please don’t kill me. I picked up Dark GDK.NET, lets be honest, I learned programming through Dark Basic Pro, but I love what C# has to off and Unity3D is an awesome toolset and it was sad to leave Dark Basic Pro behind, so I’ve decided to head to the middle ground and convert my DBP code to Dark GDK.NET, which should be a quicker process than converting DBP code to Unity3D, because Dark GDK.NET is a .NET version of DBP. What will you guys be expecting? What I originally promised, basically, just in Dark GDK.NET. Plus, in using C#, I’ve got the bonus of having XML to code with too, which’ll be useful for handling data.

I’ve also bought a load of models from The Game Creators Store, just as stock media to work with, so I can worry about coding.

You can see here, I’ve already got a scene loaded, the character moves around and you can see on the left are skills, these are just displaying information directly from an XML file – so to add skills, all I need to do is type in my XML document and it’ll reduce compile times nicely.

. Abeyancedgdk

Tutorial: Dark GDK.NET in VC# 2012

This is a tutorial based off of one made for Visual Studio 2010, which can be found here.

Step 1: Moving the Dark GDK.NET Template

Once you’ve installed Dark GDK.NET head over to the template found in:

My Documents/Visual Studio 2008/Templates/ProjectTemplates/Visual C#/

Copy and paste the .zip file into the Visual Studio 2012 equivalent.

image

Step 2: Create a New Project in Visual Studio 2012

Start up Visual Studio 2012 and create a new project and you should find the Dark GDK template.

image

Step 3: Reloading Dark GDK References

When you start up, Dark GDK’s references haven’t loaded properly, as you’ll see below:

image

Right click on each of them and select ‘Remove’ to get rid of them. We’re going to manually add them.

Right click on ‘References’ and click ‘Add Reference’. We’ll first add DGDKLib. You’ll find it here:

image

Now we just need Dark GDK and Dark GDK Plugins. The problem with these two is that they don’t show in the reference manager, meaning we’ll have to add them manually. So go to ‘Add Reference’ again, but this time hit ‘browser’ and we can add both of them, which can be found at these 2 directories:

C: Windows/assembly/GAC_32/DarkGDK/[version number]/DarkGDK.dll/

C: Windows/assembly/GAC_32/DGDKPlugins/[version number]/DGDKPlugins.dll/

Once you’ve got them both, just make sure they’re selected and hit OK.

image

Step 4: Setting Up .NET Framework

The project will be created in VS 2012 for .NET 4.0 but we need it to run from 3.5. This is actually pretty simple. Right click on your project and hit Properties.

image

Then just change ‘Target Framework’ from 4.0 to 3.5

image

Then it’ll take a couple of seconds to switch. Now you can hit compile.

image

Open up the project file and code to your heart’s content.

Optional Step: Don’t like Windows Forms?

This is an extra step for people who want to run the project outside of Windows Forms.

Open up fMain.cs[design] by double clicking it in the solution explorer.

image

Click on the DarkGDK object inside of the form, look at the Properties pane and scroll down until you get to Dark GDK. Turn ‘Embedded’ off. You’ll notice other useful settings you might be familiar with from using Dark Basic Pro.

image

That’ll get Dark GDK running outside of the Windows Form window, but the Window will still be there. Double click on the Windows Form itself (not the Dark GDK object) and it’ll open up a bit of code and that code determines the behaviour of the Windows Form. What you’ve just done is created a behaviour for when the Windows Form loads, hence fMain_load.

image

Inside of that method between the two curly braces add this line:

image
And what that does is minimalizes the Windows form on start up so that it is out of your way.

Windows 8 Review

 

System:

  • Lenovo ThinkPad SL510
  • Windows 8 Professional
  • Intel Core 2 Duo 2.2ghz
  • 2gb RAM
  • Intel GMA 4500HD Graphics
  • 250gb HDD

The brand new instalment of Windows, the infamous Windows 8, it is the latest upgrade from Microsoft and it’s getting mixed opinions, particularly from hardcore Windows desktop users. Microsoft have fused their desktop OS with their tablet platform, but is it a fusion that can work together or just something that’ll kill the desktop experience? Leaving folks to stick by their guns, like many did on the release of Windows Vista, which was later saved by the knight in shining armour, Windows 7. How does Windows 8 step up? There’s certainly a lot of criticism, people who are afraid that Windows 8 might be too much of a closed system where desktop gamers may be shut off or maybe put aside for simple, flashy, casual touchscreen games like Angry Birds. Maybe Linux, the open source platform, will mark the way for the future for some geeks? When you got Linux distributions like Ubuntu out there and with the progress the Linux platform has made over the years it’s certainly much more user friendly and with the right interest it would make an interesting avenue.

Or is Windows 8 a step in the right direction for the Windows platform? Tablets aren’t the only thing with touchscreens, we’ve got all-in-ones, laptops and even monitors with the technology. Not ideal for a game of Call of Duty, but where does the mouse play in all of this? It is actually better than it looks. It was my main concern, PCs don’t have Magic Mouse nor do they have Magic Trackpads and the trackpads that do use gestures aren’t necessarily any good, so it wouldn’t seem like something MS could get away with. But actually, they’ve managed to take care of the mouse and with time to experiment with the new OS and work it in I’ve found that it’s not only ergonomic but also intuitive. You have to let go of any previous expectations, which might be hard for some. Why fix what’s not broken? Said people will probably find it hard to adjust, yes, they could probably learn it without really looking at a manual, but Windows has used the same interface for so long that I’m sure many feel it’s daft to change.

Interface

Windows 8’s interface isn’t that difficult to get your head around, you need to do some experimentation but I found myself not needing to resort to reading a manual. I’m not a manual reader, I like to play, if it explodes in my face then I know that I’m doing something wrong. To get your head around it be sure to move your mouse to the corners of your screen and also utilise your right mouse button. If you move your mouse to the top of the screen you’ll notice you cursor turns to a hand, now this is one of the cool features of Windows 8, it allows you to drag your screen, and it can be a metro app or your actual desktop and you can dock it to the side. What’s the point of this? It’s actually really convenient. It is kind of like docking your windows, but on your desktop it’s not always convenient and if say, you’re switching between multiple windows you might find that they overlap or you’re not making the most of your space. With this dock you might have Netflix running whilst you’re doing work or have a messenger up or maybe OneNote running.

clip_image002

That’s just one nice little feature I found when playing with the interface.

The actual Metro panels you see on the start menu, they’re really convenient for putting your own shortcuts up and you can organise them in the best way you see fit. I think of it as like having Stardock Fences just without the labels and having as much space to cover as you wish.

clip_image004

As you can see here I’ve split these panels up, so you’ve got media, games and then office.

But I feel that improvements could be made to the interface, the main inconvenience I would say is ‘All Apps’, which might not be a problem if you’re not running lots of desktop apps, but if you’re like me you might be. ‘All Apps’ is like ‘All Programs’ in other Windows operating systems and it does section them out by folder BUT there are no sub folders and you can’t collapse them, so you may end up with this mess:

clip_image006

My ‘The Game Creators’ folder not only contains all of my product purchased from TGC but also all of the help files and examples I could normally access from All Programs. In previous versions it worked because there were subfolders and they were collapsible. However, this inconvenience is lessened by the fact the interface is really responsive and you can move through it very quickly and you do have an advantage with your Metro panels.

System

There are some news things to note about Windows 8’s system features, for example you’ll be prompted to associate a Hotmail/Windows Live account with your login in details and it comes with some benefits (particularly on the social media side of things), but it’s not mandatory.

The task manager has had a face lift and there are a couple of changes there, for example, you’ve got a section for Metro apps and also information listed in task manager is clearer. And like wise control panel is much the same as before and on the desktop there’s no real differences between how use the directory in Windows 8 and Windows 7. In the file directories you do get these tabs on your folders, but there are no major changes in how it works there. People used to Windows’ directory structure will have nothing to worry about.

clip_image008

There is something new and that is a metro panel for ‘PC Settings’, which you can see below.

clip_image010

They’re additional settings you change on your PC without going through the control panel route – I suppose it’s kind of like changing the settings on your iPad or a similar touch device. But there is one setting in there that’s particularly interesting and that’s “Refresh your PC without affecting your files”, which can be found under the ‘General’ tab. I tried this feature to start Windows 8 Pro as though it were a fresh installation – I wanted to have default settings and remove all my programs (which are cluttered and take up a lot of space) but retain all of my personal files. This feature did exactly that. It was something I never could do in a previous Windows OS and I can see advantages to it and would be a nice alternative to System Restore, though you do still have that option should you need it.

Apps

Apps are the big craze at the moment, an open market and the must-have for casual computer users and the big familiar thing for tablet and smartphone users. Now you have the App experience in your very own Windows, which sounds fun to some and may make others groan. As a hobbyist game programmer? It looks like an opportunity. As a consumer? It’s a convenience; there are some cool metro apps that I can have running alongside my desktop, like OneNote as I’ve already shown and also having the Windows App Store makes it easy to find useful little applications you may want to use and there’s room for gaming too, which doesn’t just have to be casual games like Angry Birds, though they are popular amongst casual gamers but Indie game makers could think of it as an opportunity. But could it replace services like Steam? Which has been a haven for AAA and Indie titles alike. At the moment, I would say not, it’s very much like any app store on a touch device and what you find on there is much the same and likewise, these are designed for touch interfaces, yet mouse friendly. So don’t expect to find the latest Assassin’s Creed in there. There is a fun strategy game in there called ‘Armed’, which shows what kind of games could be developed for the App store.

clip_image012

Other apps are there for convenience, but nothing really out of the ordinary. I’ve downloaded a Cookbook app because I like cooking and I’ve got Netflix too, heck, I could watch Netflix whilst cooking with a feature I mentioned previously.

clip_image014

Desktop Programs

I’ve found my desktop applications to run quite nicely so far. It is really easy to switch between desktop and Metro, I know people are afraid of the desktop dying with the new interface but actually the desktop still feels very much a part of the operating system. I know people will miss the start button but the important thing is, you don’t HAVE to use metro if you don’t want to. If you’ve got all of your desktop applications installed, you’ve got the short cuts and you can just go ahead and use your computer like before, just with the exception of you not having a start menu as essentially Metro is a glorified start menu. There’s compatibility with your old applications and as you’ve probably noticed from above screenshots I am running Microsoft Office 2010 just fine in it. There are applications that’d still benefit from using a desktop rather than resorting to the ‘App’ interface. I don’t think 3D artists would find 3D Studio Max suddenly becoming an ‘app’ convenient and likewise, I don’t think programmers would like to see Visual Studio follow in that same style. Hence MS has left the desktop in, there’s no reason to fear for its death. It’s still very much a part of the operating system and isn’t a piece of furniture or something that was just left in to win over cynics. I’d say it is still a necessity in the OS.

Also, where would I be without Steam?

clip_image016

Gaming & Old Games

Gaming is not all Angry Birds on Windows 8. It’s still perfectly viable to play any games intended for a dedicated gamer, hence Steam in the above shot. As far as I can see there have been no performance drops on my system, but I’ve only tried a limited list of games. My Windows 8 laptop isn’t a gaming laptop, but I do play games on it, so I can’t sit here and demonstrate Call of Duty: Modern Warfare 2, but I’ve found World of Warcraft to work just fine, which is about the limit for my current set up.

For me, my main concern has been for retro-gaming. I love old games and I still play them. Now, I’ve got quite a few to test and there’s no point me sitting here testing everything for you because that’s very time consuming and would make the review a lot bigger than it already is. It has been suggested that if it runs on Windows 7 then there’s a good chance it’ll run on Windows 8 as Windows 8 is still backwards compatible. So I tested one of my favourite games of all time and a game that I’ve tested on Windows operating systems since XP. That game is Final Fantasy VIII.

Now for a bit of history, this game was designed for Windows 95/98 and old graphics cards, back in the days of 3DFX and Matrox. In Windows XP it ran fine, in Vista it required tweaking before it’d even run and a patch to fix glitches, in 7 it required a patch to fix the same glitches, which were very noticeable. In Windows 8? It runs straight after install with no tweaks…and graphical glitches? Well you tell me.

clip_image018

There are graphical glitches in there if you look closely enough, but they’re very minor and barely noticeable. I could try a patch, but I don’t think I need to.

Okay, let’s try something a little different. I can try Age of Empires III, which was released at the end of the XP days and is a little more graphics intensive than FFVIII. I found that it ran in Vista and 7 and I can compare the performance in 7 and 8 as I’ve ran it on 7 on this machine before. In Windows 8 the game runs perfectly fine and with no noticeable slow downs and I’d say the performance is about the same between the 2 OS’s.

screen2

Dark Basic Pro

Does Dark Basic Pro work? This is an important question for anybody reading this blog from the TGC community.

The answer is…yes.

image

I installed it directly from the Dark Game Studio disk, installed Direct X and then booted it up, typed in basic code and boom! It compiles. How well do the samples work? They work as they should, or at least I’ve not encountered any problems there.

image

Conclusion

Overall, there isn’t anything to be scared about. Windows 8 is a fully functional and stable Windows operating system and it’s compatible with old software. It’s fast and it’s fluid, many folks worry about the new interface but once you get used to it then you can see that actually, it’s well done. I was expecting people to be right and to find that making this punt would end up being a bad decision, but actually, I am satisfied that I made the upgrade. It’s not a perfect OS, there’s certainly things MS could improve upon, but then that’s always the case. Metro isn’t the big doom and gloom it’s made out to be, though it may not be everybody’s cup of tea and it is something you need to have an open mind for. Some may stay with Windows 7, which is fine because Windows 7 is a great OS and you don’t have to upgrade, so some folks may be happy staying put. There’s certainly benefits to upgrading and it is a good OS and I don’t think MS have cocked this one up…unlike Windows Vista. I never really had any real bugs with Vista, but it was horribly bloated…8 on the other hand, it runs really smoothly. At the time of writing this review, Windows 8 was on offer for a good price. I paid £24.99 to go from 7 Pro to 8 Pro and it was worth it. I would have paid more too, but I am also a cheap skate and like to get things when I can get a good deal on them. Either way, I think it’s worth the money to upgrade.

Verdict? 9 out of 10. It loses a mark for how ‘All Apps’ is laid out and killing the start menu on the desktop.

Hexagon Scultping

This tutorial is to demonstrate how you sculpt in Hexagon 2.5, so it will be a very simple object.

First, lets make a cube:

image

Go into ‘edge’ model, select all edges (ctrl-a), click on ‘Edge Tool’ under the ‘Vertex Modelling’ tab and hit ‘Extract Fillet’ then click and drag on your object to fillet it.

image

Why have I done that? It’ll retain it cube shape when subdivided. Speaking of which, subdivide it by 5 steps:

image

So now we’re looking at an incredibly smooth cube, perfect for sculpting. Before we do that, we need to UV Map the object so we can later use the sculpting to make a bump map. Because we’re just using a cube, we can use a cubic UV Map from the UV & Paint tab.

And hit this option:

image

It’s by no means a perfect UV map, but it’ll do for this demonstration, save complicating the UV Mapping step.

In the material pane (extend from clicking the arrow on the left of your screen) you need to create a new texture:

image

Now you’re ready to sculpt. In the ‘UV & Paint’ tab there’s A ‘Displacement Brush Tool’, which is what we’ll use.

You can just click to sculpt on the cube, in the right hand pane you can adjust the brush settings.

If you hold ‘shift’ you’ll indent and if you hold ‘ctrl’ you’ll smooth.

I’ve not done anything in particular, but just did random bumps and dips.

image

Next, what we need is our export bump tool. Just hit validate and choose a place to save your image.

I’ve ended up with this image as my bump map:

BumpTest

So you can see the one face where I went a little crazy with the sculpting. Now you can reset your cube’s subdivision back to step ‘0’ and save it or export it. You will notice one problem, games use normal maps and not greyscale bump maps. But that’s not a problem because you can convert it. You can use this online tool to convert your maps: http://www.smart-page.net/smartnormal/ You’ll need a JPG, PNG or GIF, so that should be the format of your bump map and you can alter certain settings to suit you.

image

Now you should be done. Here is a rendered version of this low poly cube with the new bump map:

image

You’ll notice that the 2 spines I added don’t appear, this is because a bump/normal map is like a texture, you’ll need to model the actual geometry to get the effect, so you couldn’t sculpt beyond the boundaries of the base mesh’s geometry, but the advantage of scultping for video games is to use a low/mid poly model and create the illusion of being high poly by adding extra details that look 3D dimensional when light is shined on it.

image

And that’s all there is to it.