Jump to content

AggrorJorn

Members
  • Posts

    4,816
  • Joined

  • Last visited

Blog Entries posted by AggrorJorn

  1. AggrorJorn
    Besides making tutorials I am also working on my own project. It is my biggest one yet, but I think I have enough knowledge to get at least really far. Right now I am building my own engine on top of Leadwerks 3. The entire project is written mainly in C++.
     
    Component Based engine design.
    Since Leadwerks is very flexible you can do a lot of different things with it. The Lua scripts in the editor are a good example of component based design. However if you switch to C++ you don't have this directly at your disposal for C++. That means you would have to implement it yourself. Of course there are tons of ways of doing this but this blog shows how I do it in my project.
    Instead of Component Based Design you can also choose to go for 'Direct programming' like Josh describes in his blog here. Both approaches have their pros and cons. The reason I am going for Component Based Design is because I want to create code that is highly flexible and can be interchanged between projects.
     
    The GameObject class
    The current system that I have is a combination of direct (hierarchical) and component based design. The following image shows how it starts.
     

    The first class is the GameObject. The gameObject is completely empty at first, meaning it doesn't contain any models or textures. The only thing that it contains are components. Every frame all the updates that are enabled are being updated and/or drawn. This is the core of the component based design. Lets say we create a Player Gameobject. We can add several components to it:
    ModelComponent
    WalkComponent
    JumpComponent
    FPSCameraComponent
    HealthGUIComponent

    Now lets say for instance that we want to have TPSCamera instead of a FPSCamera. All we need to do is remove the FPSCameraComponent and add a new TPSCameraComponent. Not only is this system very flexible, it allows us to create components that can be easily shared throughout your project and perhaps even other projects that also use this component based design.
     
    The Component class
    Every component is derived from the Component class. The component class itself is abstract and thus can not be instantiated.

     
    Increasing complexity
    When you look at the first 2 images, you will notice that some functions and variables are exactly the same. Most programmers will come to the conclusion that this is a bad design. So for that reason we enhance our design as follows:
     

     
    This means that a GameObject is also a component. The complexity hereby increases but works a lot better when it is properly integrated. (Note that the images are toned down a bit to simplify the idea.)
    It is debatable whether GameObject inherits from Component instead of the other way around. I decided to go for Component since it is called a Component Based Design and not a GameObject Based Design.
     
    FSM and Components
    At some point I came to the conclusion that it is not always necessary to create an entire component structure to get the desired hierarchy in a level. For instance in a menu it is easier to create a (finite) state machine rather then having to switch between components. Although components work perfectly well for menu's, I think it is a good principle to think about where to use FSM's and where to use Components.
     
    The Scene class
    The component based design is far from finished but the basics already work. The last thing that I show in this blog is the scene class. The scene class inherits from GameObject (and thus also Component) and contains a list of Components/GameObjects. Every gameObject that is created needs to be added to this list in order to be updated or drawn. I specifically want a scene to have a camera so that I allways know that when I load a new scene, a camera is being created.
     

     
     
    Thanks for reading.
    Jorn
  2. AggrorJorn
    Today I learned a pretty basic but very usefull programming principle. It is about declaring multiple initialisers in a for loop. I am working with a mobile application and speed and memory are more of an issue than on computer right now. My application is finished when you look at its functionality and construction, but it has to be optimized.
     
    Here is a narrowed down example of what I am doing:
     

    for(int i = 0; i < veryLongArray.length(); i++) { DoSomething(i); }
    This is very basic coding right here that can be found in many language.
     
     
    What I didn't know is that you can declare multiple initialisers. It is very simple but has increased the speed of the for loop (which is pretty huge) immensly. This is how it looks now:

    for(int i = 0, j = veryLongArray.length(); i < j ;i++) { DoSomething(i); }
    By initialising the j variable at the start of the for loop, we can save a little time. Instead of checking the length every loop we can simply refer to the j variable. ofcourse you can store the length of the array outside the loop as well, but this is so much nicer. One catch though: If the length of the array is dynamicly changed during the loop, then you shouldn't be using this.
     
    So simple, yet, I have never come accross it before.
  3. AggrorJorn
    In follow up to Andy, I also want to do a little blog on my experience with Leadwerks 3 so far. The first week after purchasing I didn't have much time to spend on it. Luckily after that week, there was quite some time left for the start of a new adventure.
     
     
     
    Lua
    In contrary to Leadwerks 2.3, I now want to lay most of my focus on C++. That is kind of Ironic, since a lot more people are interested in Lua now that Leadwerks 3 has arrived. It is not that surprising since the advantages of using Lua have improved quite a lot. Ofcourse we have debugging and stepping through Lua scripts which is a huge gain. And the other thing is the flowgraph editor. Rick has provided me an extra motivation boost to try out the flowgraph editor, with his cool scripts. (Of which the volume trigger is my personal favorite ). I tried to create a little script myself and within minutes, real simple gameplay interaction was set up.(Gravity activator) Something that was a lot harder to do with Leadwerks 2.3.
     


     
    C++ and Shaders
    For my own portfolio and skill set I started with C++ and the LE3 API. Just like with LE2, the API is very easy to use. Chris and Josh have done an excellent job on describing commands for both C++ and Lua. Pretty much every command comes with a working example. In the future I also hope to learn more about shaders. Shadmar has allready created severall of them, which you should check out.
     
    Tutorials
    A good way to teach yourself something, is to try teaching it to others. Thats the motto I have been going with since I have started creating tutorials for Leadwerks 2.3. The road is wide open again with the arrival of Leadwerks 3. The first 5 video tutorials for using C++ with LE3 are uploaded on youtube and more are on their way. Eventually I hope to reach a point were we will create a game that uses a combination of C++ and Lua. For a complete overview of tutorials, have a look here:
    http://www.leadwerks...-lua-tutorials/
     
    Future updates
    There are plenty of things that can be improved with Leadwerks 3. Thats a fact. I am not talking about the deferred rendering with dynamic shadows. It is really the little things that count. I am more than confident that these issues will be dealt with in the near future. As soon as Josh is back from the GDC, there will probably be updates every other day. For now, I am really happy with my purchase of Leadwerks 3. I am looking forward to all the cool stuff that this community is going to create.
     
     
    Jorn
  4. AggrorJorn
    A little extra information regarding the end of the Leadwerks Community Project.
     
    Why did we stop
    There are many reasons for ending the project. The most important reason is that we think the motivation and amount of time people will invest in the project will drop extremely once LE3 has been released. It was allways something that played in the back of our heads. What if we are halfway through the game development process and LE will be released. You bet your *ss that the project will be discontinued.
    Another reason that is just as important: internal communication and team building. It has proven to be extremely difficult to organise the project. It might seem very simple at first but WOW, things can get out of hand so easily. Everyone was free to programm in the way they wanted to and restrictions were almost non existent. A disadvantage to this is that code gets messy or structures within the code are unclear. It is a good lesson though how to deal with this next time.
     
    Tips
    A must have for a community project:
    A wiki for maintaining tasks, protocols and documentation
    Forum
    Bug reporter
    Storage for code and assets
    Sub team leaders: Artist, Programmers, Sound
    Everyone has to write a part of documentation when it comes to programming or level design. Other members of the team have to easily find how things work that other have created.
    Make sure you test the game thoroughly in BOTH debug as release mode.

    The wiki was very usefull and also under used. Protocols, code planning and structure should have been documented better. Severall members added awesome code to the project but were forced to leave the project early. At this point documentation is the most important part. Even with comments in the code it is very difficult to understand how everything is connected. Here a few images to show some of the documentation and forum communication:

     
     
    What went wrong
    - Use the combination of google drive for assets and SVN storage.
    - Assembla (SVN repository) offers 1 GB of storage. We never should have used it in combination with Google drive. Files got deleted or were missing.
    - Use level locking: editing a level is dangerous when it doesn't get updated with all the assets present. Level was redesigned many times.
    - Making things to difficult. It has been said over a million times: Lets keep it simple. haha. Here is how you do that: Try to make it simple. Then we you are done brainstorming about 'simple', make it even simpler. Repeat about 5 times. If you would see the initial target list of what we should have had with the tech demo, you would be surprised.
     

     
    Comms down
    The most frustrating part on my side was the lack of communication. Despite sending many emails, using twitter, creating video tutorials, posting sticky forum topics, internal communication was disasterous. Response has allways been at a very dangerously low level. Because of this, making a planning or having good progress was very difficult. This is something I would like to see improve with a next community project.
     
     
    Having fun and learning something
    The most important thing about the community project is having fun and learning something on the side. For most of us this was the case. Whether it was programming, managing or designing, there were things that no one had thought of before or had done before. Besides that it is nice to work together as an international community.
     

     
    Now what...
    A next community project? Heck Yeah. I hope to see a new community being created with LE3. I would love to participate, although I would like to do some exploring of the new engine first.
     
    A big thanks to all the project members and everyone who has done some testing!
     
    Greets,
    Aggror
  5. AggrorJorn
    Bugs
    Since the last blog I have been spending most of my time trying to find and solve bugs. There is a nasty one which causes a memory error. But it is not always present in every single playthrough.
     
    Firing
    I started working on the firing mechanism. That didn't go as smooth as I had hoped. Especially my particles looked really boring. After a couple of days, I decided to remove them for now.
    Bunkers, canons and Sniper tower can succesfully fire. Rotation and good particles are added later. The main point is that their firing mechanism works.
     
    The sniper tower is the most peculiar of them all. I wanted to make a bullet trail and went for an unusual approach. I created a cylinder, which I align to the enemy that is locked. The cylinder gets stretched as long as the distance between the tower and the enemy. This doesn't work entirely correct but for now I am satisfied.
     



     
     

    WaveManager



    The most important class is the Wave Manager. It stores all the enemies, time counters, waves and subwaves. Adding waves is fairly simple now:




    //Create all the subwaves for wave 1[/left]

    [left]//Enemy, Spawn time, amount, time till next subwave, path object
    SubWave subWave0_0 = new SubWave("crawler", 1, 4, 5, path);
    SubWave subWave0_1 = new SubWave("crawler", 0.5f, 8, 5, path);
    SubWave subWave0_2 = new SubWave("crawler", 0.1f, 12, 5, path);

    //Create all the subwaves for wave 2
    SubWave subWave1_0 = new SubWave("crawler", 1, 10, 5, path);
    SubWave subWave1_1 = new SubWave("crawler", 0.2f, 10, 5, path);
    SubWave subWave1_2 = new SubWave("crawler", 0.1f, 40, 5, path);

    //add the subbwaves to the wave1[/left]


    [left]//time till next wave
    Wave wave0 = new Wave(1);
    wave0.Add(subWave0_0);
    wave0.Add(subWave0_1);
    wave0.Add(subWave0_2);
    wave0.CalculateWaveTotalTime();

    //add the subbwaves to the wave1
    Wave wave1 = new Wave(1);
    wave1.Add(subWave1_0);
    wave1.Add(subWave1_1);
    wave1.Add(subWave1_2);
    wave1.CalculateWaveTotalTime();

    //Create a WaveManager[/left]


    [left]//Extra time between waves, camera
    WaveManager waveManager = new WaveManager(0, camera);
    waveManager.Add(wave0);
    waveManager.Add(wave1);
    waveManager.CalculateTotalGameTime();


     
     




    Sound



    I added severall sound effects, some music and some voice overs. I hope you like them.


     

    Demo



    You can donwload a first demo from the asses store:


    http://www.leadwerks...nt-madness-wip/
  6. AggrorJorn
    Building selection
    A little update on the building placement. You can scroll with your mousewheel to select a different tower.
    I made the following code to cycle through the towers:

    //Mouse wheel checking m = LE.MouseZ(); if (prevM < m) { selectionID++; if (selectionID > 4) { selectionID = 0; Console.WriteLine("now 0"); } SetNewCurrentTempTower(); } else if (prevM > m) { selectionID--; if (selectionID < 0) { selectionID = 4; Console.WriteLine("now 4"); } SetNewCurrentTempTower(); } prevM = LE.MouseZ();

     
     
    Range ring
    Instead of creating a decal I thought it would be nice to display some rotating meshes to show the range of a tower. At the moment the meshes are not being adjusted by the terrain height but that is something on the to-do list. One thing I noticed was that the FPS dropped heavily when using this range ring. A loop was interfering with the process causing a lot of unnecessary instances being created.

     
     
    Firing towers
    I made a small beginning with the tower's firing mechanism. Towers are now able to lock on to a target if it is within range. The bunker and sniper tower are the only towers with a working firing mechanism. The canon and the flamer use rotation and have extra calculations for damage, rotation and area impact.

  7. AggrorJorn
    Tower defense games are my favorite casual games. The last few weeks I have been spending some free time on playing several of them. Steam had a lot of sales recently which gave me no choice but to buy them. Here are a few:
    Defense Grid: The awakening
    Orcs must die
    iBomber: Pacific

    They are quite addictive and found myself buying a lot of available DLC´s.
     
     
    Mutant Madness
    I want to build a simple tower defense game. That means:
    Build a tower on flat ground
    Tower shoots on enemy
    Enemy dies: you get money for a new tower
    If the enemy reaches your base, you base will get partially destroyed.
    You win the game by surviving all the waves.
    You loose if your base is destroyed.

    There are many things that can be build to improve the simple basics of this game. However, experience has learned that I have to keep it simple. Trying to complete something with easy rules, is complex enough.
     
    Todo
    On my current todo list:
    Building placement on flat terrain
    Simple GUI display
    Tower shooting
    Different enemies
    Steering behaviour

     


  8. AggrorJorn
    Leadwerks
    It has been quite a while since I have been active on werkspace or with Leadwerks. Still, even after working with severall Engines and Frameworks, I allways come back to Leadwerks. I don't know what it is. The coding? The Visuals? The ease of use? The lighting? Anyway, I had some time of, since homework was fairly quickly finished. Spare time has been scarce so I am glad I can finaly make some time werkspace...
     
    Year 2
    Year 2 of Game development is an enormous improvement on the first year. First of there are the team projects that are more interessting. Working with XNA, Kinect, Android, Motion Capture and Unity was a lot of fun. I learned quite a lot of new programming skills. Not perse programming methods, but more algorithms and terminology.
     
    Algorithm and Data structures
    Take for instance my class: Algorithm and Data structures. A very interessting class. It is so satisfying to finally understand what some of advanced programmers on this forum are talking about. Some interesting subjects are:
    Big O (Log N, Log(1), O(n) )
    quick sort, merge sort, swap sort, other sortings,
    Dijkstra (Check out the clickable flash demo beneath)


    http://aggror.com/images/showcase/dijkstra.swf
    Binary treas (huffman coding)
    Stacks
    Heaps (Hof)

    AI
    Last month we started with Artificial Intelligence. Wow, a whole new world of programming opens all of the sudden. The A* pathfinding lesson was very interesting (hence the new video tutorial about pathfinding). I am also looking forward to Flocking, Boids, steering behaviour and Learning AI's. And who knows what kind of new tutorials this might bring along.
     
    I still have a lot of inspiration left from Marley's ghost AI grid and Flocking system, Pixel perfect's 'stranded' showcase and Josh's Navigation mesh generator. Flocking and steering AI (wouldn't a race game with enemies be fun?!?) is up for the next 2 months. I will keep you posted on the cool parts.
     
    Aggror
     

  9. AggrorJorn
    I was working in the cantina of the school the other day when I noticed a showcase by 2 (second years) game developer students. Their project for the last 6 months was to build some kind of interactive system for a rehabilitation center. I was really cool to see and to think of it that only 2 seconds students made this. Really impressive. They also made a bunch of small games but I didn't make a recording after this one.
     

    http://www.youtube.com/watch?v=IiNCt0m-HXY
  10. AggrorJorn
    Technically the title isn't really correct since game development hasn't really started yet. The first 10 weeks are introduction weeks, which are probably neccesary for a lot people who do not know which business unit they want to choose. As for me it has been clear that Game Development is my direction but in the mean time I get all sorts of classes from different IT directions:

    System and Network engineer
    Software engineer
    IT manager
    Human Centered Design
    Technical Computing
    Network Forensic Research
    Game development

    Some of them are cool like network forensic researching. We used several programs to 'hack' protected wireless routers etc. but most of them are pretty boring.
     
     
    Programming == awesome
     
    Okay so we started with Java and I have to say that it is going really well. As a matter of fact: The school hired me to substitute for a teacher who quit his job on the first day of college. There are a lot of terms that make much more sense now that I am actually working with them a lot. terms like classes, arrays, constructors, publics and privates etc.
    I was a bit sceptical about Java but as it turns out its pretty cool. The comparison with C# is very small and that gives me more then enough boost to pickup were I left of with C#. Ofcourse I have just begun so this difference will probably change. Another 5 weeks to go and then Game development should really be kicking in. There are some cool classes that I am eagerly waiting on: Advanced Java, ActionScript and math. AI, Pathfinding and 3d games are things for next year which is a pitty but I have finally learned my lesson that a good programming knowledge in general is essential to developing games. (That took me only 2 years to realise.)
     
    In the mean time have a look at this topic:
    http://leadwerks.com/werkspace/index.php?/topic/2891-the-last-road/page__pid__26958#entry26958
     
     
    Thats it for this blog. I''ll keep you posted.
     
    Ceya,
    Aggror
  11. AggrorJorn
    As of next year I will be studying Game development in Amsterdam This is going to be awesome!
     
    At the moment I am taking an extra course math. Although it is really tough, I really enjoy it! (in contrary to most of my surrounding living organisms.)
  12. AggrorJorn
    The world of games, game development and game design is awesome. I just love it. The fun part is, that I only realised this since the past year and a half. Before that, I just liked playing games. Nothing else slipped in to my mind about "how a game is made etc.".
     
    I like to tell you a little story about myself. We didn't have a computer at home until I was 10. Before that, I used to play games at my neighbours house. My neighgbours where German and their kid had a computer at his room with one game. This game was some kind of science fiction game. The first level you would have to fly above this icy landscape shooting all kinds of robots, including this really huge weird elephant kinda looking robot.

    It took about me about 5 years to understand that this was called "Starwars".
     
    I was 10 I think when my dad got himself a computer including 2 games specially for me. Since my dad worked in Germany, the games he bought were also German. Although the village where I live in lies in the Netherlands, most of the people are either German or Americans (Awacs airbase and Military Outpost are like half a click away from my village.) The 2 games where Abe's Oddysee (German)and Delta Force (my first English game).
     
    Okay now here is somethin funny: I liked playing games on my computer, but for the rest I disliked computers. I didn't like typing in this green/gray interface that was called 'W98'. I rather prefered writing stuff down on a piece of paper. When The first Dial-up connections were introduced most of my classmates started talking about a program called EM ES EN. Anyway I did not care about computers and their stupid programs and especialy not the inter net (back then I thought it were 2 words). I only liked the games. My first game that had an editor was 'Cossacks'. And alhtough it was a demo, you could play with it for as long as you want. Al the enemies in the game feared my massive armies muahaha (evil laugh).

     
    Now here comes the most ironic part of my live. I finished mid school aged 16 and I had absolutely no idea what to do next. I actually went to an open day for a Health care education. But the idea of changing old people's diapers quickly made me change my mind. A friend of me said he wanted to go IT because he new a lot more about computers then I did and it seemed interesting. I was still totally blunt about my direction, so I decided as a total "computer-newb" to join IT education. Ironicly my friend did not go IT after all. I felt really misserable the first year. Everyone knew more then me (which wasn't hard anyway, since I knew zero.). From Operating Systems to CPU, from Windows to something called "Linux". They could as well talked Chinese, because I did not understand a single word. I realise that my smartest decision I have ever made was when some IT student gave me this sticker saying "I Love Firefox.". Since my computer knowledge was pretty much nihil I hadn't the slightest idea what Firefox was. The decision was to not say that out loud. (I personally think that they would have killed if I had.) Yes, I still had trouble leaving my naive idea of my opinion towards computers. The 'Internet Explorer idea' was the biggest of them all. I thought that 'Internet' was an abbreviation of Internet Explorer, thus meaning the same thing. Probably 99% of the IT students played a game called "War of Worldcraft" or something like it. Since I already fell behind on everything, I decided to buy it as well. And I didn't like it. Sure it was fun at the beginning but it just boring after a while.
     
     
    But as time went by I became more and more familiar with the IT world. Year 1 was okay after all, since the rest of the education sucked big time. The education supposed to teach you a way to prepare yourself for adulthood. Big wonderful HAHAHAHA. I had a hard time understanding this all, because my education was more something like a pre-school slash prison slash citydump. If you want to see a collection of criminals, junkies and stereotype nerds, just visit my class. second problem: no girls what so ever. In the past 4 years there hasn't been a single women inside the school building. (except the cafeteria lady).
     
    In the mean while, games kept playing a big part of my life. I bought my first console: xbox 360. Although it is a great product, it can never, never break through the wall of computer gaming.
    So to sum up this part: 3,5 years ago I knew nothing about computers, programs, Operating systems and above all nothing about game development.
     
    This changed a little bit when I found a program via youtube, called '3ds Max'. Back then I used it for making small movies and animations, but not for game designing. This changed when I played this game called Marble Blast. It was made by the Torque engine. I don't know why exactly but I started googling this torque engine. We are talking about 1.5 years ago here. The Torque engine itself seemed too difficult, so we (Dreamhead ) started with buying the Torque game builder. It is a great program for making 2d games. However, due to bad documentation this program was very soon abonded. Dreamhead mentioned "FPS creator.". So we started using FPS creator. It was fun, it was cool, even made a few cool examples, but we reached the limits very soon.
    My first model in Fpscreator.

     
    The biggest mistake I made then was going for Darkbasic. With absolutely now programming experience I just couldn't handle darkbasic. And then I saw this add on the game creators forum about the Leadwerks engine.....!!
     
    So I am 8 months further and a lot has happened since I purchased the engine. First of I graduated my IT education . For the past few months I have been looking more and more for my upcoming education. At first I thought about NID (Netwerk Infrastructure Design), then I thought of Programming(C# and ASP.net) and only since a couple of months I have been considering going in to game development! At first I was sold when I went to an open day at the SAE Qantm college in Amsterdam (International college for media and game creation). However lady unfortunate came looking around the corner: Games programming was to be no longer given at the Amsterdam location. I would have to go to either Munich, Berlin or London. Luckely another option was available: High School of Amsterdam. They offer a game development education for 4 years. Many languages from Java, Actionscript to C++ are being tought there. I have subscribed for the classes of next year, so if that would come true, man what would be great!!
     
    What I want to tell you with this blog is the following: Josh mentioned in one of the video tutorials that he got in to games programming because of quake. For me it is the Leadwerks engine. And that is why I want to say to Josh (and his team)as well as the Werkspace community: Thanks for finnaly opening my eyes! It has been a dream for me to become a game developer, but I never realised it that it is actually possible to become one! Lets hope I can start at Game development in Amsterdam next year. :D
     
    Thanks for reading!!
  13. AggrorJorn
    After 8 months since I purchased the Leadwerks Engine I'm still doubting about which direction to choose when it comes to game developing. At the moment I'm at a point where I can't choose whether I should focus more on moddeling, or if I should pay al my attention to scripting/coding. I'm doing a lot of these things at the same time without actually making some good progress. I never expected that I would learn how to programm by just messing around in the Leadwerks editor, but I have to admit that I expected to know a litlle bit more then that I do at the moment. I always thought that programming would be just a matter of time and lots of practice and since I'm on the waiting list for the programmers academy, I thought that I could take it easy.
     
    Unfortunately, due to delayed exams I missed my entrance into the programmers academy. I have to wait for another 8 months before I can go there. Sooo frustrating, because I'm someone who can learn well, as long as a teacher gives me an instruction. I have 2 books for C# (one cheap thing which is just sad, and a more expensive one from Microsoft), but I'm always stuck when I reach the OOP chapter (which is like after 70 pages.), but even when creating small programms I just get stuck. I've seen a lot of comments like 'If you want to learn to programm, don't expected to learn it when you are using Leadwerks' and 'Try to start with making some simple programs first, instead of making games'. Sometimes I wonder if programming is the thing for me to do and whether I'm making a good choice going to that programmers school. I don't think I lack the motivation, otherwise I would have quiet trying long a go, but perhaps programming just isn't my thing.
     
    In the mean time I'm wondering what I should do? Should I continue my struggeling with LUA? (C++ is certainly out of the question.. ) Or should I drop the programming for those 8 months and focus myself more in modeling, texturing and animating?
     
    To program or not to programm...It's the question that keeps me thinking. Don't get me wrong: the game development world is awesome and it has bin really motivating to see some stuff actually work. The community is awesome and some of the work I've seen is often just the thing I need to get the motivation flowing again.
     
    Some good advice or suggestions are welcome.
  14. AggrorJorn
    If you don't know that the blog title exists out of game names, you are probably a little confused . My upcoming job interviews are almost 2 weeks away, which gives me plenty of space to do some development stuff on the side from my main project. Besides my main project I have been working on the tutorial project Saturn as well as reviving the the Tunnels demo from Leadwerks 2.
     
    Project Saturn
    I didn't think I would have so much fun making project Saturn. It proves that making gameplay can be done very quickly. At the moment of writing this blog, there are 13 video tutorials. There are enough subjects left to cover, so if the videos gain some more popularity, I will start making some more.
    in the meantime you can also download the source from my website and you can even play the game directly via the workshop game player. Here are some topics that are in the queue for possible upcoming tutorials:
    Healthpacks
    Ladders
    Inventory
    Camera on rails/cutscene


     
     
    Tunnels
    The tunnels and Island scene from Leadwerks 2 are made me fall in love with Leadwerks in the first place. Having a go at reviving the Tunnels scene is therefor extra motivating. With some scary sounds and a dark ambience, the tunnels demo is nice little demo for the Leadwerks game player. Expect some more updates on this project later this week.
     
    Jorn 'Aggror'
     

  15. AggrorJorn
    Okay, so last night I got a burst of inspiration after seeing a horror movie. I wanted to use that energy to create a simple horror game. Recently I played Slender and I was surprised to see how 'easy to create' it seemed. Ofcourse that is easier said than done. So lets get to work
     
    Rebuild for Leadwerks
    So how hard can it be right? Within 2 hours I had a nice little start. You jump over a fence and thats were the fun begins. I have added a temporary ending to set the mood a little.
     
    Level
    The level itself is very easy. Just let leadwerks distribute some trees and place a fence around your level. Add some distance fog and remove all the lighting.
     
    Player
    Next: the player. Nothing special there either. Just a simple character controller that has been used in countless tutorials. Also added a small flashlight.
     
    Sound
    The most fun untill now was the adding of sound. The sound boosts the scare factor of the game immensly. I spend a good hour searching for sound effects and a background music. I mostly use http://www.freesound.org/.
     
     
    Next blog
    The pages: adding some page in the game scenery. Giving the player some raycast abalities to pick them up etc.
    The slenderman-system. When do you see him and how do you die?

    Version 0.1
    http://www.leadwerks...le/378-slender/
  16. AggrorJorn
    Something I have never tried before is working with terrain and placing buildings on top of it. The idea is that you can build everywhere on the map as long as the slopes aren't to steep and there is no building already placed.
     
    The Grid.
    Although you have the freedom of building a tower where ever you want, the underlying system still works with a grid system. That means that gridpoints can be tagged as "can not build". It also leaves space between buildings which is nice because I don't have to check for colliding with other buildings. The grid displays cubes for every 2 meters. Cubes on a steep slope are colored red. All the other cubes are green and therefore enable building.
     



     
    Building placement
    I had a little setback when I had this unusual error in C# (see topic). But instead of using a Pick, I now use Camera Project. It doesn't work entirely the way I want it, but in the end it doesn't look bad. You can see a temporary building being displayed in a green or red color (depending whether you can build it on that location, yes or no). Although the building doesn't exactly follow the camera, it is still accurate enough for good gameplay.
     
    Different towers can require more tiles at once. For instance: the most basic tower is a bunker which only takes 1 tiles. However, an other tower (for instance a radar installation) can take 4x4 tiles. Every tower derives from the tower class. A simple multidimensional variable defines which tiles are necessary.
    for instance:
    [ 1, 1, 1 ]
    [ 1, 0, 0 ]
    [ 1, 0, 0 ]
    [ 1, 1, 1 ]
    This tower has a hollow shape: 1 is used for building, while 0 is still free to build something else.
     
     
     
     
     
     



  17. AggrorJorn
    Some new possibilities
    I have spend another evening on my in game console and it is shaping up nicely.
     

     
    To-do or not to do
    I am happy with how the console works right now. There are enough things that I could implement to make it even more usable but I don't need those (right now) for my project. Possible to do's
    Intellisense.
    Saving command log to a file.
    Adjusting color, settings and size of console via commands.

×
×
  • Create New...