• Stars
    star
    571
  • Rank 78,127 (Top 2 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 14 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open source tower simulation game inspired by SimTower.

This is the experimental restart branch of OpenSkyscraper.

You are welcome to join in the experiments, put forward suggestions or supply your own experimental code!

How to try stuff

After you've cloned the repository, run git submodule update --init . inside your cloned repository so the submodules are loaded appopriately.

To build the game, create a directory build and run $ cmake .. from within. Check that you have all the necessary dependencies installed by looking at the CMake output warnings/errors. Once your system checks out, run $ make to build, and $ ./OpenSkyscraper to launch the game. Observe the game's output carefully as it may contain some hints why stuff isn't working.

At the moment, you need a SIMTOWER.EXE installed somewhere on your system. The game searches a number of locations for this file. Check the WindowsNEExecutable.cpp.15, load: from .../SIMTOWER.EXE lines of output for a list of locations.

If you instead wish to use the SIMTOWER.EX_ compressed from the disk, you must build with the optional dependency of libmspack. As long as you have it installed in your system when you run "cmake .." then it should be picked up.

What is being tested?

Currently we're performing the following experiments and tests:

  • SFML as platform API (instead of SDL)
    • loads bitmaps, fonts and sounds directly from memory
    • modern C++ interface simplifies code

Coding Style

  • Add a copyright line in the top comment of each file you edit:

    /* Copyright © 2010-2014 John Doe */
    /* Copyright © 2013 Mark Mensk */
    
  • Everything resides in the OT namespace.

  • Source file names match the class names in capitalization, e.g. the class Application yields Application.{h|cpp}.

  • The directory hierarchy reflects the namespace hierarchy, so Math::Vector2D goes into Math/Vector2D.{h|cpp}.

There are some violations of this style left in the source. I'm working on getting rid of them.

General note on source files: Lowercase source files are likely to be outdated and removed in the future. They're probably there because they contain some working code snippet.

More Repositories

1

llhd

Low Level Hardware Description — A foundation for building hardware design tools.
Rust
391
star
2

moore

A hardware compiler based on LLHD and CIRCT
Rust
244
star
3

llhd-sim

The LLHD reference simulator.
Rust
36
star
4

superscalar-cpu

Python
25
star
5

potstill

An open source generator for standard cell based memories.
Python
11
star
6

Maxwell

Modern, statically typed, duck typed, generic, imperative programming language, inspired by C++, Go, and Scala.
C++
9
star
7

VirtualTerrain

An attempt at rendering earth based on open source geo data enhanced with procedural noise.
C++
8
star
8

perplex

A grammar analyzer and LR(k)/GLR parser generator.
Rust
6
star
9

low

No fuss, just systems programming
C
5
star
10

libgds

A C library for reading and writing GDSII files
C
4
star
11

sublime-riscv-assembly

RISC-V Assembly syntax for Sublime Text
4
star
12

hackzurich15

Not-So-Bad Privacy for E-Mail — HackZurich'15
Python
3
star
13

asic-cell-composer

An open source ASIC cell layout composer.
C
3
star
14

gladus

Lightweight header-only OpenGL C++ wrapper
C++
3
star
15

gamma

Assorted maths for game development.
C++
2
star
16

Voltam

Open source electronic circuit and board layout editor.
C++
2
star
17

libasic

C libraries that read and write LEF and LIB files
C
2
star
18

gdsplot

A simple stylesheet-based GDSII plotter
Rust
2
star
19

phalanx

A Simulation Framework
Rust
1
star
20

libgds-rs

Rust wrapper around libgds
Rust
1
star
21

Settlement

Game engine architecture playground.
C++
1
star
22

dphpc-ducks

C++
1
star
23

objectivelua

Low-level C++/Lua bindings.
JavaScript
1
star
24

rcstr

A reference counted string that acts like a regular str slice, hiding the fact that it is wrapped in Rc
Rust
1
star
25

cloud

Centralizing cloud services such as mail, calendar, contacts, tweets, messages, etc. in a single system-wide daemon.
C
1
star