Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411511 Posts in 69375 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 01:43:56 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBuildism - A game creation tool
Pages: [1]
Print
Author Topic: Buildism - A game creation tool  (Read 6276 times)
Jacob_
Level 1
*



View Profile WWW
« on: October 16, 2010, 03:14:00 PM »



Buildism is a 2D game creation tool, written in Java (you need Java Web Start). It's designed to be easy enough for most people to use, but it is based on Lua so advanced programmers should have no trouble making complex games.

Unfortunately it is still in alpha so nobody has made a fancy demo for me to show off, but here is a techdemo of the tools I made earlier today: http://buildism.net/game.php?id=28

If you're interested, here is the editor (Java Web Start link.) It should be mostly bug-free, but it's pretty complicated so you never know.

I haven't written the scripting documentation yet (you can learn a lot from my posts on the forum), but here are some very simple examples:


Fly tool:
Code:
tool = script.Parent
player = tool.Parent.Parent
if player:isA("Player") then
    controller = player.Character.Body.Controller

link(script.Parent.MouseDown, function(button, point)
    controller.Velocity = Vec2D(controller.Velocity.x, 5)
end)

link(script.Parent.MouseUp, function(button)
    controller.Velocity = Vec2D(controller.Velocity.x, 0)
end)

end

Music player:
Code:
link(script.Parent.Clicked, function()
    if script.Parent.Playing.Value then
        script.Parent.Sound:stop()
        script.Parent.Playing.Value = false
    else
        script.Parent.Sound:play()
        script.Parent.Playing.Value = true
    end
end)

Teleport tool:

Code:
tool = script.Parent
player = tool.Parent.Parent
if player:isA("Player") then
    body = player.Character.Body
    link(script.Parent.MouseDown, function(button, point)
        body.Position = point
    end)
end
« Last Edit: December 05, 2010, 12:52:55 PM by Jacob_ » Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #1 on: October 18, 2010, 01:03:13 PM »

107 views and 0 replies? Really?

Just to give you an idea of how much I've been working on this, here are all of my posts in the News and Updates forum since I posted this thread:

Quote
When you save a game online, it will now upload a picture of whatever is on your screen to be the game's icon around the site.

These things were added yesterday but I didn't have time to post them:

    * "Add Center Hinge" option in Edit menu
    * "Move to Front/Back" options in Arrange menu

Quote
(Let's see if I can break the record for number of updates in a day)

Look in the object browser. They work kind of like FixedVelocitys, except the direction of the force depends on the parent part's rotation.

For fun, delete the FixedRotation in your character and strap one to your head.

Quote
Now, when you copy a part, it is connected to any parts intersecting it when you release the mouse button.

This should make building with the tools easier.

Quote
# Fixed flickering bug that happened with some computers
# Hinges and welds will work if saved and loaded again
# Fixed a bug where zooming would stop working after you added a player and started a new game
# Loading of decals and character skins is done asynchronously, so it doesn't freeze the game

Quote
You can now use the kill() member function of a character to kill it, like so:

Code:
game.Players.Jacob_.Character:kill()

For example, put this script inside a part to kill anyone that touches it:
Code:
link(script.Parent.Collided, function(h)
    if h.Parent:isA("Character") then
        h.Parent:kill()
    end
end)

Any tools the player has that aren't in the StarterInventory will be removed.

If you want something to happen when a player dies, use their Died event.

I am currently working on a scripting wiki.
Logged
happymonster
Level 10
*****



View Profile WWW
« Reply #2 on: October 18, 2010, 01:22:13 PM »

Perhaps a full minigame would help show this off to people more?
Logged
Inane
TIGSource Editor
Level 10
******


Arsenic for the Art Forum


View Profile WWW
« Reply #3 on: October 18, 2010, 01:51:20 PM »

Hi, please don't call up your view to reply ratio, there are a lot of lurkers and unregistered users it is counting so it's severely inflated (let's say, maybe 5 people who post at all have looked at the thread, and didn't have anything to say?).

I like the name of the tool Durr...? but alas, I don't have a use for it myself.
Can you change the background and floor graphics, though?
Logged

real art looks like the mona lisa or a halo poster and is about being old or having your wife die and sometimes the level goes in reverse
Jacob_
Level 1
*



View Profile WWW
« Reply #4 on: October 18, 2010, 04:12:26 PM »

Quote
Perhaps a full minigame would help show this off to people more?

Good idea, a few other players and I are currently working on some games.

Quote
Hi, please don't call up your view to reply ratio, there are a lot of lurkers and unregistered users it is counting so it's severely inflated (let's say, maybe 5 people who post at all have looked at the thread, and didn't have anything to say?).

I like the name of the tool Durr...? but alas, I don't have a use for it myself.
Can you change the background and floor graphics, though?

Thanks for pointing that out, I never thought about unregistered users (probably bots too, I don't know if this software counts views by bots or not).

And you can change the textures to whatever you want, or even delete the floor entirely.
Logged
tesselode
Level 5
*****



View Profile WWW
« Reply #5 on: October 18, 2010, 06:12:10 PM »

So you have a bunch of default preset objects that you can edit to your liking?
Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #6 on: October 19, 2010, 12:40:03 PM »

The objects are all really abstract--Box, Circle, Hinge, Script, Texture, FixedVelocity, and so on. So I wouldn't call them "presets" as in premade assets you drag and drop into your game, they are more like building blocks than anything.
Logged
tesselode
Level 5
*****



View Profile WWW
« Reply #7 on: October 19, 2010, 02:48:18 PM »

Ah, OK. Well, it sounds like an interesting engine, but I'll have to see more of it to really know.
Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #8 on: November 29, 2010, 06:00:37 PM »

I'm still working on this; here's the most recent update:

Quote
-Move to Front and Move to Back options under the Arrange menu. This gives you finer control over drawing order than using the 3 layers.
-Selecting/dragging overlapping objects is less buggy.
-There is now a grid that you can show and use to align objects, use the 2 buttons on the far right side of the toolbar.
-Hold shift while rotating an object to constrain the angle
-Use the button on the far right side of the toolbar to activate "draw over" mode--this will let you draw parts over other parts without selecting anything.
-View menu:
-Reset Camera option that resets the camera to the default position and zoom
-You can hide the script console
-Particle systems! Insert them into a part using the object list, then play with the settings. You can get different effects like fire, snow, smoke, and so on.

Once I get a few more things done I'm going to make some demo games.
Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #9 on: December 05, 2010, 12:52:26 PM »

Big update today: http://buildism.net/forum/showthread.php?tid=47

If you're feeling destructive, try this.
Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #10 on: December 05, 2010, 06:04:33 PM »

Has anyone even tried the link? I'd at least like to know if it works for others or not...
Logged
muddyshoes
Level 0
**


View Profile
« Reply #11 on: December 05, 2010, 06:31:39 PM »

 I tried it. The first time it appeared to drop me into the dev mode and trying the test option just left me with a player in an empty environment. The second time loaded the demo and I could place bombs and fire rockets. I couldn't really play much though as the control scheme is mouse aim and I'm on a laptop with a touchpad.
Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #12 on: December 05, 2010, 07:15:34 PM »

I've never had the dev mode problem, sounds odd. I'll take a look at it tomorrow.
Logged
Valyou
Guest
« Reply #13 on: December 08, 2010, 05:35:04 PM »

'ey again! I'm pretty much the bug-hound of Buildism development, and I reported tons and tons of bugs a day before the short hiatus.
Finnaly some more progress came by, but I still need to brush up on my Lua skills (which were partially built up on my time in ROBLOX) for all these good updates, and to make the perfect demonstration of Buildism!
Logged
Player 3
Level 10
*****


View Profile
« Reply #14 on: December 08, 2010, 05:44:06 PM »

Oh goody, I wondered why this seemed SO familiar.

It seems like it was done in Java. I might even try it out.
Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #15 on: December 08, 2010, 06:40:08 PM »

If you were getting seemingly random bugs (crashes, the dev mode bug, welds not attaching to the right parts, etc.), try again. It turns out that newer parts were occasionally overwriting the IDs of older parts, which isn't good.

I've been trying to code auto-breaking parts (boxes only), something no other similar game has AFAIK. It sort of works, but sometimes gets into infinite loops that crash the game...

Logged
Valyou
Guest
« Reply #16 on: December 09, 2010, 01:24:49 PM »

If you were getting seemingly random bugs (crashes, the dev mode bug, welds not attaching to the right parts, etc.), try again. It turns out that newer parts were occasionally overwriting the IDs of older parts, which isn't good.

I've been trying to code auto-breaking parts (boxes only), something no other similar game has AFAIK. It sort of works, but sometimes gets into infinite loops that crash the game...

-snip-
Shocked Want. Perhaps you could do something like this to stop loops.
Once the block has broken (or if you want, break into small enough parts) it may not crack again.
I'm pretty much going to try the same thing for the IncrediBots source (read: never going to try making Wyr, because I have awesomer ideas for games)
Logged
Jacob_
Level 1
*



View Profile WWW
« Reply #17 on: December 09, 2010, 03:47:12 PM »

The newest version includes fragmenting, change a part's MaxForce property to enable it.

Here's a video showing off some random stuff:

Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic