Jump to content

Blogs

Particle Update: Death to the Nyan Cat & Rise of Real Effects

On the previous episode of the “Leadwerks3D particle show” a Nyan Cat / Colored Printer of Death roamed the land showing off the difference between RGB and HSV color interpolation. Well jump forward to today’s episode and that cat is now dead…or perhaps I should say has matured into a more complex and quite simply cooler particle system.   I’m still not finished with all of my work but here is a quick look at few particle effects I’ve tinkered with:     I'm so disappointed that I don

Chris Vossen

Chris Vossen

Entity Script System

We've had a lot of discussion with the community about the Leadwerks3D script system. The current design is based on a combination of user feedback, lessons learned from Leadwerks Engine 2, stealing ideas from other game engines, and my own judgement. Our goal is to make a really easy and powerful game scripting system, without overwhelming the user with complexity. With that said, I thought I would let you in on how the script system presently is working in our own builds, and the process of

Josh

Josh

H.A.A.R.P An Extremists Approach To Data Driven Design

In my short 1 year of programming I have gone to great extents to learn not only how to code but also the techniques and methods behind game architecture that make things work and keep the integrity, re usability and productivity of my code to a maximum.   Out of all the techniques I have come across there are two that really have taken the cake. These two techniques are (excluding OOP, thats a given): Finite State Machines Data Driven Design Data Driven Design   For those of you

Road Kill Kenny

Road Kill Kenny

Properties, Round 2

As I always do when making design decisions, I tried out several approaches to the properties dialog. Previously, I wrote about embedding it in the side panel, below the scene browser. I liked being able to quickly modify object properties, but I couldn't drag assets like textures and materials from the Asset Browser to the Properties Editor, because they were under different tabs in the side panel. Because of that, I popped the Properties Editor back into its own tool window.   The exper

Josh

Josh

Properties Dialog

After putting together a pretty complete model of how the logic editor would work, I found myself unsatisfied with the properties dialog. I originally intended to make a standard properties dialog that opened in a separate window, with "OK", "Cancel", and "Apply" buttons. However, the logic editor and properties dialog were both being opened in separate windows that were a child of the main window, with no strict draw order between the two of them. I found it confusing to select an entity in

Josh

Josh

Let's Make a Game - Procedual Content Creation (part 03)

About: This is a short series for the Leadwerks community on the process of creating a simple game using procedural content.   This week we implement the map creation process discussed in part 02 then add the mesh generation and a controller to fly around our level. Then we'll have the first iteration of our procedurally generated map.   Part 01 Part 02       Starting with the Map class.   Map:Create Function...first iteration, no corridors.   Simple nested for-loop to generate a ro

Flexman

Flexman

Bars, Girls, and...... Videogames?

Like many college students, part of my time at UC Santa Cruz was spent visiting a variety of fine local establishments perusing their beverage assortments and discussing deep philosophical ideals with enlightened patrons.     (Me at an art meeting, the day after a night of enlightenment.)   Okay I’ll admit it, I went to bars and talked to girls (Give me a minute this story is going somewhere relevant). The easiest small talk to make in a college town is to ask someone about the

Chris Vossen

Chris Vossen

Let's Make a Game - Procedual Content Creation (part 02)

About: This is a short series for the Leadwerks community on the process of creating a simple game using procedural content.   In part 01 we looked at one theory of generating random maps in the style of old school dungeon crawlers. This week we'll put that into practice to generate map data, room geometry and mesh colliders. The easy part was adding a flying physics based camera to act as our first-person flown "spaceship".     Again I want to flag I'm not a LUA expert, this is not a LUA t

Flexman

Flexman

Mutant Madness - Firing

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 lat

AggrorJorn

AggrorJorn

Think/Anatomy/Painting [Warning: Little nude content]

Done this in almost 4-5 hours (yes, too slow). The most important reason I paint is that sometimes I just want to finish a job to make myself satisfy. to tell that I can make a complete job (fake self confidence but still helpful). and also when I'm full of something, the things I think about during the painting are really joy/helpful. I'm inspired by the brain and it's abilities. which makes me think that the brain may be everything. and off course there is a link between this post and the brai

omid3098

omid3098

Justify My Love (of Constructive Solid Geometry Modeling)

One thing I love about constructive solid geometry modeling is that texture mapping is sooooo much simpler than 3ds Max. Most of the time the automatic texture mapping works fine, and when you do need to adjust texture mapping by hand, CSG texture mapping tools are still much easier. The justify buttons line a texture up along a face, or a group of faces.   Although using these tools is fun and easy, programming them is another matter. I dreaded the implementation of the texture justify but

Josh

Josh

Let's Make a Game - Procedual Content Creation (part 01)

About: This is a short series for the Leadwerks community on the process of creating a simple game using procedural content.   A short while ago I was approached to write a book on terrain generation using dedicated tools for a variety of game engines. There's a lot more to game content than just terrains. Josh's recent blogs on CSG got me thinking about one of my favourite games and had me itching to re-visit the genre.       This series is an exploration of topics I don't normally exerci

Flexman

Flexman

Can you paint with all the colors of the wind? Leadwerks can.

Anyone who peruses the forums regularly might have noticed a fresh new intern posting a particle system feature request thread. That intern, who shall remain nameless, was ready to tackle the task of aiding in the creation of a rich particle system that was both powerful and intuitive to users. That was over a month ago… in that time I have been sidetracked with other more important and pertinent tasks but I’m proud to finally admit that the “Super Awesome Chris Particle System of Awesomeness +3

Chris Vossen

Chris Vossen

RTS/Tower Defense

I like reading blogs and Josh has been the only one spamming them recently (j/k I know we all love hearing about LE3) so I figure other people like reading blogs too. So I thought why not make one about what I'm working on.   Over the last month or so I had pathfinding working using basically a 2D grid over a terrain using A*. Being able to move actors around like that just feels so inspiring and feels like the sky is the limit which what you can do with that. I had so much fun with just that

Rick

Rick

Hammering out the CSG editor

CSG is a great way to quickly and easily produce levels, and the editor is even fun to write. I added another tab next to the scene and project tabs where you can select objects to create. The CSG texture mapping and smoothing controls also reside on this panel. I'm still playing around with the layout, but here is what I have now:   CSG brushes are now entities, and can be arranged in a hierarchy. Check out the scene hierarchy that gets created when you create a compound brush object (a

Josh

Josh

Something Old, Something New

The new CSG editor is coming along nicely. Yesterday I implemented CSG rotation and skewing, and today I got object center and edge selection working. 3D World Studio uses GL_SELECT mode to handle picking in orthographic viewports, but this stopped being supported in ATI drivers a few years ago! I implemented a CPU math routine for picking brush edges. In orthographics viewports, brushes can be selected by clicking their center or any edge, while models only use the center for selection. (T

Josh

Josh

Mutant Madness - Building placement part 2

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; C

AggrorJorn

AggrorJorn

Totally Tubular

Today I implemented the last two compound primitives. Tubes are the same as in 3D World Studio, with parameters for the number of segments and thickness. Since the Leadwerks3D editor supports smooth groups, another new compound primitive has been added. A torus is a "donut" shape. These can be used to make curved pipes and other things. Here are the two compound primitives, side by side:   Smooth groups and new primitives in Leadwerks3D allow you to create new kinds of geometry which we

Josh

Josh

My old arch-nemesis: arches

Since brushes in Leadwerks3D are entities, and the Leadwerks3D editor gives you access to the entity hierarchy throughout a scene, we don't use "groups" like 3D World Studio had. Instead, when a compound brush is created, a parent pivot is created, and all brush segments are made a child of that. When you select any part of the hierarchy, the entire compound brush is selected (unless "Ignore Hierarchy" is turned on).   Since brushes can now have a 4x4 matrix, which wasn't the case in the pas

Josh

Josh

Snow Day

The last day of the season was today, so I was at North Star. We had a storm for the last three days, so the snow was pretty good, just sticky in some places. Even though it was a Sunday, crowds were not bad. Towards the end of the day, most people were hanging out at the lodge and the runs were completely empty. All in all, it was a pretty awesome day.

Josh

Josh

Smooth Move

Smoothing groups are one of the most frequently requested features for 3D World Studio, so I am happy to show you their implementation in Leadwerks3D, finally. Smoothing groups are usually stored as a bitwise flag. When two faces share a vertex at a certain position, if they have one or more smoothing groups in common, their vertex normal is calculated as if they are sharing a vertex.   I first attempted to write an algorithm based on edges, which worked great for cylinders but failed for ge

Josh

Josh

Leadwerks Visits Sacramento State University

There are two types of days here at Leadwerks; days that we work and those that we werk. On werk days we hunker down at our desks, cups of caffeine in hand, and code (Unless you’re thinking… or pretending to think). Then there are work days, on these days we focus on business development: researching, planning, and occasionally field trips. So to kick off our intern hunt members of Leadwerks grabbed their sack lunches, kissed their monitors farewell, and ventured over to the Sacramento State Uni

Chris Vossen

Chris Vossen

×
×
  • Create New...