Jump to content

AggrorJorn

Members
  • Posts

    4,816
  • Joined

  • Last visited

Blog Entries posted by AggrorJorn

  1. 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
     

  2. AggrorJorn
    The last year of my Game Development study has already started. With only one year to go it is time so look ahead and view the possibilities that are available.
     
    Focus
    The coming 20 weeks I am following a minor in advanced software engineering and Game Technology itself will be put in the background. Game development will mostly be something I will do in my spare time. I thought that this year would be really busy one but so far it has been very quiet. The focus of the minor lies on Java, the Spring framework and web applications. I don't have much experience with those so that might come in handy for later. After those 20 weeks I will start my graduation trainee ship, although I first have to find a decent company where I can actually learn something.
     
    Starting a career
    I am a little nervous about comes after finishing my study. I could study further if I wanted to, but the experience I have had so far is that you just have to sit down and make something. Especially if you have someone (either friends or colleagues) that can help you develop your skills. I want to start my own game company but I do have a small college debt that I need to pay of first. So most likely I will start seeking a job withing the Gaming or Software industry.
     
    Projects
    My main project is still in combination with Leadwerks. Especially now that terrain has arrived I can really test out my work that I have been preparing for it. Progress has been going really well, although actual gameplay is still really far away. My game will be playable both singleplayer as multiplayer which adds an extra level of complexity and delay to the development and gameplay.
     
    Tournaments
    It is really nice to see more activity and interest with the Leadwerks Tournament. Although it can be really difficult to actually make something work in the amount of time you have available, it can be just the push you need to produce something. I have to admit that I was very enthusiastic about a themed tournament but in the end it didn't really helped much at all. Anyway, the third tournament will be a big one and has yet to be announced. The prizes will be even bigger and the length of the tournament will be extended to 3 weeks.
     
    Tutorials
    I haven't made a tutorial in a while although I do still want to make at least one of them (Particles). When the terrain has had some patches and/or new features, I will make some videos about that as well. I have created a nice little Tower defense game entirely with Lua. This game will be rewritten from scratch in a large video tutorial set. I am thinking of making this a paid tutorial set, which I can make available to users for a small fee. I have yet to see whether this is worth its time, but experimenting with it can't hurt.
     
    FlowGUI
    Besides the tutorial set, I'm also thinking about releasing FlowGUI as a simple GUI library for like 2/3 dollar. That depends a little on whether people would be interested in it or not. I stopped working on it when Josh announced a GUI editor with the Kickstarter, but since it might not be part of the engine for a while, it might be worth taking a look at it again. All scripts would be freely accessible and could be altered to a persons desire.
     
     
    Let me know what you guys and girls think.
    Jorn
  3. AggrorJorn
    Terrain tutorials
    There are 2 new video tutorials on how to use the terrain editor.
     
    Sculpting terrain:

     
    Terrain painting:

     
     
    Tutorials: Project Saturn
    It has been a while since I made a tutorial for Project Saturn, but that will change in the near future. Since there are so many new members using Leadwerks I am going to make some free time for some new tutorials. In the past 3 months there were only a handful of viewers and that didn't quite way up to time spend on making the tutorials. That said I also upgraded from a parttime to a full time job which obviously really cuts in to my Game dev time.
     
    The first new video tutorials are already here:
    21:
    22:
    23:
     

     
    Lua beginner tutorials
    I am also going to make some tutorials for the absolute beginners. For those that have very little to no experience, theses lessons should be very useful. Although these are Lua tutorials in general, they will be aimed towards usage in Leadwerks.
     
    FlowGUI
    I took the plunge in to selling my own Lua GUI library for Leadwerks: FlowGUI. Selling scripts/code for Leadwerks is something I wanted to do for years but I never really had the guts to actually try it. Now that I have made an initial release via webdownload, I am glad I did. I am happy with the amount of licenses sold so far, which makes it also a lot more fun to work on upcoming features such as inventories.
    I also hope that by providing extra downloadable content for Leadwerks, we will attract more people, were Leadwerks on itself will only benefit from. Last but not least it might also inspire other developers/artists to start selling their own work as well. Maybe when payed items are added to the workshop, this will really kick off.
     
    Jorn 'Aggror'
     

  4. AggrorJorn
    The past 30 days have been very hectic but fun none the less. While it all started with the thought that I would have some time to spare, it became one of the busiest months of the year. It started with a non-Leadwerks project, where I am currently working on with 2 artists. I was done with the coding for the current sprint (we are using scrum). This meant simply waiting for the artists to do their part. The sprint ends December 14th, so that would mean time for a new project.
     
    Back to Leadwerks
    I hadn’t touched Leadwerks for a solid 6 months so it was time to download it again and see how things were going. I started working on a new big Leadwerks project. Something that I want to work on with other Leadwerks users. For this project I needed camera paths and BAM! Before I knew it I was working on a new project creating tracking lines, curved splines, camera paths, ropes, cables (joints and everything). It is one of the up- and downsides of programming (or game development in general). You get an idea and before you’r even properly halfway through, your attention falls on something completely different.
     
    Lines and Splines
    The splines project became a lot more versatile than I had anticipated and I realized I had to tone it down a little. So no ropes and cables for now. The lines and splines are done at last. I had some issues with fine-tuning everything but the end result is pretty slick. Only thing left to do is recording some videos/tutorials and it is ready to be published. I want to make them available for a few dollars on the workshop. If it is successful I wil think about other useful tools that people might want. However time is not on my side...
     

     
     
    Moving
    My girlfriend has a new job and that means that we are moving. We have been looking for a house and this week we actually managed to get the keys. That means that free time will be very scarce as it will all be spend on moving and finishing the new house. It also means that releasing the splines and camera paths will be postponed a bit.
     
    Games
    If I want to take a break from programming there is always that other hobby which consumes a lot of time: playing games. And boy are there some time consuming bastards out there this month. At first I bought Cossacks 3. Massive armies and spending some later hours on the battlefield against the AI is what I love about this game. Then there is also Transport Fever. A great indie title game for the transport tycoon lovers. I already played their previous game a lot (train fever) and by the looks of it, this game will keep my busy for a long time to come. Not even mentioning Planet Coaster which looks awesome as well…
     
    Transport Fever (with Leadwerks logo)

     
    Cossacks3

     
    Tutorials
    When the new Leadwerks UI is done, I think it is time to do some new Lua tutorials. The existing videos are getting outdated very fast. I really want to help boost the community and with the upcoming winter tournament and existing monthly script challenge it will only get better. For the latter one I am afraid I will have no time left. A shame, because Thirsty Panther did a great job on its preparation.
  5. AggrorJorn
    Here I thought that I would be done with my entry in no time. Finetuning everything turned out to be a pain to be honest. Luckily the GUI was set up rather quickly and most of the game state switching worked almost instantly.
     


     
    Tired of the tires
    The real time consumers came when suddenly my tires wouldn't update with the vehicle. Spend a good time trying to figure out what I was doing wrong, but eventually just decided to leave it until the very end.
     
    Analytics
    I added Josh's new analytics api to the game to see what kind of information I would be getting. So far I can see the kind of seeds people are using and how often levels are reset. I guess it will be really interesting after a couple of people have actually played the game.
     

     
    Leaderboards
    Again I got stuck here far longer than I had anticipated. For some reason the highscores get updated with a new value. Meaning, that no matter your track time, the highscore table will always be set by it. I can do it manually, but it should happen automatically. Another downside is that I can't do any querying on which seeds were popular overall or last week. I would love to add that to the game as that is really what would make this game so powerful. Unfortunately, there are no means for me to do this right away.
     
    Game player
    The game has been uploaded to the game player now. Everyone can try it out and fill in a random number to get a unique track. The seed number should give people an identical track though. Looking forward to seeing some results. That way I can also finalise the highscore leaderboard after you reach the finish. There are plenty of bugs, missing features and graphical incompletions, but important is getting those highscores from other players right now.
     
    Controls
    When you are racing, you can WASD for car movement and your mouse for the camera.
    Use R to reset the level. When you have finished the level you can either reset or go back to main menu.
     
    If you could try it out with seeds '1337' and '1234', that be great.
    http://www.leadwerks.com/werkspace/page/viewitem?fileid=821020417
  6. AggrorJorn
    I started out 7 months ago with splines and it turned in to one of those annoying projects you start but then fail to finish even to it is in the back of your head the entire time. The reason this time was that I managed to delete my online repository and my local files, leaving me with nothing of the work I had created. I finally had the spirit to sit down and start rebuilding.
     
  7. AggrorJorn
    Now that the steam updating works again, the Spline Tools 1.04 package has been uploaded on Steam.
    Update 1.04
    This version contains some updated maps for Leadwerks 4.5. The moving platforms map unfortunately is not working properly and will have to be sorted out. Wire splines added.  Wire splines can be used for creating wires, cables or rope. By default, wires have no physics. Physics can be added as static shapes by selecting the wire type.  There is also an experimental dynamic wire type which creates joint for all rope segments. Doesn't work properly yet but is fun to play around with. Wires require some more work, like attach multiple splines geometry but I didn't want to wait any longer. Map added: "Wire - Electric poles.map". Demonstrates wire splines with no physics and static physics. Map added: "Wire - Tireswing.map". Demonstrates the experimental dynamic splines that uses joints for movable wires.   
    Todo list
    Reversed spline travel for spline followers  Ease in and out for spline followers  Rivers Improving the ropes  
     
     
  8. 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
  9. 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/
  10. 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
  11. AggrorJorn
    I downloaded the Saturn tutorial project yesterday to see how the project was holding up after all this time. After some bug fixing and adjusting some of the scenery ingame, I came to the conclusion I really liked the parcours part of the scene. So I thought lets just turn it in to a run and jump game real quick and add it to the winter games tournament.
     
    http://www.leadwerks.com/werkspace/page/viewitem?fileid=616857680
  12. AggrorJorn
    We have seen a lot of statistics on the forum recently. I thought I'd share some from my Youtube account.
     
    The stats below are from the past 365 days, including only videos that are relative to Leadwerks.

     
    Geo stats

  13. 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.

  14. 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.
     
     
     
     
     
     



  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
    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'
     

  17. AggrorJorn
    Quite some time ago I was playing Rainbow Six Vegas with a coworker (not during work time). We were doing terrorist hunt on this construction site map and we were having a great time enjoying this classic game. At some point I wanted to throw a grenade quite far away. Of course with my pro-fps skills I managed to hit the electric pole standing right in front of me. After I was done facepalming, something caught my eye: the wires on the electric pole were swinging, probably by the grenade's shockwave. I hadn't noticed that before, but I found it really cool. It reminds me of making rope-bridges (old 3ds max tutorial ). I think dynamic wires can add a nice extra touch of 'being an interactive environment'. Making wires like that could be fun to have as an extension on the SplineTools.
    The Zone
    This became especially apparent when working on the zone back in June. I was placing these power pylons on the terrain. Since they are great models that add a lot to the background, I decided to bring them a little bit closer to the main area and raised the terrain at several locations. Placing the pylons was a piece of cake. However placing the wires, was a pain. The wires come from 1 single model. The problem with this is that it makes it really hard to place these wires. I had to constantly rotate them around, move them and then rotate them some more. So when I had 2 pylons placed at different heights, it took a lot of messing around to get the models placed correctly. And this was just a straight line of pylons. With bends in the electric network this would have even more problematic.

    SplineTools extension: Wires
    The wires/ropes/cables extension of the SplineTools fixes this problem. We can simple put a pivot on each of the wire connectors of a pylon. Then we attach the wirescript to the pivots and make the pylon a prefab. Now we can connect multiple pylons by connecting the wire nodes. We play around with some of the handlers to create a nice bezier curve and we are good to go.
    Physics
    We can take it even further by adding physics to these wires. At the moment of writing there is support for static physics ropes and also experimental dynamic ropes. The latter one makes physics shapes per wire segment and adds joints between them. We can anchor both ends of the wire if we want to. In the stable 4.4 branch this causes the game to crash now and then, but the beta branch for 4.5 doesn't seem to have this. So that is good news.
    We now have the same wires as the ones that I encountered in Rainbow six. The dynamics ropes are really fun to play with. You can now easily create a tireswing, draggable computer cables (like in HalfLife 2) and most importantly: rope-bridges.
    I have to finish the example scenes and make the tutorial for them, but they are almost ready for release. They are included in the SplineTools package. A new video blog will be posted when it is ready. At the moment the workshop uploading fails, so I can't push any updates yet.

  18. AggrorJorn
    I have been working on some new features for the SplineTools package for Leadwerks. In the video below I demonstrate 2 new features
    Reverse spline followers: Reverse any spline follower at any given time on the spline. Just call the Reverse() function on a spline follower and enjoy the ride. Closest point on the spline: helper functions that can check what the closest point on a spline is based on given position.  
     
×
×
  • Create New...