GithubHelp home page GithubHelp logo

antoniond / ucity Goto Github PK

View Code? Open in Web Editor NEW
401.0 28.0 16.0 1.98 MB

The open-source city-building game for Game Boy Color.

Makefile 0.22% Assembly 94.07% Shell 0.07% C 4.49% C++ 1.14%
gameboy assembly-language city-builder city-simulation game assembly

ucity's Introduction

µCity 1.2

Introduction

This is µCity (also spelled 'uCity', pronounced 'micro-city'), the open-source city-building game for Game Boy Color.

image

Video: https://www.youtube.com/watch?v=2rir-TVx020

This game is completely free. Just download the ROM, install a Game Boy Color emulator, and play! The last release of the game should be here:

https://github.com/AntonioND/ucity/releases

You can also play on real hardware. Even though the game has been developed using mainly emulators, it has been verified to work on hardware. The game detects how much available space there is and adjust the maximum number of saved cities accordingly.

There are two available ROMs. ucity.gbc is the preferred ROM that you should use. It can save up to 16 cities depending on the memory available in your emulator or flashcart. If your emulator fails to load this ROM because of an unknown RAM size or your flashcart fails to save data, try ucity_compat.gbc. This ROM will only be able to save up to 4 cities, but it is more likely to work in all cases.

Note: A direct port of this game to the monochrome Game Boy isn't possible. This game uses most of the extra RAM that was added to the Game Boy Color, which isn't available in a regular Game Boy. While the Game Boy Color has 32 KiB of WRAM, the Game Boy only has 8 KB, and this game currently uses 30 KB more or less. Only a really limited version of this game with a much smaller map and much fewer features would fit in a Game Boy.

Manual

If needed, there is a short manual with instructions for the player here.

Documentation

An open-source project is a lot worse without documentation! That's why the code has a lot of comments and why there is a highly detailed documentation here. And also because assembly code without comments can't be understood even by the developer who wrote it originally. :)

Compiling

This game needs a really recent version of RGBDS to correctly assemble the code. It is the only real dependency. This toolchain can be found here:

https://github.com/rednex/rgbds/

Follow the instructions in that link to install it in your system.

Once the RGBDS binaries are installed in your system, assembling the game is as simple as typing make in a terminal.

If the binaries aren't installed in any system path, the variable RGBDS of the Makefile has to point at the path where they are located:

make RGBDS=path/to/binaries/

This should work on Linux, MinGW, Cygwin, etc. To remove all files that are generated during the assembly process, type make clean.

Tools

Credits

Game made by AntonioND/SkyLyrac (Antonio Niño Díaz)

Email:

[email protected]

Web:

https://github.com/AntonioND

www.skylyrac.net

Thanks to:

  • beware: For the emulator BGB (http://bgb.bircd.org/), extremely useful tool used to develop this game.
  • Pan of Anthrox, Marat Fayzullin, Pascal Felber, Paul Robson, Martin Korth (nocash) and kOOPa for the pandocs.
  • Otaku No Zoku (Justin Lloyd) for the Gameboy Crib Sheet.
  • Everyone that has contributed to develop RGBDS over the years, specially Carsten Sorensen, Justin Lloyd, Vegard Nossum and Anthony J. Bentley.

License

This game is licensed under the GPLv3+ license. You should have received the source code of this game along with the ROM file. If not, the source code is freely available at the following address:

https://github.com/AntonioND/ucity

Not all source code files are licensed under the GPL v3+, though, only the ones with the GPL header are. There other source files are licensed under different terms (for example, GBT Player is licensed under the 2-clause BSD license).

The media files (graphics and music) are licensed under a Creative Commons license (CC BY-SA 4.0).

GNU General Public License version 3+

µCity - City building game for Game Boy Color. Copyright (C) 2017-2018 Antonio Niño Díaz (AntonioND/SkyLyrac)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Contact: [email protected]

ucity's People

Contributors

antoniond avatar ben10do avatar lancekindle avatar rangi42 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

ucity's Issues

No new residential can be created

I love the game. Thanks again for making it.

I seem to be having an issue with residentials. For some reason, on sameboy on ubuntu and miyoo mini plus, no matter what I do, no new residentials can be created:

No matter what I do, the R's stay just Rs and no new buildings will be created. I put the taxes to 0, I went to a predefined scenario and added more residentials, still no new housing. For some reason, no new residentials will ever be constructed.
image
This is just one example. I am using ucity.gbc on 1.2 release.

Remove deprecated/soon-to-be removed rgbasm syntax

This project is built as part of rgbds's CI testing. It currently outputs many warnings about deprecated syntax, some of which will be outright removed in the next release. In particular, name: MACRO should be MACRO name.

Rule out port to monochrome Game Boy

The Super Game Boy accessory (SGB) for Super NES runs only monochrome software, as its method of colorization operates on 8x8 pixel areas of the screen, not individual background tiles or sprites. SGB users would hit this in main.asm:

LONG_CALL   RoomOnlyForGBC

For the benefit of SGB users, I request some documentation of which Game Boy Color features are essential to this program. Is it the colorization? The CPU speed? The RAM? The CHR HDMA? If the workaround for SGB users is to purchase a used copy of SimCity (SNS-SC), I want that to be clear up front.

Build is not deterministic

A deterministic build would be easier to test if it is correct.

Causes of this:

  • In the Makefile, $(shell find $(SOURCE) -type d -print) and $(wildcard $(dir)/*.asm) may have different order on different machines (or the same machine at different times). Wrap them with $(sort ).
  • mapgen.c uses a time-based random seed. It could instead use a fixed-value one, maybe passed from the commandline or otherwise defined in some easy-to-notice-and-edit place.
  • Something more that I haven't narrowed down. But just cloning ucity twice and doing two builds gives two different results.

gbdev/rgbds#1384 has patched ucity to avoid these aspects.

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.