Giter Site home page Giter Site logo

chaosforgeorg / doomrl Goto Github PK

View Code? Open in Web Editor NEW
1.0K 1.0K 129.0 2.24 MB

D**m, the Roguelike

Home Page: https://drl.chaosforge.org/

License: GNU General Public License v2.0

Lua 55.10% Batchfile 0.03% Shell 0.85% Perl 0.22% AGS Script 1.35% Pascal 42.44% SourcePawn 0.01%

doomrl's People

Contributors

epyon avatar leereilly avatar sprigunn avatar vedvid 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

doomrl's Issues

Wrong message when trying to open locked door

If you press (o)pen next to a locked door, the message says there are no doors.
Also, if you walk into a locked door, there's no message at all.
I suggest:

  • Show message that door is locked when trying to (o)pen or walking into locked door

Version: 0.9.9.7

[GNU/Linux] Unhandled Exception on startup

When trying to start doomrl 0.9.9.7-11 under latest Artix Linux (uses AUR like Arch), I get the following error:

An unhandled exception occurred at $00000000005F4352 :
EInOutError : Invalid input
  $00000000005F4352

Rewrite UI/Input loop

Currently when moving the mouse freezes and animation still locks the game. Apart from implementing a better animation system (Jupiter Hell style - different task) also implement a normal UI/Input loop with separate UI/game events.

Custom Game Mods Unavailable

Title pretty much says it all,
I'm sure there's a good reason but I only just noticed when trying to reinstall skulltag arena.

Deimos Lab is conquered status

Deimos Lab is considered conquered by just pressing the two levers to open the middle and leaving, not needing to press the other levers or killing the Shamblers. This is just a small fix of where in the code it checks when the level is conquered.

Fullscreen dual-monitors Linux

How do I get this application to run fullscreen on a single monitor? Currently when I hit Alt+Enter it fullscreens across both my monitors.

AoPacifism crate melee

Attacking an item crate with a melee weapon on Angel and Archangel of Pacifism gives an error message.

License clarification

There are no license headers in the source files to make things clear. Is this GPL v2 only licensed, or GPL v2 or later licensed? I recommend choosing the latter, as it allows for greater compatibility with other software projects that may use this code and use newer editions of the GPL.

Thanks!

No sound for exploding walls

If you pull a lever, sometimes the walls explode. But there is no sound effect played for this event. Nor is there a graphical explosion effect, unlike other explosions.

Version 0.9.9.7

[Feature request] Incoming lava: more life-like, nonlinear pattern

A couple of streams first, then they become wider, then everything is engulfed.

The walls should be less likely to be flooded first, but collapse afterwards anyway.

This imposes more tactical challenges.

===.......................
=====.....................
===============...........
==========================
=====................=....
====...........=..........
=============.............
====================......
=====.....................
==........................

Is it work on apple silicon?

I have tried to launch it on a macbook air m1. After the loading bar - I see window with a black screen and nothing happening. I thought its like the first launch, but even after 5 min nothing happened

Strange sounds

Some sounds used in the game are a bit strange or outright wrong:

  • If you pick up a knife or a similar melee weapon, or equip such a weapon, you hear a gun reload sound
  • If you open a door in hell, it still makes a sliding door sound (but it's a wooden door sprite)
  • If you throw a knife, it sounds like a missile

Version: 0.9.9.7 on GNU/Linux

Can attack monsters with knife in Angel of Marksmanship

If you play Angel of Marksmanship but try attack a monster with a knife, you can actually perform the attack and deal damage. The message are screwed up, however. And if you kill a monster with the knife in this mode, you get an access violation.

This is the error.log:

----------------------------------------------------------------------
Timestamp   : 24-4-21 02:59:28
Error level : CRITICAL
Message     : Player action exception!

Error message : Access violation
----------------------------------------------------------------------

Incorrect story elements in some game modes

The story screen that appears when you start the game or defeat a boss level is always the same. However, the text can sometimes be wrong.

It assumes you're a marine and that you start on Phobos, even when that's not actually the case.

First of all, you can play as Scout or Technican instead of a Marine.
You can also have wildly different start conditions if you play an Angel Game, e.g. you might start on Deimos if you play Angel of Confidence, or you deploy nukes in every level.

I suggest to change the story screens a little bit depending on your character class and Angel Game. It would be nice if each class/angel had a little bit of its own unique story (when it makes sense).

No graphics output on macOS Sierra

Black screen after loading (it shows the loading bar briefly)

Audio still works (confirmed by using arrows/hitting enter)

Running from the command line with CG_CONTEXT_SHOW_BACKTRACE gives:

Dec  7 19:17:00  DoomRL[49487] <Error>: CGBitmapContextInfoCreate: CGColorSpace does't support output
Dec  7 19:17:00  DoomRL[49487] <Error>: CGContextDrawImage: invalid context 0x0. Backtrace:
	  <IMG_Load+846>
	   <IMG_LoadCUR_RW+102>
	    <IMG_LoadTyped_RW+194>
	     <VSDLIMAGELIBRARY_IMG_LOADRWORTHROW$PSDL_RWOPS$LONGINT$$PSDL_SURFACE+85>
	      <VGLIMAGE_LOADIMAGE$TSTREAM$LONGWORD$$TIMAGE+52>
	       <VTEXTURES_TTEXTUREMANAGER_$__LOADTEXTURECALLBACK$TSTREAM$ANSISTRING$LONGWORD+153>
	        <VDF_TVDATAFILE_$__LOADFILE$LONGWORD+689>
	         <VDF_TVDATAFILE_$__LOAD$ANSISTRING+336>
	          <DOOMLUA_TDOOMLUA_$__READWAD$SHORTSTRING+1199>
	           <DOOMLUA_TDOOMLUA_$__CREATE$$TDOOMLUA+2350>
	            <DOOMBASE_TDOOM_$__LOAD+514>
	             <DOOMBASE_TDOOM_$__RUN+164>
	              <PASCALMAIN+871>
	               <FPC_SYSTEMMAIN+38>
	                <__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__+12>
	                 <_CFXRegistrationPost+427>
	                  <___CFXNotificationPost_block_invoke+50>
	                   <-[_CFXNotificationRegistrar find:object:observer:enumerator:]+1827>
	                    <_CFXNotificationPost+604>
	                     <-[NSNotificationCenter postNotificationName:object:userInfo:]+66>
	                      <-[NSApplication _postDidFinishNotification]+297>
	                       <-[NSApplication _sendFinishLaunchingNotification]+208>
	                        <-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:]+552>
	                         <-[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:]+661>
	                          <-[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:]+290>
	                           <_NSAppleEventManagerGenericHandler+102>
	                            <_Z20aeDispatchAppleEventPK6AEDescPS_jPh+544>
	                             <_ZL25dispatchEventAndSendReplyPK6AEDescPS_+39>
	                              <aeProcessAppleEvent+312>
	                               <AEProcessAppleEvent+55>
	                                <_DPSNextEvent+1811>
	                                 <-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]+2730>
	                                  <-[NSApplication run]+926>
	                                   <CustomApplicationMain+548>
	                                    <main+272>
	                                     <_start+203>

Let me know how I can help!

Inconsistent use of difficulty names

The game uses difficulty names a bit inconsistently.

Usually, it's names like "I'm Too Young to Die" but sometimes simple names like "Easy", "Medium", etc. are used. These are used e.g. in highscores and the "Show player" screen of the main menu.

It's not exactly obvious which name maps to which one. That's a little confusing.

I suggest to use one uniform set of difficulty names and stick with it throughout the game. Or maybe you can come up with a better idea.

Version: 0.9.9.7

Unhandled exception

If I try launch this on Linux Mint 21.1, I get the following error:
`Abnormal program termination!

Reason : Can't load library "libSDL_mixer-1.2.so.0": libSDL_mixer-1.2.so.0: cannot open shared object file: No such file or directory

If this reason doesn't seem your fault, please submit a bug report at
http://forum.chaosforge.org/, be sure to include the last entries in
your error.log that will get created once you hit Enter.

An unhandled exception occurred at $000000000051908F :
ELibraryError : Can't load library "libSDL_mixer-1.2.so.0": libSDL_mixer-1.2.so.0: cannot open shared object file: No such file or directory
$000000000051908F line 66 of ../fpcvalkyrie/src/vlibrary.pas
$00000000005F62C8 line 124 of ../fpcvalkyrie/libs/vsdlmixerlibrary.pas
$00000000005EDB0D line 70 of ../fpcvalkyrie/src/vsdlsound.pas
$0000000000482F3D line 313 of src/doomio.pas
$000000000046C131 line 228 of src/doombase.pa`

Containment Area is conquered status

Containment Area is considered conquered by killing all the enemies, but the game doesn't check that the trap has been activated, allowing the player to possibly skip it. This could be changed by just adjusting the code.

Quit/suicide message mentions Windows

If you quit the game with Q, one of the possible "security questions" mentions Windows.

But this game works for other OSes as well now. I suggest to drop this message completely.

Version: 0.9.9.7 on GNU/Linux.

How to make the GNU/Linux binary?

I have been trying with:

$ fpcmake
Processing Makefile.fpc
 x86_64-linux requires: 
 Writing Makefile
$ make
Makefile:197: *** The Makefile doesn't support target x86_64-all, please run fpcmake first.  Stop.

And with:

$ bash mk_unix_dist.sh 666 linux ""
cp: cannot stat ‘../bin/musicmp3.lua’: No such file or directory
cp: cannot stat ‘../bin/musiccdmp3.lua’: No such file or directory

But it is not.

Tristar/Firestorm interaction

Tristar Blaster accepts Firestorm Pack, but it does nothing. "I'd say either prevent it, or make it add to the splash damage (which shouldn't get to be overpowered, even with three of them, as the ammo consumption is a lot)."

Compiling on OpenBSD

Hi,

I'm trying to build doomrl on OpenBSD/amd64 -current. I took the approach from the current archlinux -git pkgbuild by invoking lazbuild to get makewad built (I get the same result when building from lazarus ide). The current blocking issue I have is missing idea unit:

/usr/local/pobj/doomrl/fpcvalkyrie/src/vdf.pas(27,52) Fatal: (10022) Can't find unit idea used by vdf

Does anyone have any ideas where this compilation unit should come from? I don't see it in the fpcvalkyrie and doomrl code bases?

Full transcript of a build:

===>  Checking files for doomrl
`/usr/ports/distfiles/doomrl-0.9.9.7.tar.gz' is up to date.
`/usr/ports/distfiles/doomrl-linux-i386-0997.tar.gz' is up to date.
`/usr/ports/distfiles/fpcvalkyrie.tar.gz' is up to date.
>> (SHA256) doomrl-0.9.9.7.tar.gz: OK
>> (SHA256) doomrl-linux-i386-0997.tar.gz: OK
>> (SHA256) fpcvalkyrie.tar.gz: OK
===>  Extracting for doomrl
mv /usr/local/pobj/doomrl/fpcvalkyrie-bb4d7d35c4ce7d1464d1ea739738dc08e8745af4  /usr/local/pobj/doomrl/fpcvalkyrie
===>  Patching for doomrl
===>  Configuring for doomrl
===>  Building for doomrl
cd /usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2 &&  lazbuild "src/makewad.lpi"
TProject.DoLoadStateFile Statefile not found: /usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/tmp/makewad.compiled
Info: (lazarus) Execute Title="Compile Project, Target: /usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/bin/makewad"
Info: (lazarus) Working Directory="/usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/src/"
Info: (lazarus) Executable="/usr/local/bin/fpc"
Info: (lazarus) Param[0]="-B"
Info: (lazarus) Param[1]="-MObjFPC"
Info: (lazarus) Param[2]="-Scgi"
Info: (lazarus) Param[3]="-Cg"
Info: (lazarus) Param[4]="-O1"
Info: (lazarus) Param[5]="-g"
Info: (lazarus) Param[6]="-gl"
Info: (lazarus) Param[7]="-l"
Info: (lazarus) Param[8]="-vewnhibq"
Info: (lazarus) Param[9]="-Fu/usr/local/pobj/doomrl/fpcvalkyrie/src"
Info: (lazarus) Param[10]="-Fu/usr/local/pobj/doomrl/fpcvalkyrie/libs"
Info: (lazarus) Param[11]="-Fu/usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/src/"
Info: (lazarus) Param[12]="-FU/usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/tmp/"
Info: (lazarus) Param[13]="-FE/usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/bin/"
Info: (lazarus) Param[14]="makewad.pas"
Hint: (11030) Start of reading config file /etc/fpc.cfg
Hint: (11031) End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 3.0.0 [2017/02/04] for x86_64
Copyright (c) 1993-2015 by Florian Klaempfl and others
(1002) Target OS: OpenBSD for x86-64
(3104) Compiling makewad.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vpkg.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vnode.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vmsg.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vutil.pas
/usr/local/pobj/doomrl/fpcvalkyrie/src/vutil.pas(793,21) Warning: (5043) Symbol "VFormat" is deprecated
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vdebug.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vlog.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vgenerics.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vnode.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vluatype.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/libs/vlualibrary.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vlibrary.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vos.pas
/usr/local/pobj/doomrl/fpcvalkyrie/src/vos.pas(12,29) Hint: (5024) Parameter "URL" not used
/usr/local/pobj/doomrl/fpcvalkyrie/src/vlibrary.pas(59,16) Hint: (4055) Conversion between ordinals and pointers is not portable
/usr/local/pobj/doomrl/fpcvalkyrie/src/vlibrary.pas(33,6) Hint: (5023) Unit "vos" not used in vlibrary
/usr/local/pobj/doomrl/fpcvalkyrie/libs/vlualibrary.pas(303,84) Hint: (3187) C arrays are passed by reference
/usr/local/pobj/doomrl/fpcvalkyrie/libs/vlualibrary.pas(374,25) Hint: (5024) Parameter "aPath" not used
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vluaext.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vvector.pas
/usr/local/pobj/doomrl/fpcvalkyrie/src/vluaext.pas(455,49) Hint: (5057) Local variable "lnumber" does not seem to be initialized
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vluasystem.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vsystem.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vlua.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vdf.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vgenerics.pas
(3104) Compiling /usr/local/pobj/doomrl/fpcvalkyrie/src/vstream.pas
/usr/local/pobj/doomrl/fpcvalkyrie/src/vgenerics.pas(28,26) Hint: (5024) Parameter "aItem" not used
/usr/local/pobj/doomrl/fpcvalkyrie/src/vgenerics.pas(178,26) Hint: (5024) Parameter "aItem" not used
/usr/local/pobj/doomrl/fpcvalkyrie/src/vgenerics.pas(266,26) Hint: (5024) Parameter "aItem" not used
/usr/local/pobj/doomrl/fpcvalkyrie/src/vdf.pas(27,52) Fatal: (10022) Can't find unit idea used by vdf
Fatal: (1018) Compilation aborted
Error: /usr/local/bin/ppcx64 returned an error exitcode
Error: (lazarus) Compile Project, Target: /usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/bin/makewad: stopped with exit code 256
ERROR: failed compiling of project /usr/local/pobj/doomrl/doomrl-0cbac80cf34d2efbe0413611e1d82dabdd3acba2/src/makewad.lpi

Spider Mastermind partial win crash

As per forum post by user "sauer2":

The game (sometimes) crashes when you die with an active nuke on the mastermind's level. So far I've found it happens fairly consistently if I deploy the nuke and then immediately die from mastermind fire.

The exact crash line varies but is most often line 1414 of ai.lua which reads:

self.scount = energy

but any line that references 'self' will cause the engine to derail. The mastermind is dead as is the player; by this point there is no self.

I briefly played with the judicious use of __ptr checking--it seemed to work but that's not the answer. The engine should not be running at checks on a dead being; most likely it's some weird issue resulting from partial wins being a bit of a special case in the engine. I'll look at it when I can.

Title screen shows wrong version number

On the title screen (the first screen after you launch the game), the version number is shown twice, but they don't agree.

In the center of the title screen it says "Doom Roguelike 0.9.9.7" which I believe is the correct version number.
But in the top left corner it is "DOOMRL VERSION 0.9.9.76". This seems like a typo.

Tested in DoomRL 0.9.9.7 (version number according to Arch Linux package).

Dragonslayer/Berserker demon spawn

"When wielding Dragonslayer and Berserker Armor, if there are no tiles for Nightmare Demons to spawn on, you receive an error message. This is common with flood levels where only the stair tiles remain. I assume this just requires a check of some kind."

Starting from a symbolic link causes doomrl to be unable to find config.lua - Ubuntu 16.10

From website download version 0.997 Works fine when running from original unzipped folder. If I create a symbolic link to doomrl in say /usr/bin or /usr/games, game is unable to find config.lua and crashes.

Edit: After playing around with it for a while, I think you can only call it from the parent directory with ./doomrl. You can't call it with an absolute path name even. Right now, I've made a script to cd /dir/to/doom/ && ./doomrl but surely there's some kind of relative paths in the code that's preventing normal function.

This is the error output:

xxxxxxxxxxxxxx:~$ /games/doomrl-linux-x64-0997/doomrl



Abnormal program termination!

Reason : cannot open config.lua: No such file or directory

If this reason doesn't seem your fault, please submit a bug report at
http://forum.chaosforge.org/, be sure to include the last entries in
your error.log that will get created once you hit Enter.

An unhandled exception occurred at $0000000000579E5C :
ELuaException : cannot open config.lua: No such file or directory
  $0000000000579E5C line 140 of ../fpcvalkyrie/src/vluaconfig.pas
  $0000000000579F71 line 149 of ../fpcvalkyrie/src/vluaconfig.pas
  $0000000000574BB4 line 107 of src/doomconfig.pas
  $000000000046BFA5 line 221 of src/doombase.pas
  $00000000004285FA line 86 of src/doomrl.pas

xxxxxxxxxxxxx:~$ 

Note that I'm calling the absolute path to the doomrl file. Same result if I try any kind of symbolic link or shell scripts to the absolute path.

Music doesn't play in some special levels

In some levels, no music plays at all. It is always the "special" levels, i.e. levels you enter via red stairs like Phobos Lab, The Wall, etc. But it doesn't affect all special levels, some special levels have music, some others don't. I haven't found a pattern for this.

"Normal" levels are not affected by this, the music always plays correctly for them.

Tested in: DoomRL version 0.9.9.7 on GNU/Linux.

Apostole kill crash

"Killing the Apostle (at least in my experience) has always given me an error message. It hasn't done anything negative, but it looks a bit bad and can be worrying. It should be looked into and fixed."

Dotted lines across screen on OS X

On OS X 10.6.11, there are dotted lines across the screen. In windowed mode (800x600) they appear on the entire window. In full-screen, they reach the full height of the screen, but the lines appear to remain confined to 800px of width.

I e-mailed you about this already and learned that you will try to fix it after obtaining a newer Mac. I'm posting this issue in hopes that maybe someone in the community will be able to fix it.

image

Port to SDL2

  • needs new vsdl2 headers - possibly filtered for only what we'll need
  • will need help with the OSX version - possibly OpenGL upgrade is also needed
  • also needed SDL2 image and mixer - or do fmod on Linux also?

Error: Can't determine which overloaded function to call

So I've been trying to compile this on windows, and I followed the instructions number 4 where I got an error.

vconui.pas(411,20) Error: Can't determine which overloaded function to call`

I decided to skip this and just pull the wad files over from the game since I already had it downloaded, and I moved on and tried step 7 and got the same error.

This Min seems to be the problem, but I don't really know what to do here.

begin
  inherited RecalcDimensions;
  FVisibleCount := Min( Max(FCount, FVisibleCount), FAbsolute.h );
end;

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.