"Terus" project (tech demo 2)

Show off your games, demos and other (playable) creations.
Taehl
Dreaming in associative arrays
Posts: 1024
Joined: Mon Jan 11, 2010 5:07 am
Location: CA, USA
Contact:

"Terus" project (tech demo 2)

My good friend Ensayia and I are working together on a little game, a remake of a classic. You very well may have seen it on your favorite old system, or maybe a more modern remake. Anyone want to take a guess at which game it is?

News:
We now have a tech demo ready for everyone. It features five simple levels, a working main menu, and a big helping of awesome. And now, thanks to Love 0.7, the sound works.

Last edited by Taehl on Tue Sep 21, 2010 8:44 pm, edited 5 times in total.
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.

Tesselode
Party member
Posts: 555
Joined: Fri Jul 23, 2010 7:55 pm

Re: Unnamed project teaser

Action 52?

Taehl
Dreaming in associative arrays
Posts: 1024
Joined: Mon Jan 11, 2010 5:07 am
Location: CA, USA
Contact:

Re: "Terus" project teaser

Noasshat

(If Youtube is having issues, you can watch the clip here.)

Demonstrated are the polar coordinate system (including edge warping)), some WIP graphics, and a pretty thorough test of the AI system.

The enemy AI package is thus:

Code: Select all

AI={
{AI.leave},
[t+1] = {AI.clockwise},
[t+1.5] = {AI.leave},
[t+2.5] = {AI.counterclockwise},
[t+3.5] = {AI.wobble},
[t+5] = {AI.straight},
}
In other words, each ship will go outward for 1 second, go clockwise for half a second, go outward again for 1 second, go counterclockwise for 1 second, wobble for 1.5 seconds, and then go in a straight line (in this case, a diagonal due to the wobbling). Though not used in this case, multiple AI actions can be run at the same time. The stars were also assigned synchronized AI for test purposes, those are pointed out in the video. Also, the music is random, it's not going to be in the game.
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.

Tesselode
Party member
Posts: 555
Joined: Fri Jul 23, 2010 7:55 pm

Re: "Terus" project teaser

Now it's looking a lot like that one arcade game which I can't remember the name of.

Taehl
Dreaming in associative arrays
Posts: 1024
Joined: Mon Jan 11, 2010 5:07 am
Location: CA, USA
Contact:

Re: "Terus" project teaser

Progress has been made. We have a simple main menu (which can be brought up in-game, as a pause menu), sound effects, more AI actions, shooting, and homing missiles (which can be used either for or against the player). Next up: Collision detection, levels, and an options screen.

If there are any musicians out there who may be interested in contributing, we would appreciate the help.
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.

Ensayia
Party member
Posts: 399
Joined: Sat Jun 12, 2010 7:57 pm

Re: "Terus" project teaser

If anyone has any ideas for a decent 2d collision without using the physics engine, we could use input on that as well. Our goal is to not use the physics engine if at all possible.

nevon
Commander of the Circuloids
Posts: 938
Joined: Thu Feb 14, 2008 8:25 pm
Location: Stockholm, Sweden
Contact:

Re: "Terus" project teaser

Ensayia wrote:If anyone has any ideas for a decent 2d collision without using the physics engine, we could use input on that as well. Our goal is to not use the physics engine if at all possible.
What type of collision are you looking for?

Luiji
Party member
Posts: 396
Joined: Mon May 17, 2010 6:59 pm

Re: "Terus" project teaser

Good bye.

scirath
Citizen
Posts: 85
Joined: Mon Feb 23, 2009 4:44 am

Re: "Terus" project teaser

Sinistar? Tyrian? (One the remake of the other, if I remember correctly...)
(USER MIGHT BE BANNED FOR THIS POST.)

Taehl
Dreaming in associative arrays
Posts: 1024
Joined: Mon Jan 11, 2010 5:07 am
Location: CA, USA
Contact:

Re: "Terus" project teaser

Fairly close, but no. Note the polar coordinate thing, where you shoot inward from the edges, as opposed to from one side to the other.

Level format is done (assuming I can't think up improvements of optimizations), and quite simple. Here's an example level:

Code: Select all

level = {
name = "Test level 1",
author = "Taehl",
--   music = music.boss,   -- We need more songs :(
init = function()       -- Called once when level is loaded
end,
update = function()     -- Called every frame
-- Nothing special in this level. Generally, level.update() shouldn't need to contain anything.
end,
events = {              -- Values are executed at key <= gameTime seconds
[4] = function()
add_wave("enemy1", 6, 0.5)   -- At 4 seconds into the map, spawn 6 enemies every 0.5 seconds, using default properties
end,
[8] = function()
local boss = add_object("boss1", {}, true)   -- At 8 seconds, spawn the boss1 object with default properties as a unique (named) object
level.targets[boss] = true   -- Add the boss to the targets list
end,
},
targets = {},           -- A list of objects that need to be killed for victory (enemy waves are automatically added unless overridden)
victory = {             -- When this table is entirely true, the player wins
function() if gameTime > 10 then return true end end,   -- At least 10 seconds must have passed
function() for k,v in pairs(level.targets) do return false end return true end,   -- All enemies and the boss must be killed
},
}
With a bit of Lua knowledge (and maybe a peek at the game's code, which I'm leaving very well-commented just for this reason), maps should be able to contain mods very easily. For instance, to change the player's ship into something else, all it takes is to use this in the level's table:

Code: Select all

level = {
init = function() 	-- Called once when level is loaded
objects.player.image = images.enemy1	-- TEST: Shows how moddable Terus is
end,
}
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.

Who is online

Users browsing this forum: No registered users and 20 guests