Profile

Cover photo
78 followers|95,215 views
AboutPostsPhotosYouTube

Stream

Castle Game Engine

Shared publicly  - 
 
We're proud to present "Dragon Squash", new free beautiful arcade game for Android. Get it NOW from https://play.google.com/store/apps/details?id=net.sourceforge.castleengine.dragonsquash !

The game is developed by Michalis Kamburelis and Paweł Wojciechowicz (from https://www.facebook.com/studiosoda3d ). Using Castle Game Engine http://castle-engine.sourceforge.net/ in modern ObjectPascal.

Please try the game and share:)

#android #games #free
 ·  Translate
To jest TWOJE królestwo i TWÓJ tron. Ale smoki sądzą inaczej. Pokonaj je ws...
1
1
Michalis Kamburelis's profile photo
Add a comment...

Castle Game Engine

Shared publicly  - 
 
Play "Dragon Squash" for free on your Android device! https://play.google.com/store/apps/details?id=net.sourceforge.castleengine.dragonsquash

It is a nice casual game where you squash dragons (with magic!). Technically, the game is of course done using our Castle Game Engine, showcasing that you can integrate the engine with Google Play services (Google Games, biling for in-app purchases, advertisements, Google Analytics...). By Paweł Wojciechowicz ( http://studiosoda.pl/ ) and +Michalis Kamburelis .
To jest TWOJE królestwo i TWÓJ tron. Ale smoki sądzą inaczej. Pokonaj je ws...
3
1
Michalis Kamburelis's profile photo
Add a comment...

Castle Game Engine

Shared publicly  - 
 
New! Support for many texture compression methods on GPU, in particular for GPU compression formats popular on Android devices. And improvements to handle GPU compressed textures throughout the whole engine. This allows to squeeze much more texture data into a GPU memory on Android/iOS, and in general makes using GPU compressed textures much easier.

- New GPU compressed formats handled, see TGPUCompression enum type: http://michalis.ii.uni.wroc.pl/castle-engine-snapshots/docs/reference/html/CastleImages.html#TGPUCompression . We now cover popular compression formats on both OpenGL and OpenGL ES (Android, iOS). Previously we supported only S3TC.

- API improvements: All of previous S3TC-specific types and functions are extended to handle a much wider range of GPU compression types. And many more functions now accept GPU-compressed images, not just TCastleImage.

To use the compressed textures:

1. If you want to assume that the user graphic card will just be able to handle your GPU compression, then simply use the compressed textures.

They can be packed in DDS format. Be sure to flip them vertically (the engine can only automatically flip S3TC data, for the rest you have to manually flip them). We plan to implemt Khronos KTX format in the future to make this whole flipping mess obsolete.

2. To be prepared for various GPUs, you want to keep various versions of your textures (uncompressed, and maybe compressed with various algorithms). And use CastleImage.LoadImagePreprocess http://michalis.ii.uni.wroc.pl/castle-engine-snapshots/docs/reference/html/CastleImages.html#LoadImagePreprocess to redirect all image loading to use your compressed versions. Like the snippet below:

-------------------------
uses ...,
  CastleURIUtils, CastleGLUtils,
  CastleLog, CastleStringUtils,
  CastleFilesUtils, CastleWarnings;

procedure GPUTextureAlternative(var ImageUrl: string);
begin
  if IsPrefix(ApplicationData('animation/dragon/'), ImageUrl) then
  begin
    if GLFeatures = nil then
      OnWarning(wtMinor, 'GPUCompression', 'Cannot determine whether to use GPU compressed version for ' + ImageUrl + ' because the image is loaded before GPU capabilities are known') else
    if tcPvrtc1_4bpp_RGBA in
      GLFeatures.TextureCompression then
    begin
      ImageUrl :=
        ExtractURIPath(ImageUrl) +
        'compressed/pvrtc1_4bpp_rgba/' +
        ExtractURIName(ImageUrl) + '.dds';
      WritelnLog('GPUCompression',
        'Using compressed alternative ' + ImageUrl);
    end;
  end;
end;

initialization
  LoadImagePreprocess :=@GPUTextureAlternative;
end.
-------------------------

#gameengine #dds #pvrtc #atitc #gpu #texturecompression  
Description. Loading, saving, and processing of images (TCastleImage and friends). Storing images in the memory, loading and saving them from/to files in various formats, resizing, converting to grayscale, copying and merging, many other image operations — it's all here.
1
Add a comment...

Castle Game Engine

Shared publicly  - 
 
1. GPU texture memory profiler was added to the engine. This allows to easily see which textures are loaded to GPU and eat texture memory. Optimizing this is especially important on mobile devices (Android, iOS) where texture memory is quite limited. The profile gives you the knowledge which textures are worth optimizing (maybe scale them down, maybe compress for GPU, maybe remove alpha channel or convert to grayscale...).

The profiler counts the real texture size on GPU, taking into account that some textures are resized to power of 2, that textures may be compressed on GPU, that some textures have mipmaps and so on. All kinds of textures (2D, 3D, cubemaps, float, depth etc.) are covered. Every type is reported --- loaded from files, generated (like by GeneratedCubeMapTexture), embedded in code (by embedding images or fonts in code)... The textures loaded from disk are described by URL, for other textures we invent special URLs like "embedded-font:/CastleTextureFont_CanterBold_120", "embedded-image:/PanelSeparator", "generated:/GeneratedCubeMapTexture(GenTex2)".

Enable the profiler by simple

  TextureMemoryProfiler.Enabled := true
 
at the very beginning of the application (e.g. in the main unit initialization clause). Then, after loading your game, get TextureMemoryProfiler.Summary, like this:

  WritelnLog('Textures', 'Textures using GPU memory:' + TextureMemoryProfiler.Summary);
 
You can also use the profiler from view3dscene, run it with "--debug-texture-memory" command-line option, load your 3D model and then use new menu option "Console -> Print Texture Memory Usage".

2. Other new engine API: new class to manage UI state (TCastleUIState), new types THorizontalPosition and TVerticalPosition and TRectangle.Align methods.

Enjoy new features:)
1
1
Michalis Kamburelis's profile photo
Add a comment...

Castle Game Engine

Shared publicly  - 
1
Add a comment...

Castle Game Engine

Shared publicly  - 
 
Castle Game Engine version 5.1.2 was just released! Get if from http://castle-engine.sourceforge.net/engine.php .

This release brings a couple of fixes and improvements to the engine:

1. TCastleControl has 9 new useful events published (for documentation of them, see TUIContainer class):

  OnOpen: TNotifyEvent
  OnClose: TNotifyEvent
  OnBeforeRender: TNotifyEvent
  OnRender: TNotifyEvent
  OnResize: TNotifyEvent
  OnPress: TControlInputPressReleaseEvent
  OnRelease: TControlInputPressReleaseEvent
  OnMotion: TControlInputMotionEvent
  OnUpdate: TNotifyEvent

  These should be used to watch open/close of the context, to watch key/mouse events and to perform continous updates.

  Some previous published stuf is deprecated now and will be removed in next release (sorry, we have to break compatibility --- this old stuff really doesn't make much sense, all new code should use new events). Also, the deprecated OnPaint was fixed --- just in case you're using it (but please switch to using OnRender soon!).

2. Tutorial:
* The beginning of the tutorial is much improved, it's smoother and shorter now. The goal is to be able to make a 3D game in 5 minutes using the tutorial!
* Also, the tutorial chapter "Adding a simple moving object" was added: http://castle-engine.sourceforge.net/tutorial_castle_scene_transform.php .

3. You can save almost 0.7 MB from exe size by undefining CASTLE_EMBED_ALL_3D_FONT_VARIATIONS in some cases, see src/base/castleconf.inc for comments.
4. Various testsuite fixes and improvements.
5. Improved CastleCurves API, and also mark most of it as deprecated.

6. The website got a total facelift, using HTML5 and Bootstrap style. Various pages and menus were rearranged to be more helpful. I hope you enjoy the new website --- please leave a note in the comments :)
2
1
Michalis Kamburelis's profile photo
Add a comment...
In their circles
5 people
Have them in circles
78 people
Lorinc Del Motte's profile photo
Celâl Emre ÖZ's profile photo
Share3dvn Group's profile photo
Ricardo Dos Santos's profile photo
leandro pezzente's profile photo
Kenny Poston's profile photo
Szymon Stoma's profile photo
Martin Zhel's profile photo
Mistmare Razvy's profile photo

Castle Game Engine

Shared publicly  - 
 
Here's a bunch of cool things added to our engine lately:)

1. Great new icons for component palette from Eugene Loza. Many thanks!

Check out Eugene's project using Castle Game Engine: Project Helena, https://sourceforge.net/projects/projecthelena/ . See a "let's play" video: https://www.youtube.com/watch?v=Nh38Gme59-Q , https://www.youtube.com/watch?v=kfc-QtcCpmU .

2. Encrypt/decrypt XML data using BlowFish. Simply use BlowFishKeyPhrase parameter to URLReadXML, URLWriteXML, or use BlowFishKeyPhrase property of TCastleConfig. This allows to encrypt your XML data, for example to prevent cheaters from easily modifyng your game configuration variables in XML. It assumes that the particular value of BlowFishKeyPhrase you use is kept secret --- e.g. it's compiled and possibly obfuscated.

3. Added MaxSensibleSecondsPassed to Window.Fps.

4. CastleImages API cleanups and improvements --- By default use CASTLE_PNG_USING_FCL_IMAGE, this way we use fcl-image to read PNG files on all platforms, distributing libpng.dll/so/dylib is not necessary, and results are uniform on all platforms (standalone and Android, iOS). Deprecated TImage removed. Saving image using fcl-image is more versatile, it handles grayscale and grayscale+alpha now (since they are more common now, since CASTLE_PNG_USING_FCL_IMAGE is used consistently). Do not expose "image formats" enum (use MIME type from the outside always).

5. TCastleConfig.GetMultilineText utility.
1
Add a comment...

Castle Game Engine

Shared publicly  - 
 
We're proud to present "Project Helena", a turn-based strategy/RPG game using our Castle Game Engine, by Eugene Loza :) Download new version, with binaries for Windows, sources (for Windows, Linux etc.), video tutorial (in English & Russian) on https://sourceforge.net/projects/projecthelena/ !
1
1
Michalis Kamburelis's profile photo
Add a comment...

Castle Game Engine

Shared publicly  - 
 
We're proud to present another game done using Castle Game Engine:) This is an isometric RTS (real-time strategy) with some twists (command lines cannot cross). Available to download, for free, on http://michaliskambi.itch.io/hydra-battles --- for Windows, Android, Linux.

The game was created by Michalis Kamburelis during a 48h gamejam https://www.facebook.com/tsgcompo this weekend :) The full source code is available on https://github.com/michaliskambi/hydra-battles . Have fun!

#games #gamejam #opensource #freesoftware #gamedev  
3
2
Michalis Kamburelis's profile photoMarc Hanisch (dubst3pp4)'s profile photo
Add a comment...

Castle Game Engine

Shared publicly  - 
 
Integration with Google Play Game Services (leaderboards, achievements and more) on Android!. And biling (in-app purchases) on Android! And immersive mode (100% fullscreen  on Android 4.4)!

New option android_project was added to our build tool https://sourceforge.net/p/castle-engine/wiki/Build%20tool/ to support custom Java and manifest code in your Android project. We have a new game that actually uses this feature to integrate with Google Games to register highest scores (Google automatically makes a leaderboard from it), and achievements. Also it uses biling (in-app purchases) and immersive mode (100% fullscreen on Android 4.4)!
2
2
Michalis Kamburelis's profile photoMatteo Salvi (El Salvador)'s profile photo
Add a comment...
 
Castle Game Engine version 5.1.2 was just released! Get if from http://castle-engine.sourceforge.net/engine.php :)

This release brings a couple of fixes and improvements to the engine, and to the website too. Most important ones:

1. New useful published events on TCastleControl , like OnRender and OnUpdate.

2. Tutorial is more streamlined http://castle-engine.sourceforge.net/tutorial_intro.php , and a new tutorial page "Adding a simple moving object" http://castle-engine.sourceforge.net/tutorial_castle_scene_transform.php is added.

3. Website was redesigned using HTML5 and Bootstrap.

See http://castle-engine.sourceforge.net/news.php?id=2015-01-11 for more information :)

#FreePascal #ObjectPascal   #GameDevelopment 
An open-source 3D/2D game engine for ObjectPascal. We support of lot of 3D and 2D formats (VRML / X3D, Collada, Wavefront OBJ, MD3, Spine...),; we're portable to a lot of platforms (Linux, Windows, Mac OS X, Android, iOS...),; we provide optimized rendering with a lot of graphic effects, ...
3
Add a comment...

Castle Game Engine

Shared publicly  - 
 
Our website http://castle-engine.sourceforge.net/ was redesigned with modern style, using HTML5 and responsive Bootstrap! Welcome to 2015:) Go and try the new website now!
Also, YOUR SCREENSHOTS ARE WANTED! We want to create a separate page listing the engine features, decorated with nice screenshots. It will be based on the existing text under http://castle-engine.sourceforge.net/engine.php#section_features , but hopefully it will be much more attractive! If you have any screenshot showing your work with the engine (or just playing one of our games), please share it, in any way you like --- maybe post it here or on our forum: https://sourceforge.net/p/castle-engine/discussion/ . Thank you!

See the screenshots of our website below --- top shows "before", bottom shows "after" :)
1
1
Marc Hanisch (dubst3pp4)'s profile photoCastle Game Engine's profile photoMichalis Kamburelis's profile photo
3 comments
 
Also, our "Features" page was just separated from "Download and documentation" page, and it now hosts a small invitation to submit your screenshots showing your work with the engine :) Visit http://castle-engine.sourceforge.net/features.php !
Add a comment...
People
In their circles
5 people
Have them in circles
78 people
Lorinc Del Motte's profile photo
Celâl Emre ÖZ's profile photo
Share3dvn Group's profile photo
Ricardo Dos Santos's profile photo
leandro pezzente's profile photo
Kenny Poston's profile photo
Szymon Stoma's profile photo
Martin Zhel's profile photo
Mistmare Razvy's profile photo
Contact Information
Contact info
Email
Story
Tagline
3D and 2D game engine for modern Object Pascal. Focused on X3D and beautiful graphic effects. Also home of view3dscene - full-featured VRML/X3D browser.
Introduction
Castle Game Engine is an open-source (LGPL) 3D game engine for modern Object Pascal (using Free Pascal Compiler / Lazarus). We have many advanced graphic effects, like compositing shaders, shadows by various algorithms, advanced bump mapping, mirrors, screen effects by shaders, custom viewports and much more. Many 3D formats are supported, so you can use any 3D modeler to create game assets --- in particular we have an excellent support for an open X3D (VRML) data format.

The engine includes high-level 3D resources management (player, levels, items, creatures with ready AI) and low-level (so you can build, load, save and animate 3D objects however you like). We also have a sweet 2D API for drawing controls and for 2D games.

The engine website also hosts view3dscene - our full-featured VRML/X3D browser and a viewer for other 3D models. And various small games/demos using our engine.