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?
http://www.youtube.com/watch?v=HorJ6RPsPUg
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.
Download
"Terus" project (tech demo 2)
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
"Terus" project (tech demo 2)
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+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Re: Unnamed project teaser
Action 52?
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- 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:
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.
(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},
}
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+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
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: 1025
- 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.
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+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
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
What type of collision are you looking for?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.
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: 1025
- 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:
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:
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
add_stars(60) -- Add some stars
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
},
}
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+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Who is online
Users browsing this forum: Ahrefs [Bot], zingo and 5 guests