Coder Social home page Coder Social logo

icculus / serious-engine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from croteam-official/serious-engine

164.0 30.0 21.0 92.95 MB

An open source version of a game engine developed by Croteam for the classic Serious Sam games.

License: GNU General Public License v2.0

Python 0.02% Shell 0.01% C++ 80.10% C 16.51% Yacc 0.64% Lex 0.13% Clarion 1.23% Batchfile 0.01% Perl 0.01% HTML 0.01% Assembly 0.06% CMake 0.23% Rich Text Format 1.03%

serious-engine's Introduction

Serious Engine

========================

This is the source code for Serious Engine v.1.10, including the following projects:

  • DedicatedServer
  • Ecc The Entity Class Compiler, a custom build tool used to compile *.es files
  • Engine Serious Engine 1.10
  • EngineGUI Common GUI things for game tools
  • EntitiesMP All the entity logic
  • GameGUIMP Common GUI things for game tools
  • GameMP All the game logic
  • Modeler Serious Modeler
  • RCon Used to connect to servers using an admin password
  • SeriousSam The main game executable
  • SeriousSkaStudio Serious Ska Studio
  • WorldEditor Serious Editor
  • DecodeReport Used to decode crash *.rpt files
  • Depend Used to build a list of dependency files based on a list of root files
  • LWSkaExporter Exporter for use in LightWave
  • MakeFONT Used for generating *.fnt files
  • Shaders Compiled shaders
  • GameAgent The serverlist masterserver written in Python
  • libogg, libvorbis Third party libraries used for playing OGG-encoded ingame music (see http://www.vorbis.com/ for more information)

These have been modified to run correctly under the recent version of Windows. (Tested: Win7 x64, Win8 x64, Win8.1 x64)

Building

Windows

To build Serious Engine 1, you'll need Visual Studio 2013 or 2015, Professional or Community edition ( https://www.visualstudio.com/post-download-vs?sku=community ).

Do not use spaces in the path to the solution.

Once you've installed Visual Studio and (optionally) DirectX8 SDK, you can build the engine solution (/Sources/All.sln). Press F7 or Build -> Build solution. The libraries and executables will be put into \Bin\ directory (or \Bin\Debug\ if you are using the Debug configuration).

Linux

Setting up the repository

Type this in your terminal:

git clone https://github.com/rcgordon/Serious-Engine.git
cd Serious-Engine

Copy official game data (optional)

If you have access to a copy of the game (either by CD or through Steam), you can copy the *.gro files from the game directory to the repository.

Building (only for SS:TSE)

Type this in your terminal:

Sources/build-linux64.sh            # use build-linux32.sh for 32-bits
cp Sources/cmake-build/ssam Bin/
cp Sources/cmake-build/Debug/* Bin/Debug/

Building (only for SS:TFE)

Same as SS:SE, but note the following:

  • Before running build-linux64.sh, modify the file by passing -DTFE=TRUE to cmake.

  • After building, you need to copy 'ssam**-tfe**' instead of 'ssam', as shown:

    cp Sources/cmake-build/ssam-tfe Bin/
    

Running

Type this in your terminal:

Bin/ssam

(or ssam-tfe if you are running TFE)

Optional features

DirectX support is disabled by default. If you need DirectX support you'll have to download DirectX8 SDK (headers & libraries) ( http://files.seriouszone.com/download.php?fileid=759 or https://www.microsoft.com/en-us/download/details.aspx?id=6812 ) and then enable the SE1_D3D switch for all projects in the solution (Project properties -> Configuration properties -> C/C++ -> Preprocessor -> Preprocessor definitions -> Add "SE1_D3D" for both Debug and Release builds). You will also need to make sure the DirectX8 headers and libraries are located in the following folders (make the folder structure if it's not existing yet):

  • /Tools.Win32/Libraries/DX8SDK/Include/..
  • /Tools.Win32/Libraries/DX8SDK/Lib/..

MP3 playback is disabled by default. If you need this feature, you will have to copy amp11lib.dll to the '\Bin' directory (and '\Bin\Debug' for MP3 support in debug mode). The amp11lib.dll is distributed with older versions of Serious Sam: The First Encounter.

3D Exploration support is disabled in the open source version of Serious Engine 1 due to copyright issues. In case if you need to create new models you will have to either use editing tools from any of the original games, or write your own code for 3D object import/export.

IFeel support is disabled in the open source version of Serious Engine 1 due to copyright issues. In case if you need IFeel support you will have to copy IFC22.dll and ImmWrapper.dll from the original game into the \Bin\ folder.

Running

This version of the engine comes with a set of resources (\SE1_10.GRO) that allow you to freely use the engine without any additional resources required. However if you want to open or modify levels from Serious Sam Classic: The First Encounter or The Second Encounter (including most user-made levels), you will have to copy the game's resources (.GRO files) into the engine folder. You can buy the original games on Steam, as a part of a bundle with Serious Sam Revolution ( http://store.steampowered.com/app/227780 )

When running a selected project, make sure its project settings on Debugging is set to the right command:

  • For debug: $(SolutionDir)..\Bin\Debug$(TargetName).exe`
  • For release: $(SolutionDir)..\Bin$(TargetName).exe` And its working directory: $(SolutionDir)..\

Common problems

Before starting the build process, make sure you have a "Temp" folder in your development directory. If it doesn't exist, create it. SeriousSkaStudio has some issues with MFC windows that can prevent the main window from being displayed properly.

License

Serious Engine is licensed under the GNU GPL v2 (see LICENSE file).

Some of the code included with the engine sources is not licensed under the GNU GPL v2:

  • zlib (located in Sources/Engine/zlib) by Jean-loup Gailly and Mark Adler
  • LightWave SDK (located in Sources/LWSkaExporter/SDK) by NewTek Inc.
  • libogg/libvorbis (located in Sources/libogg and Sources/libvorbis) by Xiph.Org Foundation

serious-engine's People

Contributors

aboyett avatar aron1024 avatar comicfans avatar danielgibson avatar dritanium avatar emlai avatar icculus avatar manuel-k avatar mattl avatar megaserg avatar notaz avatar ptitseb avatar ragora avatar rocketersalex avatar rohit-n avatar slawww avatar stevenc99 avatar yamagi avatar yamgent avatar zcaliptium 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

serious-engine's Issues

Unable to set custom resolution + Assertion Failed on Video menu

I know you guys are aware of the Assertion Failed on the video menu screen.
Id like to run at 720p since 1080p on my Tegra K1 has some frame rate drops in some places.
When updating the Game_startup.ini to I set :
sam_bFullScreen=1
sam_iScreenSize=1280
sam_iScreenSize=720
sam_iDisplayDepth=0
sam_iDisplayAdapter=0

and save it. It shows it selecting that resolution on startup but then some kind of autodetection algorithm bumps it up to 1080p. I verified this by setting 640x480 and the same thing. Shows on the window while going to full screen 640x480 but then renders at 1080p
Thanks in advance

this can be NULL - segmentation fault

I get a segmentation fault with the latest commits.

The assertion for (this != NULL) fails at Sources/Engine/Base/Anim.cpp:182. Ignoring this assertion, the code will proceed to crash.

lldb_log.txt

I looked at the commit that made the changes to this portion (5badefa). The compiler does not guard against function calls for NULL "objects" (the function executes anyway on inexistent objects). Therefore, even though the compiler is correct that 'this' pointer cannot be null in well-defined C++ code, the assumption that the code is well-defined in the first place is faulty.

I propose 2 different possible solutions:

  1. Either revert commit 5badefa, or
  2. Add a if statement to all affected method calls so that it checks that the object is not NULL first before calling its methods. I.e.

Before

// will call even if abc is NULL
abc->CallFunction();

After

// now no longer calls when abc is NULL
if (abc != NULL)
    abc->CallFunction();

The second solution is probably "proper" C++.

Note: I looked through the rest of the changes in the commit and some portions will require more work than adding one if statement. (E.g. CConsole::GetBufferSize() requires the value of 1 to be returned if this == NULL)

Rendering Bugs (when using -DUSE_I386_ASM=FALSE)

Sometimes the viewport is screwed up, like the camera is rotated by 90°, but only for part of the screen. It usually goes back to normal soon, and screws up again later.
I don't really know how to reproduce it, in TSE it happens sometimes early in the first level (on the path between the pond and the first building), sometimes a bit later (shortly after receiving the flamethrower) - but more often than not I can play for a long time and it doesn't happen at all.
If it has happened once it tends to happen again and again.

So far I have observed this with both 32 and 64bit builds on both Linux and OSX, but only when using USE_PORTABLE_C instead of x86 ASM - however this may even be coincidence as I didn't test with ASM as much.

I have seen this bug since I started toying with the Serious Engine on Linux (i.e. before my 64bit fixes), but only now I've been able to create screenshots:

sesam-gfxbug1
sesam-gfxbug2

Error when building on Linux

Hello, while trying to build on Manjaro 64bit, this problem occurred:

[ 71%] Built target EntitiesMPD
make: *** [Makefile:136: all] Ошибка 2

How to fix it?

UPD: Ошибка translates as error

net_iCompression==1 crashes

//uses the LZRW1 compressor algorithm by Ross Williams.

Game is both faster and more stable using zlib ==2 or really no networkmessage compression at all ==0.

Serious-Engine/Sources/Engine/Network/Compression.cpp
the issue seems to stem from line 311, 'p' does not get a memory area that is accessible. I'll work on a fresh gdb log after work if you need one.

BulletHitGrass.wav (No such file or directory)

I applied #56 to solve the assertion errors, but now I have a new problem when I try to start Serious Sam The First Encounter:

Cannot open file `/home/elia/Serious Sam The First Encounter/SoundsMP/Weapons/BulletHitGrass.wav` (No such file or directory) ()

Indeed there is no SoundsMP folder 😢

(Linux) Lots of assertions in the main menu

When you try to customize controls, I get an assertion from Sources/Engine/Base/Shell.cpp:704, then from line 675 then 689

it seems to be safe to click "always ignore", but this should probably still be investigated

Collision glitch

I had fun enjoying Serious Sam The Second Encounter until I reached the level where there is a rotating floor. When the floor begins its rotation, Sam sinks into floor and dies.

This assertion fails and seems to be related:

Assertion failure at CheckTriangleAgainstEdges (/home/elia/Progetti/Serious-Engine/Sources/Engine/Brushes/BrushTriangularize.cpp:530), triggered 1 time:
  'itbed->bed_pbvxVertex0 != tr_pbedBottom->bed_pbvxVertex0 ||itbed->bed_pbvxVertex1 != tr_pbedBottom->bed_pbvxVertex1'

Timer issue under certain circumstances.

VALLEY of the Kings Huge outdoor boss. After Killing him and he touches me while he is falling this happens, hitting ignore all continues the game:

Assertion failure at SetTimerAt (/home/user/Desktop/Serious-Engine/Sources/Engine/Entities/Entity.cpp:3798), triggered 1 time:
'0'

hits ignore

Assertion failure at AddTimer (/home/user/Desktop/Serious-Engine/Sources/Engine/World/World.cpp:369), triggered 1 time:
'penThinker->en_timeTimer>=_pTimer->CurrentTick()'

hits ignore

Assertion failure at HandleTimers (/home/user/Desktop/Serious-Engine/Sources/Engine/Network/SessionState.cpp:730), triggered 1 time:
'penTimer->en_timeTimer>tmCurrentTick-_pTimer->TickQuantum-0.0001f'
hits ignore

Let me know if I should send you guys more information on it or if it happens again.

GameAgent - list servers bugfix.

After compiling the code I notice that is not given a list of servers from the master server.
The fix is to move the five lines below conditions:

ifdef PLATFORM_WIN32

....

endif

patch
Variable _szBuffer need for adoption of a reply from the game server.
After fixing the server list is visible:

servers

And thank you for your great work

First encounter music (MP3 support)

TFE uses MP3 for music, unlike TSE which uses .ogg and is happy to use libogg and libvorbis.

It only works if an appropriate libamp11lib.so is available.
For 32bit Linux the one from icculus' original Linuxport work, for 64bit Linux not, obviously (and neither for other platforms like OSX or FreeBSD).

I just found the original source on archive.org: https://web.archive.org/web/20060203121222/http://marvin.cc.fer.hr/~elf/amp11lib/

I created a github repo with the source: https://github.com/DanielGibson/amp11lib

I haven't tried to build the source yet and I have no idea if it's 64bit-clean, but at least it's not lost anymore :-)

initialization of Uint8 in SDLInput.cpp

Compiling Sources/Engine/Base/SDL/SDLInput.cpp failes with:

/tmp/Serious-Engine-master/Sources/Engine/Base/SDL/SDLInput.cpp:727:12: error: cannot initialize a variable of type 'Uint8 *' (aka 'unsigned char *') with an rvalue of type 'const Uint8 *' (aka 'const unsigned char *')
    Uint8 *keystate = SDL_GetKeyboardState(NULL);

The declaration must be changed to:

    const Uint8 *keystate = SDL_GetKeyboardState(NULL);

Unable to start SSAM:TFE using data from Steam

When I try to start SSAM:TFE I get the following:

Cannot open file '/home/monreal/ssam-tfe/TexturesMP/General/MenuBack.tex' (No such file or directory) ()

I copied the following GRO-Files from my Steam-Installation: 1_00c.gro, 1_00c_Logo.gro, 1_00c_scripts.gro, 1_00_ExtraTools.gro, 1_00_music.gro, 1_04_patch.gro

I can start the game if I also copy SE1_00.gro from SSAM:TSE.

Can't Open libEntititesMP.so

After compiling the source code for Serious Sam: The Second Encounter, I found myself getting this issue after running ./ssam:
"Cannot initialize classes:
Cannot load DLL file 'home/user/Serious-Engine/Bin/libEntitiesMP.so'"

I have all .gro files from my Steam install of Serious Sam: TSE in the folder Serious-Engine.

Readme file specifies wrong directory to run Sources/build-linux64.sh

Issue: The script build-linux64.sh must actually be run from Sources, contrary to the readme file.

/home/martin/Games/Engines/SeriousEngine/Serious-Engine$ Sources/build-linux64.sh
Will build with 'make -j10' ... please edit this script if incorrect.
+ rm -rf cmake-build
+ mkdir cmake-build
+ cd cmake-build
+ cmake -DCMAKE_BUILD_TYPE=Debug ..
CMake Error: The source directory "/home/martin/Games/Engines/SeriousEngine/Serious-Engine" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

This is because the script assumes that is it being called with Source as CWD, but the readme says to call it from within Serious-Engine:

Sources/build-linux64.sh            # use build-linux32.sh for 32-bits

Changing CWD to Sources and calling build-linux64.sh from there makes cmake work correctly.

Also, looking at the scripts, they all appear to have the same issue.

Some problems with buildinng on linux

I started command Sources/build-linux64.sh and got this:
Will build with 'make -j4' ... please edit this script if incorrect.

rm -rf cmake-build

mkdir cmake-build

cd cmake-build

cmake -DCMAKE_BUILD_TYPE=Debug ..
CMake Error: The source directory "/Serious-Engine" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
Found CMakeLists.txt in "/Serious-Engine/Sources" and copy it to "/Serious-Engine".

After that restart command and got this:
Will build with 'make -j4' ... please edit this script if incorrect.

rm -rf cmake-build

mkdir cmake-build

cd cmake-build

cmake -DCMAKE_BUILD_TYPE=Debug ..
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:2 (project):
No CMAKE_CXX_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred!
See also "/Serious-Engine/cmake-build/CMakeFiles/CMakeOutput.log".
See also "/Serious-Engine/cmake-build/CMakeFiles/CMakeError.log".

Is there any possibility to fix that error?
P.S. Sorry for my English. This language isn't native for me.
I use Lubuntu 18.04 if this matter.

Crash in asm of AnimateFire

The 32 bit version of the game with asm enabled crashes every time when sound is working when a level is loaded (either the demo that starts after the logo or when starting a new game). Sometimes the game starts without sound (with a "ALSA lib pcm_dmix.c:1079:(snd_pcm_dmix_open) unable to open slave" message) and it doesn't crash.

I don't see the connection between AnimateFire and sound, but it's my first look at the code.

Stacktrace:

#0  0x0824b4f0 in AnimateFire (slDensity=15) at /redacted/Serious-Engine/Sources/Engine/Graphics/TextureEffects.cpp:3033
#1  0x0824c263 in AFire () at /redacted/Serious-Engine/Sources/Engine/Graphics/TextureEffects.cpp:3296
#2  0x0824b944 in CTextureEffectGlobal::Animate (this=0xb812c20) at /redacted/Serious-Engine/Sources/Engine/Graphics/TextureEffects.cpp:3435
#3  0x08240263 in CTextureData::SetAsCurrent (this=0xb812ca8, iFrameNo=0, bForceUpload=0)
    at /redacted/Serious-Engine/Sources/Engine/Graphics/Texture.cpp:1252
#4  0x08200d96 in SetCurrentTexture (ptd=0xb812ca8, iFrame=0) at /redacted/Serious-Engine/Sources/Engine/Models/RenderModel_View.cpp:125
#5  0x08207328 in CModelObject::RenderModel_View (this=0xc789280, rm=...) at /redacted/Serious-Engine/Sources/Engine/Models/RenderModel_View.cpp:2212
#6  0x08219ee0 in CModelObject::RenderModel (this=0xc789280, rm=...) at /redacted/Serious-Engine/Sources/Engine/Models/RenderModel.cpp:601
#7  0x082c7d6c in CRenderer::RenderOneModel (this=0x8490640 <_areRenderers>, en=..., moModel=..., plModel=..., fDistanceFactor=10,7842741, bRenderShadow=1, ulDMFlags=27)
    at /redacted/Serious-Engine/Sources/Engine/Rendering/RenderModels.cpp:436
#8  0x082c89b1 in CRenderer::RenderModels (this=0x8490640 <_areRenderers>, bBackground=0)
    at /redacted/Serious-Engine/Sources/Engine/Rendering/RenderModels.cpp:652
#9  0x082cfe25 in CRenderer::DrawToScreen (this=0x8490640 <_areRenderers>) at /redacted/Serious-Engine/Sources/Engine/Rendering/Render.cpp:611
#10 0x082d0de5 in CRenderer::Render (this=0x8490640 <_areRenderers>) at /redacted/Serious-Engine/Sources/Engine/Rendering/Render.cpp:879
#11 0x082d1651 in RenderView (woWorld=..., enViewer=..., prProjection=..., dpDrawport=...)
    at /redacted/Serious-Engine/Sources/Engine/Rendering/Render.cpp:984
#12 0xf6314604 in CPlayer::RenderPlayerView (this=0xc23adb8, pdp=0xffd66884, bShowExtras=1) at /redacted/Serious-Engine/Sources/EntitiesMP/Player.es:2521
#13 0xf631549b in CPlayer::RenderGameView (this=0xc23adb8, pdp=0xf61142c0 <adpDrawPorts>, pvUserData=0x1)
    at /redacted/Serious-Engine/Sources/EntitiesMP/Player.es:2708
#14 0xf60f3cd4 in CGame::GameRedrawView (this=0x97aa030, pdpDrawPort=0x98d5890, ulFlags=1) at /redacted/Serious-Engine/Sources/GameMP/Game.cpp:2302
#15 0x0835879d in DoGame () at /redacted/Serious-Engine/Sources/SeriousSam/SeriousSam.cpp:788
#16 0x08359e83 in SubMain (hInstance=0x0, hPrevInstance=0x0, lpCmdLine=0x946b080 "", nCmdShow=0)
    at /redacted/Serious-Engine/Sources/SeriousSam/SeriousSam.cpp:1299
#17 0x0835a0e2 in CommonMainline (hInstance=0x0, hPrevInstance=0x0, lpCmdLine=0x946b080 "", nCmdShow=0)
    at /redacted/Serious-Engine/Sources/SeriousSam/SeriousSam.cpp:1374
#18 0x0835a240 in main (argc=1, argv=0xffd66eb4) at /redacted/Serious-Engine/Sources/SeriousSam/SeriousSam.cpp:1492

load plugin didn't consider MP suffix

linux debug build , TFE=false
will build
libEntitiesMPD.so
libGameMPD.so
libShadersD.so
(I've found CMakeLists.txt:631 only SHADERSLIB didn't append MP suffix, is this correct ?)

but when run game engine, it reports didn't found file libEntitiesD.so

which comes from EntityClass.cpp:242

    #ifndef NDEBUG
    fnmDLL = fnmDLL.FileDir()+"Debug\\"+fnmDLL.FileName()+_strModExt+"D"+fnmDLL.FileExt();
    #else
    fnmDLL = fnmDLL.FileDir()+fnmDLL.FileName()+_strModExt+fnmDLL.FileExt();
    #endif

this didn't consider MP suffix .

(OSX) Rendering problems

There are rendering problems in OSX, both 32bit and 64bit, both first and second encounter.
It's OSX 10.11.4 on a i7-4570R with Iris Pro graphics.

I also get an assertion failed (on startup in TFE, in the first level on TSE), from Grx_wrapper.cpp:154 pglGetError()==0.
Unfortunately I suck at using OSX and OpenGL, so it'd be cool if someone else could reproduce and debug the problem ;-)

tfe-bug
tse-bug

Separate versions for sdl1 and sdl2

Is it possible to define both sdl1 and sdl2 builds in your main branch? Or possibly keep a branch as an archive of the latest sdl1 version, along with any important recent updates?

Building on Linux fails

Compilation fails at 71%

/usr/include/SDL2/SDL_assert.h:145:19: note: in definition of macro ‘SDL_enabled_assert’
         while ( !(condition) ) { \
                   ^~~~~~~~~
/home/ralf/Serious-Engine/Sources/./Engine/Base/Assert.h:104:26: note: in expansion of macro ‘SDL_assert’
     #define ASSERT(expr) SDL_assert(expr)
                          ^~~~~~~~~~
/home/ralf/Serious-Engine/Sources/./Engine/Templates/StaticArray.cpp:129:3: note: in expansion of macro ‘ASSERT’
   ASSERT(&arOriginal!=NULL);
   ^~~~~~
[ 51%] Linking CXX shared library Debug/libEntitiesMPD.so
[ 71%] Built target EntitiesMPD
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Tried both 32 and 64 bit

Map screen missing?

I remember a map screen that was displayed before the start of the level.

On my system I get a black screen in its place. Is this a general problem of the linux version or is it a problem with my game files? I've only tried the gog version of TSE, but I've got the German CD release somewhere…

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.