×
Create a new article
Write your page title here:
We currently have 190 articles on Open Eggbert. Type your article name above or click on one of the titles below and start writing!



Open Eggbert
190Articles

Open Eggbert: Difference between revisions

No edit summary
No edit summary
(21 intermediate revisions by the same user not shown)
Line 4: Line 4:
|-
|-
|'''Recreation of'''
|'''Recreation of'''
|Speedy Blupi/Eggbert I/II/1/2
|[[Speedy Blupi]]/[[Eggbert]] I/II/1/2
|-
|-
|'''Recreation type'''
|'''Recreation type'''
Line 10: Line 10:
|-
|-
! Author (person)
! Author (person)
| rowspan="3" | Robert Vokac
| rowspan="3" | [[Robert Vokac]]
|-
|-
! Developer (person)
! Developer (person)
Line 17: Line 17:
|-
|-
|'''Licence'''
|'''Licence'''
|GPL version 3 or later
|[[GPL]] version 3 or later
|-
|-
|'''Programming language'''
|'''Programming language'''
|Java 11
|[[Java]] 11
|-
|-
|'''Used libraries'''
|'''Used libraries'''
|LibGDX
|[[LibGDX]], [[Pixel Game Library]]
|-
|-
|'''Project launched'''
|'''Project launched'''
|In June 2024
|In June [[2024]]
|-
|-
|'''Development started'''
|'''Development started'''
Line 46: Line 46:
|https://github.com/openeggbert
|https://github.com/openeggbert
|-
|-
|'''Source code (mirror)'''
|''Source code (mirror)''
|https://code.openeggbert.com
|''https://code.openeggbert.com''
|-
|-
|'''Forum'''
|'''Forum'''
|https://forum.openeggbert
|https://forum.openeggbert.com
|-
|'''Report bugs and features'''
|https://issues.openeggbert.com
|-
|-
|'''Play online'''
|'''Play online'''
|https://play.openeggbert.com/
|https://play.openeggbert.com/
|-
|'''Play online (TeaVM)'''
|https://playt.openeggbert.com/
|-
|''Play online (test)''
|''https://test.openeggbert.com/''
|-
|''Play online (test, TeaVM)''
|''https://testt.openeggbert.com/''
|-
|-
|'''File storage'''
|'''File storage'''
|https://drive.openeggbert.com/
|https://drive.openeggbert.com/
|-
|-
|'''Google Drive'''
|''Google Drive(mostly not up to date)''
|[https://drive.google.com/drive/folders/1rl7DsmSbvNEMY0gkbIozwmQL1IgGb6Mk?usp=sharing https://drive.google.com/...]
|''[https://drive.google.com/drive/folders/1McjJgxzWKlCAwwE9Q9QA9-S42calCp_3?usp=drive_link https://drive.google.com/...]''
|-
|'''Maven artifacts'''
|https://repo.openeggbert.com
|-
|-
|'''Video storage'''
|'''Video storage'''
Line 68: Line 83:
|-
|-
|'''Related Youtube videos'''
|'''Related Youtube videos'''
|https://drive.openeggbert.com/youtube/
|https://youtube.openeggbert.com
|-
|-
|'''Related websites'''
|'''Related websites'''
|https://webs.openeggbert.com/websites.jsp
|[[Webs related to Speedy Blupi]]
|-
|'''Internet archive'''
|[[Internet archive]]
|-
|'''Archive (pywb)'''
|https://archive.openeggbert.com/main
https://archive.openeggbert.com/internet
|-
|'''Archive of warc files'''
|https://warc.openeggbert.com
https://warc2.openeggbert.com
|-
|''Pixel Game Library''
|''https://pixelgamelibrary.com''
|-
|-
|'''Blupi'''
|''Blupi''
|https://blupi.net/
|''https://blupi.net/''
|-
|-
|Speedy Blupi
|''Speedy Blupi''
|https://speedyblupi.com
|''https://speedyblupi.com''
|-
|-
|Speedy Eggbert
|''Speedy Eggbert''
|https://speedyeggbert.com
|''https://speedyeggbert.com''
|}
|}


Line 86: Line 115:
[[File:Open-eggbert-logo.jpg|frame|This is original image of Open Eggbert created by Robert Vokáč]]'''[[Open Eggbert]]''' is a '''free''' and '''open-source''' recreation of '''Speedy Blupi I/II''' computer game.
[[File:Open-eggbert-logo.jpg|frame|This is original image of Open Eggbert created by Robert Vokáč]]'''[[Open Eggbert]]''' is a '''free''' and '''open-source''' recreation of '''Speedy Blupi I/II''' computer game.


Multiple platforms are supported: Windows, Linux, MacOS, Android, Web (via GWT)
Multiple platforms are supported: [[Windows]], [[Linux]], [[MacOS]], [[Android]], [[Web]] (via [[GWT]])


== Relation to Speedy Blupi ==
== Relation to Speedy Blupi ==
'''Open Eggbert''' is an approximation of the Speedy Blupi engine.
'''Open Eggbert''' is an approximation of the [[Speedy Blupi]] engine.


'''Open Eggbert''' does not have a '''Clock cycle wise''' identical behaviour as '''Speedy Blupi,''' because to reach such goal is not possible without the source code of Speedy Blupi engine.
'''Open Eggbert''' does not have a '''Clock cycle wise''' identical behaviour as '''Speedy Blupi,''' because to reach such goal is not possible without the source code of Speedy Blupi engine. ''(Update: Thanks to the decompilation project the clock cycle wise identical behaviour may be possible)''


However, the player should not be able find out, whether he is playing Speedy Blupi game created by Daniel Roux or Open Eggbert (the reimplementation)
However, the player should not be able find out, whether he is playing Speedy Blupi game created by [[Daniel Roux]] or Open Eggbert (the [[reimplementation]])


== Why Open Eggbert was created ==
== Why Open Eggbert was created ==


* Both the games '''Speedy Blupi I''' and '''Speedy Blupi II''' are '''closed-source'''.
* Both the games '''Speedy Blupi I''' and '''Speedy Blupi II''' are '''closed-source'''.
* Modifications of Speedy Blupi are possible only by hex editing of the EXE files
* Modifications of Speedy Blupi are possible only by hex editing of the [[EXE]] files
* Bugs in Speedy Blupi cannot be fixed
* [[Bugs]] in Speedy Blupi cannot be fixed
* Existing features of Speedy Blupi cannot be improved
* Existing features of Speedy Blupi cannot be improved
* New features cannot be added to Speedy Blupi
* New features cannot be added to Speedy Blupi
Line 110: Line 139:


# Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games.
# Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games.
# Open Eggbert does not plan to support iPhone. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and  then add iPhone support.
# Open Eggbert does not plan to support [[iPhone]]. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and  then add iPhone support.


== How to contribute ==
== How to contribute ==
If you would like to help in some way, you can send a message to: '''info@openeggbert.com'''
'''Development:''' https://github.com/openeggbert
 
'''Documentation:''' https://openeggbert.com
 
* registration is needed for changes
 
'''Forum:''' https://forum.openeggbert.com
 
* registration is needed for adding new posts
 
'''Report bugs, propose features (new or improvements):''' https://issues.openeggbert.com
 
* registration is needed to report bugs or features
* you need to send an e-mail message to bugzilla-admin@openeggbert.com to create new account at https://issues.openeggbert.com
 
 
You can send a message to: '''info@openeggbert.com'''


List of Projects includes what is planned to be worked on: https://openeggbert.com/title/Projects
List of Projects includes what is planned to be worked on: https://openeggbert.com/title/Projects
Line 143: Line 188:
=== Forum ===
=== Forum ===
https://forum.openeggbert.com
https://forum.openeggbert.com
'''Note: Forum was not yet created'''
* Discuss the Open Eggbert project
* Discuss the Open Eggbert project


=== Create free replacements for game assets (like MIDI music, WAV sounds, BMP graphics) ===
=== Create free replacements for game assets (like MIDI music, WAV sounds, BMP graphics) ===
* MIDI music, WAV sounds, BMP graphics
* [[MIDI]] music, [[WAV]] sounds, [[BMP]] graphics
* Applications like Gimp, Inkscape and Blender can be used to achieve these goals
* Applications like [[Gimp]], [[Inkscape]] and [[Blender]] can be used to achieve these goals
* 3D sprites for Speedy Blupi were created using the Ray Dream Studio 3D application
* 3D sprites for Speedy Blupi were created using the Ray Dream Studio 3D application
* Music for Speedy Blupi was created using the Microsoft Music Producer application
* Music for Speedy Blupi was created using the [[Microsoft Music Producer]] application
* Sounds - Original sounds may be the own recordings of the voice of Daniel Roux
* Sounds - Original sounds may be the own recordings of the voice of Daniel Roux


Line 178: Line 221:
# Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux
# Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux
== Legacy mode ==
== Legacy mode ==
If legacy mode is enabled in CONFIG.DEF, then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux.
If legacy mode is enabled in [[CONFIG.DEF]], then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux.


If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated
If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated
Line 276: Line 319:
#* F7: Speed 4x
#* F7: Speed 4x
#* F8: Speed 8x
#* F8: Speed 8x
# Language localization. Language can be switched during the game is running - without start. New language localizations can be created.
# Improve the Tutorial level. Inspire by Speedy Blupi for Windows Phone


== Name origin ==
== Name origin ==
Its name is not "Open Blupi", because "Blupi" is the registered trademark of Epsitec company.<ref>https://branddb.wipo.int/en/quicksearch/brand/CH501993000002322?sort=score%20desc&start=0&rows=30&asStructure=%7B%22_id%22:%2253d3%22,%22boolean%22:%22AND%22,%22bricks%22:%5B%7B%22_id%22:%2253d4%22,%22key%22:%22brandName%22,%22value%22:%22blupi%22,%22strategy%22:%22Simple%22%7D%5D%7D&_=1718551274937&fg=_void_&i=6</ref>
Its name is not "Open Blupi", because "Blupi" is the registered trademark of [[Epsitec]] company.<ref>https://branddb.wipo.int/en/quicksearch/brand/CH501993000002322?sort=score%20desc&start=0&rows=30&asStructure=%7B%22_id%22:%2253d3%22,%22boolean%22:%22AND%22,%22bricks%22:%5B%7B%22_id%22:%2253d4%22,%22key%22:%22brandName%22,%22value%22:%22blupi%22,%22strategy%22:%22Simple%22%7D%5D%7D&_=1718551274937&fg=_void_&i=6</ref>


Open is the first word in the name, because Open Eggbert is open-source.
Open is the first word in the name, because Open Eggbert is open-source.
Line 286: Line 331:
==References==
==References==
<references />
<references />
[[Category:Fan projects]]

Revision as of 16:19, 9 November 2024

Open Eggbert
Recreation of Speedy Blupi/Eggbert I/II/1/2
Recreation type Top down method
Author (person) Robert Vokac
Developer (person)
Publisher (person)
Licence GPL version 3 or later
Programming language Java 11
Used libraries LibGDX, Pixel Game Library
Project launched In June 2024
Development started On 3rd July 2024
Released date Not yet released
Development status Being developed (just the beginning)
E-mail contact info@openeggbert.com
Documentation https://openeggbert.com
Source code https://github.com/openeggbert
Source code (mirror) https://code.openeggbert.com
Forum https://forum.openeggbert.com
Report bugs and features https://issues.openeggbert.com
Play online https://play.openeggbert.com/
Play online (TeaVM) https://playt.openeggbert.com/
Play online (test) https://test.openeggbert.com/
Play online (test, TeaVM) https://testt.openeggbert.com/
File storage https://drive.openeggbert.com/
Google Drive(mostly not up to date) https://drive.google.com/...
Maven artifacts https://repo.openeggbert.com
Video storage https://videos.openeggbert.com
Youtube channel https://www.youtube.com/@OpenEggbert-e7t
Related Youtube videos https://youtube.openeggbert.com
Related websites Webs related to Speedy Blupi
Internet archive Internet archive
Archive (pywb) https://archive.openeggbert.com/main

https://archive.openeggbert.com/internet

Archive of warc files https://warc.openeggbert.com

https://warc2.openeggbert.com

Pixel Game Library https://pixelgamelibrary.com
Blupi https://blupi.net/
Speedy Blupi https://speedyblupi.com
Speedy Eggbert https://speedyeggbert.com

Introduction

This is original image of Open Eggbert created by Robert Vokáč

Open Eggbert is a free and open-source recreation of Speedy Blupi I/II computer game.

Multiple platforms are supported: Windows, Linux, MacOS, Android, Web (via GWT)

Relation to Speedy Blupi

Open Eggbert is an approximation of the Speedy Blupi engine.

Open Eggbert does not have a Clock cycle wise identical behaviour as Speedy Blupi, because to reach such goal is not possible without the source code of Speedy Blupi engine. (Update: Thanks to the decompilation project the clock cycle wise identical behaviour may be possible)

However, the player should not be able find out, whether he is playing Speedy Blupi game created by Daniel Roux or Open Eggbert (the reimplementation)

Why Open Eggbert was created

  • Both the games Speedy Blupi I and Speedy Blupi II are closed-source.
  • Modifications of Speedy Blupi are possible only by hex editing of the EXE files
  • Bugs in Speedy Blupi cannot be fixed
  • Existing features of Speedy Blupi cannot be improved
  • New features cannot be added to Speedy Blupi
  • No one has yet appeared to start a project to create a recreation (reimplementation) of Speedy Blupi I/2.

Advantages of Open Eggbert

New features can be added. Existing features can be improved. Found bugs can be fixed. Game can be ported to new platforms.

Notes

  1. Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games.
  2. Open Eggbert does not plan to support iPhone. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and then add iPhone support.

How to contribute

Development: https://github.com/openeggbert

Documentation: https://openeggbert.com

  • registration is needed for changes

Forum: https://forum.openeggbert.com

  • registration is needed for adding new posts

Report bugs, propose features (new or improvements): https://issues.openeggbert.com

  • registration is needed to report bugs or features
  • you need to send an e-mail message to bugzilla-admin@openeggbert.com to create new account at https://issues.openeggbert.com


You can send a message to: info@openeggbert.com

List of Projects includes what is planned to be worked on: https://openeggbert.com/title/Projects

We can organize online meetings, share screens etc.

List of examples of possible contributions follows.

Development

https://github.com/openeggbert

  • Fork the repository, add a change and create a new merge request
  • Test features for bugs
  • Add missing tests
  • Report bugs
  • Propose new features
  • Implement bug fixes or feature requests from GitHub Issues

Once you've made your decision on what you'd like to do, please inform us beforehand. This ensures that the issue you're interested in hasn't already been addressed or is being worked on in newer versions.

Documentation

https://openeggbert.com

  • Create new articles or improve the existing ones. Correct errors, ambiguities and typos.
  • For example:
    • Identify the sprite positions using the application sprite-utils
    • Add help how to run and modify Speedy Blupi/Eggbert (Exagear, Wine, Windows Phone emulation or rooting, etc.)

Your changes will be made public, once approved. Verified users will be granted the right to public the changes immediately.

Reverse engineer EXE or XAP files of Speedy Blupi/Eggbert games.

Forum

https://forum.openeggbert.com

  • Discuss the Open Eggbert project

Create free replacements for game assets (like MIDI music, WAV sounds, BMP graphics)

  • MIDI music, WAV sounds, BMP graphics
  • Applications like Gimp, Inkscape and Blender can be used to achieve these goals
  • 3D sprites for Speedy Blupi were created using the Ray Dream Studio 3D application
  • Music for Speedy Blupi was created using the Microsoft Music Producer application
  • Sounds - Original sounds may be the own recordings of the voice of Daniel Roux

Game space

Game space is a directory with the defined structure.

Player has one or more game spaces.

Each game space has a feature level.

Game space can be cloned. You can have several game spaces with the same Feature level.

Feature level

Feature level represents set of features, which are supported in the given game space.

Open Eggbert behaves almost exactly like the original game version related to the Feature level.

Feature levels:

  1. Speedy Blupi Demo
  2. Speedy Blupi I
  3. Speedy Blupi II
  4. Speedy Eggbert Demo
  5. Speedy Eggbert VALUEWARE
  6. Speedy Eggbert 1
  7. Speedy Eggbert 2
  8. Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux

Legacy mode

If legacy mode is enabled in CONFIG.DEF, then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux.

If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated

The third possibility is to set the value of LegacyMode, which contains comma separated list of Open Eggbert only features, which will be additionally activated and supported. This means, that Legacy mode is enabled, but some Open Eggbert only features are activated.

  • For example disable cheat, even the game behaves like Speedy Eggbert I

Goals (projects)

See: Projects

Project A: CATCH: Collect all knowledge related to the Speedy Blupi game engine found on the Internet

Project B: SPECIFY: Create the ultimate specification of Speedy Blupi game engine and its related games, utilities, etc.

Project C: REMAKE: Reimplement the origin Speedy Blupi game engine

Project D: FREE IMAGES: Create free replacements of game images - Vector graphics - with Inkscape or an alternative - format BMP or PNG or JPEG

Project E: FREE SPRITES: Create free replacements of game sprites - 3D graphics - with Blender or an alternative - format BMP or PNG or JPEG

Project F: FREE MUSIC: Create free replacements of game music - format MP3 or OGG

Project G: FREE SOUNDS: Create free replacements of game sounds - format WAV or OGG

Project H: OPEN EGGBERT 3: Propose and implement new features with comparison to the Speedy Blupi game engine

Project I: ANALYSE: Analyse and document all the knowledge related to the Speedy Blupi game engine

Project J: STORE: Implement modding system and Open Eggbert Store - web application

Project K: MODS: Document mods for Speedy Blupi/Eggbert games (record videos, decribe levels, describe modded graphics/music/sounds

Project L: EXE: Reverse engineer the EXE files of Speedy Blupi/Eggbert game engines

Project M: PLUS: Decompile the C++ source code of Speedy Blupi/Eggbert

Project N: XAP: Reverse engineer the XAP file of Speedy Blupi for Windows Phone released in 2013

Project O: INFRA: Infrastructure

Development

New features with comparison to Speedy Blupi/Eggbert 1/2/I/II

  1. Recreation of game graphics (doubled resolution). New vehicles. Existing features will be improved.
  2. Open Eggbert Editor - new separate application, an alternative level editor. Features will be inspired by X-Edit, X-Edit-Mapper and BlupiEdit and tiled-blupi
  3. An alternative new Graphics - will be created and modeled probably with Blender and Gimp and Inkscape.
  4. New directories:
    • IMAGE24 - 24 bit graphics (BMP or PNG)
    • MAGE24X2 - 24 bit graphics with the double detailed resolution with the comparison to Speedy Blupi I/II
  5. Support for the following image file extensions: BLP, BMP, PNG
  6. Support for the following image music extensions: BLP, MIDI, OGG, MP3
  7. Support for the following image sound extensions: BLP, WAV, OGG, MP3
  8. Support for text mods (translations/alternative texts)
  9. Game play FPS: 60
  10. 24 bit color depth
  11. Resolution 1280x960, or possibly any resolution.
  12. New vehicles - ship, submarine, bike, line skates, ...
  13. New cheats
  14. Improved multiplayer mode. More than 4 Eggberts in the multiplayer. And others.
  15. Some bugs in Speedy Blupi/Eggbert 1/2/I/II won't exist (Unfortunately some new unwanted bugs will be introduced)
  16. Support for mods - external directories or compressed archives with:
    1. worlds in directory data (mandatory)
    2. alternative graphics in directories IMAGES08 or IMAGES16 or IMAGE24 OR IMAGES16X2 OR IMAGES24X2 (optional)
    3. alternative WAV sounds in directory SOUND
    4. alternative MIDI music in directory SOUND
  17. Use of artificial intelligence - for example to simulate other players for multiplayer or to simulate gameplay by the computer or to generate new worlds
  18. World generator (using computer algorithm or artificial intelligence)
  19. World size could be also: width=200 height=200
  20. Infinite worlds - provided by the world generator
  21. Limits will be changed: size and object limit in levels. This requires new file format - maybe EGT file name extension.
  22. Dream blocks will be back
  23. Possibility to forbid cheats
  24. Some ideas and features from Speedy Blupi for Windows Phone should also appear in the Open Eggbert
  25. Ideas:
    • Respawnable objects
    • Another/custom water colors
    • liana, ladder
    • different types of bombs
    • multi-station lifts with circle and shuttle mode - lifts with more than two checkpoints
    • editing levels on the fly (during the gameplay)
    • widescreen display mode
    • ice blocks, sliding ice blocks
  26. Mouse, key and touch presses can be shown in real time on screen (inspired by https://github.com/Jax-Core/Keystrokes https://gitlab.com/screenkey/screenkey https://linux.die.net/man/1/xev https://kbd-project.org/manpages/man1/showkey.1.html https://www.omgubuntu.co.uk/screenkey-show-key-presses-screen-ubuntu)
  27. New Eggbert colors - probably realized by some color manipulation of BMP or PNG files.
  28. Editing CONFIG.DEF will be possible via a new graphical interface in the game.
  29. Switching between fullscreen and window modes without the requiring to exit the game and then start again.
  30. It will be possible to switch between game spaces without exiting the game and starting again.
  31. New ways of control of the game:
    • white transparent buttons (similar to the Windows Phone version) on the touch screen
    • accelerometer (similar to the Windows Phone version) - available only on the Android version'
    • onscreen keyboard
  32. New keyboard shortcuts:
    • F7: Speed 4x
    • F8: Speed 8x
  33. Language localization. Language can be switched during the game is running - without start. New language localizations can be created.
  34. Improve the Tutorial level. Inspire by Speedy Blupi for Windows Phone

Name origin

Its name is not "Open Blupi", because "Blupi" is the registered trademark of Epsitec company.[1]

Open is the first word in the name, because Open Eggbert is open-source.

Speedy Eggbert is no more a registred trademark and this is reason, why the second word in the name is "Eggbert"

References