Volcano Star - simple sandbox game

Show off your games, demos and other (playable) creations.
MikeeyBikeey
Prole
Posts: 6
Joined: Fri Nov 12, 2021 8:54 pm

Volcano Star - simple sandbox game

Post by MikeeyBikeey »

I made my first game with love(2D)! It's a simple 2D sandbox game.

You can download it on itch. Has both the executable and the love file.

When some star fairies decay, they become volcano beasts! Destroy the volcano star to save the star fairy from eternal decay.

Love2D was a blast to work with! The source code is also available on Github. Have fun reporting issues or ideas you would like to see in the game.

Thanks for reading. Feedback is welcomed. Have fun ;).
An advanced base
An advanced base
cover.png (251.44 KiB) Viewed 13458 times
User avatar
BrotSagtMist
Party member
Posts: 659
Joined: Fri Aug 06, 2021 10:30 pm

Re: Volcano Star - simple sandbox game

Post by BrotSagtMist »

Just finished it, very good gameplay.
You should continue adding some side quests , it was quite disappointing to build a big base just to finish the game directly after that.
This is too good of a game to keep it that short.
Controls are quite hectic with only one tool button. Would greatly improve by adding more, maybe bind the tool row to the number keys?
The winning message plays in terminal, who is able to read that? :D
obey
MikeeyBikeey
Prole
Posts: 6
Joined: Fri Nov 12, 2021 8:54 pm

Re: Volcano Star - simple sandbox game

Post by MikeeyBikeey »

Thanks for playing my game BrotSagtMist! I'm happy you enjoyed the gameplay :).
Sorry for the shortage of content, I didn't know if anyone wanted to play past the volcano boss, I'm happy to be wrong. :3
For tool row swapping, I could copy Stardew Valley with the tab key swapping rows.
As for side quests, I wanted every star to have its own boss, music, and enemies.
I was also thinking it would be a good idea to have the 'F' key auto-eat food from your pack.

Also, I left those console messages there as an easter egg, I'm surprised you found them so quickly! :awesome: Good job BrotSagtMist.

Thanks for your feedback, it's greatly appreciated.

~ Best regards Mike
User avatar
MadByte
Party member
Posts: 533
Joined: Fri May 03, 2013 6:42 pm
Location: Braunschweig, Germany

Re: Volcano Star - simple sandbox game

Post by MadByte »

Honestly the way you manage mobs with tags and the way you add them to the table is somewhat mind blowing to me, especially because I really didn't know you can do this:

Code: Select all

self.mobs[mob] = mob.id or self.next_id
(like adding the mob table as key (?) and set the actual value to something else like an int or bool.)

And I'm "tinkering" with LOVE and Lua a while now.

Are there any major disadvantages to doing this? Maybe being dependent on using pairs instead of other alternatives ([possibly] slower, not sorted)?

I feel so utterly stupid for not knowing this and seeing you organized your code in general makes me feel like there's still a lot to learn on my end.
I made my first game with love(2D)! It's a simple 2D sandbox game.
You're killing me here you know :death:
MikeeyBikeey
Prole
Posts: 6
Joined: Fri Nov 12, 2021 8:54 pm

Re: Volcano Star - simple sandbox game

Post by MikeeyBikeey »

Hey MadByte, thanks for the feedback.
I indexed the mobs with tables because I found it was easy to implement, and I was in a rush to get it done before the birthday, but it did bug me little that the rendering order would sometimes change when a mob was added or removed. :huh:
If I was to do it again, I think I would use an array instead.

Thanks for taking the time to look under the hood and provide some feedback on that part of the game. :awesome:
Programming is my favorite part of creating a game, and I love talking about it!
This is my first game made with LOVE, but it's not my first game. To be honest, I think I learned the most from RustLang.
Also, Knights: Quest for Gems looks really cool, I would love to know when it is done. :)

~ Best of luck! Mike
User avatar
Gunroar:Cannon()
Party member
Posts: 1142
Joined: Thu Dec 10, 2020 1:57 am

Re: Volcano Star - simple sandbox game

Post by Gunroar:Cannon() »

MikeeyBikeey wrote: Thu Nov 25, 2021 3:55 pm Also, Knights: Quest for Gems looks really cool, I would love to know when it is done. :)
Where did you hear of this? I can't find google searching...
The risk I took was calculated,
but man, am I bad at math.

-How to be saved and born again :huh:
MikeeyBikeey
Prole
Posts: 6
Joined: Fri Nov 12, 2021 8:54 pm

Re: Volcano Star - simple sandbox game

Post by MikeeyBikeey »

Hey Gunroar:Cannon(), I found Knights: Quest for Gems on Github by MadByte. It looks fun!
User avatar
Gunroar:Cannon()
Party member
Posts: 1142
Joined: Thu Dec 10, 2020 1:57 am

Re: Volcano Star - simple sandbox game

Post by Gunroar:Cannon() »

Oh, nice. Strange a search didn't pull it up. :crazy:
As for your game, it looks pretty good (especially for a "simple" game)! I haven't played it though due to time. Maybe more screenshots?

Is the game linear or does it have systems going on + a linear story?
More info on the game pls. I checked in itch and also little info. Maybe update OP?
The risk I took was calculated,
but man, am I bad at math.

-How to be saved and born again :huh:
MikeeyBikeey
Prole
Posts: 6
Joined: Fri Nov 12, 2021 8:54 pm

Re: Volcano Star - simple sandbox game

Post by MikeeyBikeey »

There's no direct story in the game.
You collect treasure and craft better equipment to make it easier to defeat the volcano star.
You could technically defeat the volcano star in a couple of minutes, but without the proper equipment, it will be very difficult.
Spoiler alert!
Here's an image of the final boss.
boss.png
boss.png (51.35 KiB) Viewed 12195 times
MikeeyBikeey
Prole
Posts: 6
Joined: Fri Nov 12, 2021 8:54 pm

Re: Volcano Star - simple sandbox game

Post by MikeeyBikeey »

Anniversary Announcement
Happy one-year anniversary of Volcano Star! 🎉
I am happy to announce that Starfairy, the Volcano Star sequel, is in the works!

Map Renderer
There is a new map renderer. It blends tiles, animates tiles, outlines walls, and adds shading. Your house can look more beautiful than ever.
New Map Renderer.png
New Map Renderer.png (406.71 KiB) Viewed 5980 times
Lighting System
Lighting is no longer sharp circles. Lights and shadows gradually fade around the rims now.

Terrain Generation
Computer-generated terrain is making its way into Starfairy. This is simple for now, but it boosts development speed a good deal.

Island and Character Selection Menus
You can now have multiple islands and characters on the same computer. Characters can visit different islands on the same computer. There is also a title menu now.

Options
An options menu was added, simple yet useful.
Options Menu.png
Options Menu.png (294.72 KiB) Viewed 5980 times
Load Time
The load times have been super accelerated with the Rust programming language. The Rust module also allows for other improvements in performance-critical code like artificial intelligence, terrain generation, and pathfinding.

Split-Screen Teaser
There have been some successful experimentations with split-screen, but there is a lot that goes into such implementation, so I will just show a teaser here:
Two Player Tease.png
Two Player Tease.png (338.5 KiB) Viewed 5980 times
Thank You and Goodbye!
Thank you for playing Volcano Star! This will be my first and last post about Starfairy on the LÖVE 2D forums because development has been moved to another game engine.
You can check Twitter for further Starfairy updates: https://twitter.com/MikeeyBikeey

Bonus LÖVE 2D Programming
When I was initially developing the update with the LÖVE 2D framework, I created an entity component system (ECS) framework for fun.
Here is an example (partially pseudocode) for fun!

Code: Select all

local World = require('world')

local function GreatPeople(mobs_WITH_name_WITH_age)
    local i = 0
    for _, mob in ipairs(mobs_WITH_name_WITH_age) do
        love.graphics.print("Hi " .. mob.name .. ". You are " .. mob.age .. " years old.", 1, i * 32)
        i = i + 1
    end
end

local function CreatePeople(world, universal_last_name)
    world:add_mob({
        name = "Henry " .. universal_last_name,
        age = 22
    })
    
    world:add_mob({
        name = "George " .. universal_last_name,
        age = 5
    })
end

function love.run()
    return World.new()
        :add_resource("universal_last_name", "Smith")
        :add_load_system(CreatePeople) -- The ECS reads the argument and then passes in the list of mobs that satisfy the query.
        :add_draw_system(GreatPeople) -- The ECS reads the arguments and then passes in the built-in `world` resource and the custom `universal_last_name` resource.
        :run()
end
There is room for improvement here, and I am open to suggestions.

Thank you for reading. Have a nice day. :awesome:
Post Reply

Who is online

Users browsing this forum: No registered users and 11 guests