Coder Social home page Coder Social logo

chrismaltby / gb-studio Goto Github PK

View Code? Open in Web Editor NEW
8.3K 8.3K 464.0 176.54 MB

A quick and easy to use drag and drop retro game creator for your favourite handheld video game system

Home Page: https://www.gbstudio.dev

License: MIT License

JavaScript 8.18% CSS 0.12% HTML 0.04% Makefile 5.47% C++ 8.31% C 38.62% Assembly 7.57% Batchfile 1.11% Shell 0.01% TypeScript 30.34% Python 0.24%

gb-studio's People

Contributors

chrismaltby avatar cobradabest avatar crutchcorn avatar deertears avatar dependabot[bot] avatar fydo avatar gonzomd avatar gregtour avatar juliusl avatar marcosecchi avatar matttuttle avatar omikorin avatar patrickmollohan avatar pau-tomas avatar rebusmind avatar reptiie avatar reyanthony avatar richardulz avatar thomas-alrek avatar toinane avatar tomo666 avatar toxworks avatar um3k avatar untoxa avatar vagabondzero avatar wauthethird avatar wcxu21 avatar xeyler avatar y0ur-u5ername avatar zdurgan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gb-studio's Issues

Custom JS Scripts

First off, this is incredible! I love how you abstracted the details of making a game so that a non-developer can use it. I've shared it with the people in my company (sales and all) in an attempt to help get them involved in code.

I don't distract from the "Scratch" component, but what would it take to add a "Custom Code" segment where an API call could be made? I'm asking because, if it's a good idea and/or possible, I'd like to help.

I do Vue, Angular, Node and Go, and so I could be of assistance.

Allow movement like GIMP and Photoshop

This is a feature request.

I would really like to be able to pan around the viewing area by holding the middle mouse button, like GIMP and Photoshop.

Instead holding the middle mouse button moves the content around like a website.

Here's an example!

gd_move

[Request] Images should have indexed palettes

Hello! Just want to say thank you so much for putting this together! One little thing I noticed is that in the sample project, the assets are RGB-mode png files, and don't have four-color palette restrictions. I opened the logo.png file in GraphicsGale, but wasn't sure which colors were valid.

This is nitpicky, though, I can't wait to sink my teeth into this tool & see it improve over time! Also shoutouts to using Amiga MOD files for music, I love using OpenMPT <3

Cannot create rom

Running the program on Windows 10 Build 1809 with Windows Defender Anti-Ransomware stuff enabled, and the console says
build/rom/game.sym: cannot create. 4294967295
(Made a test project with the template)
Screenshot

[Request] Scripts running during player control

I'm wondering if I can run a script parallel to the player. For example, I want to make a time system, but currently, while that's running, the player cannot move. Is there a way to run a script while the player has control?

JSON to GBC

GB Studio only accepts JSON files, how am I supposed to make rom hacks? If anyone has a solution please let me know.

[Request] a couple of things

first of all, I've been playing around with the program. It's easy to use and it has got a lot of options. So overall, Great job!
But I'm missing some minor things, I'm probably the only one who's missing them :/.

First thing:
an in-game menu, the only problem is it would use a considerable amount of storage. This could be combined well with the Save-Load data idea #5. Editing the menu also probably needs it's own working field, not in Game World.

Second thing:
The ability to make an actor follow another actor. Make them walk beside each other or behind them through a pre-programmed path(Start point, way point,.. , End point). For example: Make the Player follow an actor who's telling you stuff about the game and it's world. OR an actor who's following the Player because you have to take it somewhere.

Third thing:
This one is a lot easier than the other 2.. When you boot up GB Studio and you want to Open your last project. I'll have to search for some time before I find it. So perhaps when you boot GB Studio it will open you last project. OR when you go to the Open project you will see your recent projects.

fourth thing:
That you could show the actors name above the text field when talking to an actor.

Update Readme

I suggest you to add some images or demo video of the platform on your readme , to make it more attractive and users can know directly before visiting the website or downloading it .

Sprite transparency clashing

test
If player and another sprite are overlapping while moving the player the overlapped sprite is showing through the player (possibly only on each other frame, not 100% sure). See attached gif

  • I am using the gb studio on windows10, the issue occurs in the example project.
  • The issue was noticed during preview, not sure if the issue persists in built projects, .gb or .html.

Integrate piskel for pixel editing

Hi, I integrated piskel into a similar engine to this one - gdevelop a while ago and recognize that I can do the same for gb-studio without that much effort.
If there any interest in adding piskel as the default pixel editor in gb-studio?
If so I can create a pull request :)

piskel:
https://gdevelop-app.com/make-8bit-pixelart-games/

Would you like to have piskel bundled with gb-studio?

[Request] Palette customization

While the default palette is good, it would be great to have an option to use different palettes following the same 2bit standard of 4 shades.

Especially I would welcome a darker green reminiscent of the original gameboy, the taupe-ish look of Gameboy pocket and simple black-white ramp.

This will allow the author's to control the mood of their game more, while still staying within the Gameboy 2bit limitation.

I am happy to provide extra palettes.

Username with Space

I cannot compile the ROM because my username has a space in it.
I tried the manual installation version too, no luck.
image

[Request] Sprite with 4 colors instead of a transparency color.

Hey, I really love your program!

I was gonna ask if it's possible to have a sprite with the same colors as the background images.
test
I want to display this monster in the middle of the screen as 4 16x16 sprites, rather than part of the background, so that I can easily replace the sprites with other monster sprites. I don't need a transparency for these kind of sprites... so maybe it's possible to make transparency color an option but not mandatory?

Cheers!

Bug with resetting zoom.

Steps to reproduce:

  1. In "Game World" view, zoom to 200%
  2. Switch to another view, like "Sprites"
  3. Switch back to "Game World" view

Note that the zoom level displays 200% but the actual zoom view is at 100%. Cursor positions also don't align with the actual cursor position.

Apr-21-2019 11-38-07

[Request] Dark Theme for Windows

That would be awesome. I seen someone paste a photo of their Mac version and it looked like they already had a dark theme on it, please don't forget us Windows users :D

[Request] Option select UI in the text area

It would be amazing to have a method of adding selection options to the text windows to give the player the ability to choose an option (that could be used in scripting to change a variable).

Also the ability for a "next" button to link multiple text windows together in sequence or in a logic tree would be very helpful.

See example from Pokemon UI in the bottom right corner

image

Running a scene event only once

I have an event that runs once my player enters a scene, however if the player leaves and returns the event assigned to that scene runs each time.

I tried using an if statement by assigning a value to a variable and removing it after the event runs but this makes no difference.

Is there a way to have a scene's event run just once?

Improved controls/feedback

  1. Keep playing walking animation when player is stopped by a solid and still holding a direction key.
  2. When the dialog is printed (letter by letter), pressing B should skip the printing animation and show the whole dialog content.

[Request] Sprite animation customization.

It would be great if we were able to customize the types of animation per sprite. Apart from the current (no animation, facing and 2 frame facing walk cycle) I would love to have:

  • Idle animation (2+ frames)
  • Longer walk cycle

Both of those can be implemented by adding extra frames to the y axis on the sprite sheet (so idle 2 frame animation would be 16x32)

Making idle animations will really help create more enticing worlds.

Command Encapsulation

I find myself repeating a lot of code over and over, and was thinking it would be nice to be able to make our own "functions" in the UI.

Let's say I have four sprites that I'm using for one, and I want them to all appear or disappear at the same time. Right now I have to use 4x hide actors.

What would be nice is if I could define my own block, and just run that to hide all four actors, and reuse it later.

[Request] Support VGM and GBS Music Format

In game saving

Is there any way of saving your progress in game?

I see no option in the studio itself, is there a method we can add manually to the main script?

Error when running or exporting project (missing file on appdata)

I created a project containing the default sample project, and didn't change a thing.
When attempted to run or export (web or ROM) I got this error:
... \AppData\Local\Temp/_gbs/gbdk/lib/small/asxxxx/gb/cr.: cannot open. 4294967295

I searched for this file and it is not there (also ran the .exe as admin, got the same).

OS: Windows 10 pro x64
Processor: Intel Core i5-7500T

(btw, this project is amazing, congrats!)

[Request] Additional Features

@chrismaltby
Hey! I really love what you are doing with GB Studio but I think that it lacks some features.
I know that some of these are probably in another issue but here they are anyway.

• Built-in tileset/sprite editor
• Built-in map editor
• Text-based scripting
• Collision detection (For enemies)
• Health and damage
• Popup menus (When a certain button is clicked)
• The ability to control more aspects of the game
• To have GB Studio be an all-in-one tool for GB game development
• Custom overlays instead of just black and white
• A "Follow Actor" event

Other than that it's an awesome piece of software. I'm making a game with it at the moment.

Bug Pixel line

2019-04-22-11-07-56

When I walk around I have this weird-looking line on top of the game..
tbh it's hard to see in a GIF just check the edges from the house it has some distortion when I walk around.. any ideas?

[Request] sprite size customization

As gb works on 8x8 graphics chunks it would be beneficial to allow different sprite sizes (8x8, 8x16, 16x8). It would definitely help with memory concerns for sprite heavy games and allow for more artistic expression.

I want to use more colors.

The sentence is awkward because I used Google Translator. please understand.

I would like to create a gba or gbc game with colorful colors.
This project unfortunately only supports gb, and appears to be limited to four colors.

Is it possible to create a game with lots of colors through a program that ignores documents on the official homepage and arbitrarily puts a lot of colors into the game and then converts the output gb file to gba/gbc? If not, do you plan to support rom file output for gba/gbc?

I've been waiting for these tools to come out into the world.
The dream finally came true. Thank you.

WebAssembly version?

Hey, this project looks super cool! Thanks for working on it, I'm excited to try it out.

I was wondering if you think it would be possible to use Emscripten or similar to pack the C dependencies into WebAssembly that gb-studio can be run in a web browser.

I don't know too much about Electron or Emscripten or WASM but I figured it could be really neat if folks could use this tool without needing to download an executable.

Showcase section

Hey guys! I really love this!

It can be great to have a showcase or demos online, so we can check the games of the people.

Do you have something to show? comment here!

[Request] Checking an Actor's position and the direction an Actor is facing

At current with GB Studio, you can make puzzle games (e.g. maze games, block-pushing puzzle games like Sokoban (or Boxxle/Boxxle 2, if you want an actual Game Boy example)), adventure games like Fairune, "walking simulators"…

But you can't make an adventure game where the player can interactively attack things (like stabbing/slashing with a sword, or shooting a gun/magic wand), like Rolan's Curse (and Rolan's Curse II, its rarer sequel), The Legend of Zelda: Link's Awakening, or Final Fantasy Adventure, because it's impossible to script a weapon for the player.

My first thought for how this could be done was hiding an Actor somewhere to be used as the weapon (a sword, in this example), and having its script get triggered when the player presses the "B" button.

The script would basically work as follows:

  1. Make the player unable to move until the script finishes
  2. Set player's sprite sheet to one where the player is making a stabbing motion
  3. Set the weapon Actor's position to the player's X/Y coordinates
  4. Show the weapon's Actor, with its direction set to whatever direction the player is facing
  5. Set the weapon Actor's position to the player's X/Y coordinates plus or minus one, and then plus or minus two (a total of 16 pixels of movement) to simulate a stabbing motion
  6. If the weapon Actor collides with another Actor, hide* the Actor with which the weapon Actor collided
  7. Set the weapon Actor's position to the player's X/Y coordinates plus or minus ONE, to make it appear to be drawing back
  8. Hide weapon Actor
  9. Set player's sprite sheet back to normal
  10. Allow player to move again

…But there's currently no ability to place or move an Actor/set an Actor's position to coordinates relative to another Actor's X/Y coordinates, nor the ability to check the direction that an Actor is facing.

Also, this script could probably be simplified — but like I said: this was my first thought.

Of course, GB Studio is only at version 1.0.0, and I'm not expecting it to have every feature that everyone wants right off the bat, but I thought I'd throw in my 2¢. :)

*Alternatively, check which Actor the weapon Actor collided with and then check an appropriate "HP" variable for that Actor. If the variable's value is greater than 1, decrement the value, and have the Actor become Hidden when the value reaches 0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.