Jump to content
  • entries
    940
  • comments
    5,894
  • views
    864,046

Game Scripting is Hard


Josh

4,976 views

 Share

As I finish up the FPS Weapons Pack, I am struck by just how much work it takes to build a game, beyond the engine programming. I wrote Leadwerks, and it still took me several days to script the behavior of these weapons. I also had the advantage of being able to add new entity classes, as I needed two new entity types to complete the task: LensFlares and Sprites.

 

I like the flexibility of Leadwerks to make any type of game, and I think having an abstract 3D command set to do anything is really powerful. However, I feel like we're still missing something, and it's not more graphical features.

 

The output of the community can be seen on the games page and in the Leadwerks Workshop. There are a lot more Leadwerks 3 games than Leadwerks 2 games, which is a good sign. In most cases, I think the bottleneck is on content. I don't simply mean 3D models. Those are fairly easy to obtain, although it is very hard to find a large collection of artwork with consistent art direction. The problem is there is a big gap between having a 3D model and having a scripted game-ready item you can drop into the map and start playing. Considering how much work it has taken me just to set up the first two DLCs, it's ridiculous to expect each individual to reproduce all that work themselves.

 

You can categorize most game technology into low, mid, and high-level features. Leadwerks 2 was only strong in the lowest level category. Leadwerks 3 adds very strong support for the mid-level category, thanks to the editor. Traditionally, everything beyond that has been left up to the user to implement.

 

blogentry-1-0-94363900-1413581195_thumb.jpg

 

This is something that needs to change. Low-level game technology is not very valuable anymore. I think the success of Leadwerks will be based on connecting games with players on Steam. To make that happen, we need more games. I want to make the development process a little more like modding a game, with more game-ready content ready to use. Anyone should be able to make a game without any programming at all. When you're ready to dig into Lua or C++, it's there, but you should be able to get up and running without it.

 

 

Fortunately, the community has responded positively to the first DLC and I think the FPS Weapons Pack will sell well. I've started production of our own game assets using just a few artists. Why are we producing our own stuff, rather than reselling existing work?

  • There's a ton of content out there already, but most of it is very bad quality.
  • Even the good quality stuff doesn't feel consistent because it comes from different sources.
  • Interactive objects like characters and weapons still require a ton of work to make game-ready. Often times animations have all kinds of trouble and glitches.
  • It takes a ton of work getting things ready for use. Why not just make it to spec from the start, instead of scrounging for content that often times is not suited for purpose?
  • Since sales cover the cost of production, I'd rather just sell them myself and make a profit. (Two revenue streams are better than one because it gives you more options.)

 

Right now I have my environment artist, my character artist, and will likely rely on the same person for future weapon packs. All Leadwerks content will come from the same artists, so it will all look like it fits together. The first character pack is in production now.

 

So I think you can expect that I will start taking on more responsibility for gameplay stuff that has in the past been left up to the end user. I won't attempt to create every game under the sun, but I think Leadwerks should have more default gameplay stuff the user can modify to suit their own needs.

  • Upvote 10
 Share

18 Comments


Recommended Comments

I think this is a very sound idea. By working on high-level stuff you will experience and will be better prepared to tackle issues faced by everyday users (and will be able to add new features based on what's more important from users perspective). However, I really hope that LE won't turn into another low-grade game maker (*coughFPSCcough*). My belief is that every community needs a balance between artists, programmers and "game designers". Having too much in one particular category turns the whole software product into a one way street. If you offer too much content without the incentive to modify scripts or other aspects of it then all you get is a bunch of levels with randomly placed stuff straight off the workshop. In my opinion this is something you need to keep an eye on.

  • Upvote 1
Link to comment

TGC has been doing this a few years longer than me, and I think FPSC was their final conclusion of what game developers needed. I don't care for its limitations, but I can understand why they took that approach. Now if we can achieve the ease of FPSC while still providing something flexible and scaleable, then I think we will do well.

  • Upvote 1
Link to comment

As long as every level stays well developed and accessible for the people that want to, I'm all for it. The built-in mapping tools are my personal candidate to apply the new focus to first.

Link to comment

In my opinnion, game ready assets are a good way of making a good and representative mockup of your game when developping it but lack the fexibility to achieve what you have in mind for your final product (haaa this asset is pretty mutch what I want but... it's not exactly what I want). The day I will be happy with my game prototype, i'm going to change the assets and behaviors for my own. It's a longer path to take, but you have something that is original and unique. A game is a work of art. If all games are made with all the same things, there all going to look like they came from the same mixing machine.

  • Upvote 2
Link to comment

I spend alot of money on assets. I cant model and just havnt had any desire to. I cant buy or use LUA scripts that I can access as they dont seem to work in Leadwerks so for me, the biggest hang up is the lack of scripts. I cant get my head around writing them irregardless of how long I try.

User created content with out the condescending remarks would be great. More functional scripts that can be applied from the get go would be great. User created assets.

This is where FPSC-R kicks our butts. Their community is extremely helpful and more than willing to make something or write up a script for you and offer suggestions. They have an asset store with models, weapons, scripts, packs of models and well, almost anything you want. Everything else they do is not quite getting it. I still open it once in a while for the giggles but then turn right back to leadwerks.

Link to comment
More functional scripts that can be applied from the get go would be great. User created assets.
Scripts are usually tightly coupled with model files. Models have named animations, specific limb names, etc. I would not have been able to just write the weapon scripts to work with any random models.
  • Upvote 1
Link to comment

I feel like content is only half of the battle, most people can obtain or make the content as you mentioned its not that hard to get your hands on, half of the people who grab or pay for art are usually capable of performing basic texture edits to make it seemingly match up in some cases too, but more than that I feel like people need some more articles and or videos on how to use the engine itself, and from that you will likely see people taking what they learn and getting really creative and then more user creations would likely crop up.

 

There is already a really nice set of videos floating around here and there, but you really have to search for them.

 

Getting content for the engine users is great, and definitely helpful. I just feel like once you have the content available, people still need to be able to do something with the content to show it off and show the engine off.

 

I think if you were to divert some time to making more videos and or articles like the ones created by the community so far, but in a consistent process towards a series of how to's of things that could be taken and expanded upon you will find more people making more things with the engine.

 

The number one thing a handful of my friends tell me when I try to tell them about the Leadwerks engine is that the other engines available have more learning resources on how to do this and that, which is why they are waiting to jump on board with this engine. I personally feel there is enough within the documentation and the currently available videos from the community to figure some things out with a little trial and error as I have been, but hopefully this helps you understand what I am getting at.

 

I know that was slightly off topic, but I support the idea of making things easier by simplifying but allowing the use of LUA/C++ if and when you need it, this can only help Leadwerks obtain more users and make life easier on it's current user base, especially us artists.

 

I hope my response helps in any way at all...

 

 

Kind Regards,

Patrick.

  • Upvote 2
Link to comment

I agree with Patrick here. I love this engine and my learning experience has come easy with help from the community and a lot of tutorial watching for modelling and texturing and everything else that comes with game development. People who are getting involved in this now though have zero experience and no idea where to start, no clue what a polygon is, no clue about CSG or what a variable is.

 

For us this is understandable but for a person who knows nothing it can be daunting and an easier option to say 'ok I don't think this is right for me'. It's easy to look away and not try it. Which can impact interest in the engine.

 

I think a focus on not documentation but videos on the Leadwerks Youtube from you Josh, or even an experienced user would be amazing! Some new users might be a bit shy to ask the guys on here for help.

 

Building up tutorials in video form where they are easily obtainable would definitely get users more creative. It's good giving the community assets to play with but even that is limiting because you won't be able to cover things for everyones ideas.

 

A prime example of good access to tutorials even for newbies is, Unreal Engine 4. Their Youtube channel is full of tutorials explaining bit by bit what you need to know about making a game and how to use the engine.

 

Leadwerks needs something similar (if your thinking big) possibly better than what they have.

 

As the saying goes "Give a man a fish, and you feed him for a day; show him how to catch fish, and you feed him for a lifetime"

 

Idea's for training/tutorials for the engine you can start off with a beginners guide playlist on Youtube, 'Lesson One' Leadwerks UI. An in depth tutorial on the Leadwerks interface and go from there.

 

I'll be happy to do a beginners tutorial video/playlist and get feedback from the community on what they think :)

  • Upvote 1
Link to comment

I prefer a wikibooks approach since I like to read and look at example images, but videos will do. Something similar to what this person did in steam http://store.steampowered.com/app/269570/. This could be an idea for Josh to fund more Leadwerks development and teach the community at the same time. All we need is a goal and a proper agenda.

Link to comment

Scripts are usually tightly coupled with model files. Models have named animations, specific limb names, etc. I would not have been able to just write the weapon scripts to work with any random models.

 

What i mean is things that make sense to the game, scoring system, HUD's, inventory and the like. I know weapons are different and there is a work around for that too. I have a script that i can assign animations for to make my characters work. Its pretty detailed so far and as I have more ideas, they will get implemented im sure. I donate money to a fella that helps me with the scripts and makes em they way I need them and makes them super simple for myself to work with. Its things like this that would help a new person feel like they havnt wasted any money as they too can do something productive and feel good about it. Ive considered releasing these scripts but have yet to decide on that. Im pretty decently invested in it.

Link to comment

Idea's for training/tutorials for the engine you can start off with a beginners guide playlist on Youtube, 'Lesson One' Leadwerks UI. An in depth tutorial on the Leadwerks interface and go from there.

 

I'll be happy to do a beginners tutorial video/playlist and get feedback from the community on what they think smile.png

 

Check out Aggrors tutorials on youtube

Link to comment

There's also some things I can do to make the Workshop easier to use. Presently it isn't good for scripts and it leans a little too far towards protectiveness, in my opinion. I think we can make it a little more friendly and make Workshop scripts more practical.

  • Upvote 2
Link to comment

Some new users might be a bit shy to ask the guys on here for help.

 

I am still kind of shy to post code here and ask about it ..just because I have gotten negative feedback that wasnt very helpful in the past..

 

And I dont believe I fully know what I am doing ...even though the code works...mostly..

 

Since I asked Rick for help with some code recently and I was like WHAT!? ..lol...since I wasnt able to follow exactly what he was talking about.. even though I have been on and off following Aggror's tutorials and other tutorials since Leadwerks 2 on Lua scripting..

 

-------

Aggror is a nice guy and has been making tutorial videos since Leadwerks 2.. recently I asked him if he was going to finish his tutorial series(the "making a Lua game" ...since I was following it and it stops incomplete at #20) and he seemed annoyed with me for asking..since he is pretty busy etc etc.

 

If someone were to make tutorial videos it should be someone who isnt doing like 8 things at once who can consistently make a series of videos..

 

I think Josh is on the right track with this, thumbs up.

Link to comment

I agree with the others, and I think more effort should be put into the low/mid-level stuff. Better material system (reflective metal, edge glows, animation of attributes?) w/ Maya-level awesomeness (tons of settings, special flowgraph editor), shaders with variables (intensity, color, time), more "real" effects (physics/fluids, dynamic destructible objects/enemies w/ hit feedback (in other words, you don't swing your sword THROUGH an enemy unless you cut them in half)). Overall add new features and better GUI layout (having basic objects on the right and more stuff hidden in the "objects" panel is awkward, and so are some of the boxes with no info on what they do, no way to edit materials straight from the object that uses it).

 

Doing lower-level preset things is best for the community, IMO, because many aren't as easy and are generic things many games have: shiny metal, mirrors, anything dynamic (flames and lasers that know how to react to surfaces, hits that actually collide with enemies and return accordingly), ambient lighting calculated from added lights (at least in darker areas?). Yes, GUI stuff should definitely be added in because it's useful to everybody.

 

TL;DR: Give us tools to make cooler stuff easier rather than giving us content that we should be making (more originally!). Making a game shouldn't be easy, because then the bar is lowered, allowing people to make **** games. You'll still be making money because you're charging $100 for the program, adding to it adds appeal and thus the amount of customers.

 

EDIT: a better way of restating what I'm trying to say: yes, make it easier, but make the non-content stuff easier to do rather than handing people content. A small amount (giving examples for people to reverse-engineer) is good, but If people start making short FPS games that basically use your prefabs, some enemies, and a few maps, that's not impressive or fun.

Link to comment

Well respectifuly, you're just asking for more features to tinker around with. Nothing you listed makes you any closer to having a playable game. That's exactly what I want to get away from. I want the Leadwerks community to output more playable games. I don't want to work on an endless research project to implement as many obscure features as possible. It's not very interesting to me to work on things that don't make it into a finished game.

Link to comment

Well respectifuly, you're just asking for more features to tinker around with. Nothing you listed makes you any closer to having a playable game. That's exactly what I want to get away from. I want the Leadwerks community to output more playable games. I don't want to work on an endless research project to implement as many obscure features as possible. It's not very interesting to me to work on things that don't make it into a finished game.

 

I believe that what I mentioned would truly help more people get things developed and out there... Giving systems already developed to allow people to tweak will surely get a few games out there but this is worth mentioning and I am sure you know the saying "give a man a fish and you'll feed him for a day, teach a man to fish and you'll feed him for a lifetime" if you were to make more tutorial content and learning resources, more quality games would be created and less of a general standard type of game with tweaked base scripts and stuff. That's the problem that FPSC has.

 

More content to teach people how to use LE to achieve things will help get people on their way and then allow for more quality and unique game releases with Leadwerks, and I think quality trumps quantity... the quality projects will bring in traffic and users in quantities once they get out there and noticed.

 

Just my two cents... but the gun set and scripts are going to help a lot towards getting people to make things either way. I look forward to seeing what comes next. (:))

 

 

Regards,

Patrick.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...